2015-11-09 3 views
2

Я не могу понять, что такое VBV (Verification Video Buffering Verifier) ​​и какие отношения у него есть с maxrate.
Когда я использую эту команду:Что такое VBV (верификатор буферизации видео) в H.264?

ffmpeg -i input.mp4 -crf 21 -maxrate 750k -bufsize 750k -codec:v:0 libx264 -s 640x360 -r 30 output.mp4 

output.mp4 видео имеют битрейт около 730 кб/с
Но когда я использую эту команду (ту же команду, но с -bufsize 5000К):

ffmpeg -i input.mp4 -crf 21 -maxrate 750k -bufsize 5000k -codec:v:0 libx264 -s 640x360 -r 30 output.mp4 

. Выходное видео выходное видео более компактное, чем 750 кб/с (около 800-900 кбит/с).
Почему это происходит? Почему нам нужен bufsize? Что делает bufsize?

+0

http://video.stackexchange.com/ также может помочь в будущем такие вопросы – aergistal

+0

Спасибо за помощь, aergistal! – Alexandr

ответ

6

В принципе, VBV позволяет убедиться, что закодированный поток не переполняет или не переполняет буфер декодера. Если слишком много данных поступает быстро, буфер переполняется, и вы будете вынуждены отказаться от него. Если данные будут слишком медленными, буфер закончится, и воспроизведение остановится.

Это немного нелогичное но VBV сгущенного сигнализирует буфер скорости кодера переполнение (видео битрейта больше, чем скорость входного сигнала), тогда как переполнение VBV сигнализирует буфер скорости кодера сгущенного (видео битрейта ниже входной скорости).

ffmpegbufsize - размер буфера. minrate и maxrate используются в сочетании с bufsize, чтобы установить допуск изменения минимального и минимального битрейта для VBR (переменный бит).

minrate обычно используется вместе с maxrate для достижения ближнего CBR (постоянный битрейт).

maxrate не является максимальным битрейтом, а скорее максимальным битрейтом, который может войти в буфер. Если у вас большой буфер, как и во втором примере, вы можете терпеть более высокий битрейт в течение большего времени, пока не переполнится буфер. VBV гарантирует, что ваш биттрейт будет снижен до того, как это произойдет. Вот почему ваш поток может достигать 800-900 кбит/с.

Вы можете прочитать здесь: The relationship between --vbv-bufsize and --vbv-maxrate

Смежные вопросы