-1

我使用 IBBBPBBBPBBBP... 模式对 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 我 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 片!为什么会这样?这里有什么问题?

感谢您的关注

4

2 回答 2

0

B 帧会发生什么?... 为什么会发生这种情况?这里有什么问题?

MP4Box 可能正在使用基线配置文件对您的 H264 视频进行编码。

使用MediaInfo之类的工具进行检查。只有MainHigh Profiles 支持 B 帧(又名 B 片)。

(图片来自:StreamingLearningCenter.com 的文章

于 2016-09-27T00:29:31.260 回答
0

如果您执行MP4Box -info out.mp4,您将获得有关该文件的一些一般信息。

如果您执行MP4Box -info 1 out.mp4,您将获得有关文件轨道 1 的一些更具体的信息。

如果执行MP4Box -diso out.mp4,您将获得 MP4 文件结构的详细 XML(包括时间)。

也许是关于“I/P/B 帧”的另一种精确度。自 H264 (2003) 以来,只有 I/P/B 切片,这使您的验证更加困难(因为您需要检查切片而不是帧)。

MP4Box 也只是一个复用器,它不会修改编码内容的语义。

于 2016-10-01T17:17:44.910 回答