我正在尝试从mpeg4-es视频帧生成mp4文件。 到目前为止,我可以使用mp4parser毫无问题地从H264视频帧生成mp4文件。
但是我不确定是否也可以使用mp4parser将mpeg4-es视频帧输出到mp4? (这种方式似乎没有任何示例。) 还是我应该寻找另一种在Android中制作它的方法?
任何评论或建议将不胜感激。谢谢
答案 0 :(得分:0)
请参见this Post。它具有您需要了解的答案。您的MPEG基本流在AVCC中。这意味着要使其像通常的H.264(附件B)一样,您必须以开始>替换代表NAL单元的大小(在MP4中)的每个4字节。像00 00 00 01
这样的代码。然后,您可以在MP4Parser工具中使用与H.264相同的MPEG-es。也许我的Answer here可以帮助您识别NALU。
获取一个十六进制编辑器,检查原始H.264之间的差异,然后检查相同的H264数据现在包含在一个MP4文件中(在MP4中找到"mdat"
,然后再将其保存)您的H.264字节)。看看NALU的大小如何从以00 00 00 01
开头变为具有(十六进制)数字D8 9C 00 00
来表示字节大小?
PS:如果您了解FFmpeg,建议您将1张图片转换为H.264视频帧,然后codec copy
将H264转换为MP4容器。现在,您可以在MP4文件中轻松找到H.264(就像将其复制/粘贴到其中一样)。一旦您可以将小的1帧MPEG-es转换回H264,然后尝试使用更长的文件。