Hi Art
I have found a solution to this problem which has involved making some
very minor changes to the captive source code in the libx264 and
ffmpeg source tree.
After seeking some advice on the libx264 users list I found that we
needed to re-init the encoder and ensure that the parameter
"b_repeat_headers" is always set. So re-initting the encoder
inherently starts the stream at an IDR frame,
which will involve sending new SPS/PPS as long as b_repeat_headers is
set.
So creating and opening a new IStreamCoder ensures that we re-init the
the encoder but I needed to be sure to set the b_repeat_headers. So l
made a few minor changes to libx264.c to ensure that it is always set
under ffmpeg source tree and common.c under libx264 source tree to
also ensure its always set. Re-built xuggler and tested it and it
worked well.
So my problem now is how best to incorporate this change into Xuggler/
ffmpeg going forward so that I can do this and keep up to date with
any xuggler changes. Also it would be good to have the ability to
turn this off and on as required.
libx264 does provide an option called "repeat-headers" that does just
this, however this option isnt exposed by ffmpeg and therefore isnt
exposed in Xuggler.
Could we get ffmpeg to expose this option just like they expose other
libx264 option e.g. "crf"? Or would you recommend another approach to
allow this to happen. I think other users would find this ability
very useful.
thanks for your patience
Declan
On Oct 22, 8:14 pm, Art Clarke <
acla...@xuggle.com> wrote:
> For FLV non H264 you're fine just opening a new streamcoder -- the FLV
> container format header doesn't actually contain anything about bit-rate.
>
> For H264 you'll need to do more, and frankly I'm not the best expert at the
> currently.
>
> - Art
>