
Что этоМаксимальная скорость передачи данныхдля .mp4
файла формата, режим битрейта которогоПостоянный?
Информация о медиафайлах, отображаемая для MP4 (с помощью инструмента MediaInfo)
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : [email protected]
Format settings, CABAC : No
Format settings, ReFrames : 1 frame
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Bit rate mode : Constant
Bit rate : 1 500 Kbps
Maximum bit rate : 3 961 Kbps
Display aspect ratio : 4:3
Frame rate mode : Constant
Frame rate : 29.970 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.163
В этом случае, когда режим скорости передачи данных установлен наПеременная, поле «Скорость передачи данных», в котором отображается значение, 309
является его средней скоростью передачи данных?
Информация о медиа, отображаемая для M4V (с использованием инструмента MediaInfo)
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : [email protected]
Format settings, CABAC : No
Format settings, ReFrames : 1 frame
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Bit rate mode : Variable
Bit rate : 309 Kbps
Display aspect ratio : 16:9
Frame rate mode : Variable
Frame rate : 23.976 fps
Minimum frame rate : 23.810 fps
Maximum frame rate : 24.390 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.229
Writing library : x264 core 120
решение1
Когда MediaInfo сообщает Bit rate
, он сообщает битрейт, указанный фактическим медиапотоком. Так что, если он говорит 1500 и использовался постоянный битрейт, то это тот битрейт, который был установлен кодером.
С другой стороны, когда для кодирования использовался режим переменного битрейта, кодер не может предоставить вам предопределенное среднее значение. Поэтому MediaInfo сообщит измеренное среднее значение. Он делает это, анализируя размер потока и длительность (см. File__Analyze_Streams_Finish.cpp
в исходном коде) в очень общей манере.
Когда он выдает вам Maximum bit rate
для VBR, значение довольно очевидно. Он также сообщает Maximum bit rate
в случае потоков CBR. К сожалению, я не смог выяснить, что именно это означает — исходный код немного запутан — но это зависит от конкретных используемых медиакодеков или контейнеров.
Может быть один из этих вариантов:
- результат расчета, поиск пиковой скорости передачи данных (очень маловероятно, не проверял весь исходный код)
- часть информации, извлеченная изМООВ атомконтейнера MP4
- дескриптор MPEG-2, определенный вИСО/МЭК 13818-1раздел 2.6.26:
Значение указывает верхнюю границу битрейта, включая транспортные накладные расходы, которые будут встречаться в этом программном элементе или программе.
- максимальная скорость передачи данных, поддерживаемая определенным контейнером, например, в MXF
- максимальная скорость передачи данных, поддерживаемая определенной комбинацией профиля/уровня кодека
Кстати: Насколько мне известно, контейнер MP4 (MPEG-4 Part 14) не имеет ограничений по битрейтам используемых кодеков.MP4 не является видеокодеком. Если вы говорите о "MP4" как о видео MPEG-4 Part 10 AVC (h.264), то максимальная скорость передачи данных, указанная профилем High 10 на уровне 5.2, составляет 720 000 кбит/с (ссылка).