我使用IBBBPBBBBBBB ...模式编码JM的高清视频(Beauty.yuv)。
然后通过MP4Box将output.264转换为out.mp4:
MP4Box -profile high -hint -mtu 1024 -fps 30 -add output.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 P 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 P 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 P 25118 25 0.869
25 P 24258 24 0.869
26 P 87966 86 0.991
27 P 21435 21 1.002
数据包中没有B帧或B片段! 为什么会这样? 这有什么不对?
感谢您的关注
答案 0 :(得分:0)
B帧会发生什么?...为什么会这样?这有什么不对?
MP4Box可能使用基线配置文件对H264视频进行编码。
使用 MediaInfo 等工具进行检查。只有主要和高配置文件支持B帧(也称为B切片)。
http://www.streaminglearningcenter.com/content_images/1/Adobe%20H264_Figure%201.jpg (图片来自:StreamingLearningCenter.com的 article )
答案 1 :(得分:0)
如果您执行MP4Box -info out.mp4
,您将获得有关该文件的一般信息。
如果您执行MP4Box -info 1 out.mp4
,您将获得有关该文件的曲目1的更具体信息。
如果您执行MP4Box -diso out.mp4
,您将获得MP4文件结构的详细XML(包括时间)。
关于" I / P / B-frame"可能是另一种精确度。自H264(2003)以来,只有I / P / B切片,这使得您的验证更加困难(因为您需要检查切片而不是帧)。
MP4Box也只是一个复用器,它不会修改编码内容的语义。