Что случилось с B-кадрами?! MP4Box evalvid, JM .264
Я кодирую HD-видео (Beauty.yuv) JM с шаблоном IBBBPBBBPBBBP....
затем для преобразования output.264 в out.mp4 с помощью MP4Box сделайте это:
MP4Box -profile high -hint -mtu 1024 -fps 30 -добавить вывод.264 out.mp4
тогда я делаю.st файл:
./mp4trace -f -s 192.168.0.2 12346 out.mp4> st_a01.st
но мой st файл выглядит так:
1 I 142647 140 0,075
2 P 82493 81 0,202
3 P 24373 24 0,204
4 П 29224 29 0,204
5 P 23495 23 0,204
6 P 76393 75 0,331
7 P 22832 23 0,331
8 P 25367 25 0,336
9 P 22635 23 0,336
10 П 120039 118 0,469
11 P 24255 24 0,469
12 P 26783 27 0,469
13 P 23338 23 0,469
14 P 96223 94 0,596
15 P 22626 23 0,602
16 P 25306 25 0,602
17 P 26856 27 0,602
18 P 99348 98 0,729
19 P 25576 25 0,735
20 P 32550 32 0,736
21 P 28752 29 0,736
22 P 110795 109 0,869
23 P 23601 24 0,869
24 П 25118 25 0,869
25 P 24258 24 0,869
26 P 87966 86 0,991
27 P 21435 21 1,002
в пакетах нет ни B-кадра, ни B-слайса! почему это случилось? что здесь не так?
Спасибо за внимание
2 ответа
Если вы выполните MP4Box -info out.mp4
, вы получите общую информацию о файле.
Если вы выполните MP4Box -info 1 out.mp4
, вы получите более конкретную информацию о дорожке 1 файла.
Если вы выполните MP4Box -diso out.mp4
вы получите подробный XML (включая данные о времени) вашей файловой структуры MP4.
Может быть, другая точность о "I/P/B-кадров". Начиная с H264 (2003), есть только I / P / B-срезы, что делает вашу проверку немного сложнее (так как вам нужно проверять срезы, а не кадры).
Также MP4Box является только муксером, он не изменит семантику вашего закодированного контента.
Что происходит с B-кадрами?... Почему это происходит? Что здесь не так?
Вполне возможно, что MP4Box кодирует ваше видео H264 с помощью базового профиля.
Проверьте это с помощью такого инструмента, как MediaInfo. Только Главный и Высокий профили поддерживают B-кадры (также известные как B-фрагменты).
http://www.streaminglearningcenter.com/content_images/1/Adobe%20H264_Figure%201.jpg(изображение из статьи StreamingLearningCenter.com)