gpt4 book ai didi

video - H264 NAL 单元 header - 检测类型并以这种格式引入自定义视频

转载 作者:行者123 更新时间:2023-12-04 23:00:18 26 4
gpt4 key购买 nike

在我设备上的一个特殊界面上,我可以看到 NAL 单元经过。两个示例文件如下所示:

P-Frames:
00 00 00 01 41 FC 0F 90 86 DE F9 E1 4D 37 AE D3
24 A9 F2 F7 E8 A0 9A 9E B3 FD FE 3A D2 77 3E 79
8C 93 2D 75 61 60 A0 FA BF CB 46 B6 67 A6 C2 81
2B 47 A5 A2 71 5D 4F 90 32 14 EE D5 DE 58 3B 6E
...

I-Frames / Key-Frames:
00 00 00 01 65 B8 20 67 FF FE 1E 8A 00 02 05 BE
4D 49 85 EB FC 9E 44 F7 D0 CE A0 77 25 CD 80 D4
4A A4 E5 66 EE E7 F9 17 E5 81 DC 94 9C 2B 3C DF
DE D2 63 CC 89 98 82 4D AF C6 BF E8 3F 0D 3C BE
...

我的目标是,能够覆盖这些数据以注入(inject)/播放我自己的视频。所以票价这么好,似乎工作,但它看起来还不是很好。虽然以前从相同界面存储的重放 NAL 单元看起来不错,但注入(inject)的视频却不行。我想我还没有得到正确的视频格式。
我使用不同的工具(如 ffmpeg)将视频转换为 h264 格式。但是视频仍然看起来不太好。我认为问题在于关键帧。虽然我在转换后的视频中看到很多 00 00 00 01 41 部分,但我找不到 00 00 00 01 65。

这是什么视频格式?以及如何将我自己的视频转换成这种格式?通过使用 ffmpeg 或其他工具。

提前致谢

最佳答案

首先,让我简要介绍一下 H264 NAL header 。 NAL header 大小为 1 字节,并遵循起始代码。起始码可以是 00 00 01 或 00 00 00 01。一些编码器使用短起始码,即 00 00 01,而其他编码器使用长起始码,即 00 00 00 01。

请参阅下面的 NAL header 格式

enter image description here

对于关键帧,nal_ref_idc 应为非零。关键帧的 nal_unit_type 为“5”。理想情况下,您应该寻找关键帧的位模式是“00 00 00 01 25”。但是,nal_ref_idc 的大小为 2 位,因此它为关键帧创建了更多位模式组合。您应该搜索的模式是“00 00 01 25”、“00 00 01 45”和“00 00 01 65”。使用简短的开始代码更好地搜索,无论如何它足以解决您的问题

关于video - H264 NAL 单元 header - 检测类型并以这种格式引入自定义视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34139815/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com