我正在尝试从mpeg4-es视频帧生成mp4文件。到目前为止,我可以使用mp4parser从H264视频帧生成mp4文件,没有问题。
但是我不确定我们是否也可以用mp4parser将mpeg4-es视频帧输出到mp4?(似乎没有任何关于这种方式的例子。)或者我应该寻找另一种方法在Android中实现它?
如有任何意见或建议,我们将不胜感激。谢谢
发布于 2019-08-27 09:57:09
参见this Post。它有你需要理解的答案。您的MPEG基本流是AVCC格式的。这意味着要让它像通常的H.264 (附录B) ,你必须用一个像00 00 00 01这样的起始码替换代表单元的大小(在MP4中)的4个字节中的每一个。然后,您可以在MP4Parser工具中使用与H.264相同的MPEG-es。也许我的Answer here能帮你认出NALU。
获取十六进制编辑器,检查原始H.264文件之间的差异,然后检查包含在中的MP4文件中的相同H264数据(在MP4中找到"mdat",然后继续它将是您的H.264字节)。看看NALU是如何从以00 00 00 01开头变为字节大小的(十六进制)数字D8 9C 00 00的?
PS:如果你知道FFmpeg,我建议你将1张图片转换成H.264视频帧,然后将H264也codec copy到MP4容器中。现在你可以很容易地在MP4文件中找到H.264 (就像它被复制/粘贴到那里一样)。一旦您可以将一个小的1帧MPEG-es转换回H264,然后尝试较长的文件。
https://stackoverflow.com/questions/57637720
复制相似问题