【发布时间】:2019-05-28 07:24:50
【问题描述】:
我使用 C 语言将 H264 帧(只有 I/P 帧)编码为 fmp4 文件。填mdat框的时候,不知道怎么填frame数据。
(I/P)帧数据是直接填充的吗?
前 4 个字节是否需要填充帧长度?
我尝试使用FFMPG对fmp4文件进行编码,发现mdat box中的数据和原来的I/P帧数据完全不同。
是不是又打码了?
可以直接将I/P帧的数据填入mdat box吗?
【问题讨论】:
-
请添加您尝试过的代码。
-
代码乱七八糟,不方便展示,告诉我思路,然后我去调试,非常感谢!
-
请创建一个minimal reproducible example。如果你遵循这个概念,它就不会再乱七八糟了。此外,如果你这样做,帮助你会更容易。描述代码通常充满了导致其故障的误解。制作 MCVE 提供了第二层通信,这通常有助于发现问题的根源。
-
答案对于 Q/A 格式来说太复杂了,除非你更具体一点。 mdat 的布局在 moov(或 moof)中进行了描述,如果不解决另一个问题,您就无法解决其中一个问题。