MP4 H264 VBR, Как получить битрейт для каждой секунды видео?

У меня есть несколько видео MP4, закодированных с помощью H264, и они отображаются на моем веб-сайте.

Меня беспокоит пропускная способность. Я пытаюсь ограничить полосу пропускания, чтобы за временной интервал не отправлялось больше видеоданных MP4, чем требуется.

Например, предположим, что битрейт первой секунды видео составляет 100 КБ. В таком случае мне нужно всего лишь отправить в браузер 100 КБ видеоданных за первую секунду.

Мой вопрос состоит в том, чтобы получить такое значение за каждую секунду. Есть ли способ получить такую ​​информацию после кодирования видео? Есть ли способ получить такую ​​информацию, захватив данные из консоли кодирования ffmpeg? Или есть какой-нибудь низкоуровневый API (C, C++,...) для такой работы?

Спасибо!


person Constantini    schedule 27.01.2015    source источник


Ответы (1)


Я не могу представить возможные методы, кроме фактической обработки данных формата MP4.

VBR означает кодирование с ограничением качества, а не полосой пропускания. Нет информации о статистике битрейта.

Чтение формата MP4 не такая сложная работа (конечно, не тривиальная). По сути, нам нужна только информация о размере выборки и частоте кадров (если это фиксированная частота кадров).

Для чтения и анализа формата MP4 это выглядит многообещающе: https://code.google.com/p/mp4v2/

person 9dan    schedule 27.01.2015