[FFmpeg-user] Warning: VBV buffer size not set

Hans Carlson forbyta at gmx.com
Thu Dec 13 04:27:13 EET 2018


On Thu, 13 Dec 2018, Carl Eugen Hoyos wrote:

> 2018-12-13 0:57 GMT+01:00, Hans Carlson <forbyta at gmx.com>:
>>
>> So, I'll rephrase Ulf's original question... how do you avoid this 
>> warning while doing a stream COPY (remux)?
>
> You cannot, as the maximum bit-rate cannot be set when remuxing. The 
> muxer has to assume that your input confirms to the relevant 
> specification. Note that command lines without "-f" make it impossible 
> for ffmpeg to even understand which standard you want.

So why did re-muxing work fine without any warnings before this change?

   https://github.com/FFmpeg/FFmpeg/commit/079b5d4ef888bd42bf0147a6d964b8bc9ec0f3c5#diff-00823e6d5f4d3807869c905426e6bdd1

Prior to this change, the buffer size (along with other values) were 
copied from the decoding context and used for the encoding context.  This 
was done in ffmpeg.c:transcode_init() in an if statement specifically for 
stream_copy:

     2903   enc_ctx->bit_rate       = dec_ctx->bit_rate;
     2904   enc_ctx->rc_max_rate    = dec_ctx->rc_max_rate;
     2905   enc_ctx->rc_buffer_size = dec_ctx->rc_buffer_size;
     2906   enc_ctx->field_order    = dec_ctx->field_order;

   NOTE: Line numbers are based on rev: 079b5d4ef888bd42bf0147a6d964b8bc9ec0f3c5

Why is it now "impossible" to get that same information from the decoding 
context?

Forgive my ignorance, but from my perspective, it USED to work and now it 
doesn't work.


More information about the ffmpeg-user mailing list