我正在编写一个多路复用器,它采用 mpeg4 帧(和 h264)并将它们放入一个 mp4 容器中。我创建的视频 ( test1.mp4 ) 在 Windows 媒体播放器和 VLC 中成功播放,但不会在 Quicktime 中播放。我已经仔细检查了所有原子及其字段,一切看起来都是正确的。我还成功地使用相同的多路复用器库创建了另外两个视频(1 mpeg4 和 1 h264),并且这两个视频在 WMP、VLC 和 QT 中都可以正常播放。我怀疑它们可能存在问题的领域之一是 mp4v 原子,它是 esds 子原子。我从 ISO 14496-1 获得的 esds 描述符,所以我不完全确定,但它确实适用于我尝试的第一个 mpeg4 视频。
任何人都可以就我如何解决这个问题提供建议吗?据我所知,QuickTime 不提供任何类型的调试日志记录,我有点卡住了。谢谢!
对不起,可怕的下载链接。
信息:
640x480 分辨率
10fps
148 帧
原子结构:
mp4 debug: | + ftyp size 24
mp4 debug: | + mdat size 1149537
mp4 debug: | + moov size 1315
mp4 debug: | | + mvhd size 108
mp4 debug: | | + trak size 1199
mp4 debug: | | | + tkhd size 92
mp4 debug: | | | + mdia size 1099
mp4 debug: | | | | + mdhd size 32
mp4 debug: | | | | + hdlr size 58
mp4 debug: | | | | + minf size 1001
mp4 debug: | | | | | + vmhd size 20
mp4 debug: | | | | | + dinf size 36
mp4 debug: | | | | | | + dref size 28
mp4 debug: | | | | | | | + url size 12
mp4 debug: | | | | | + stbl size 937
mp4 debug: | | | | | | + stsd size 169
mp4 debug: | | | | | | | + mp4v size 153
mp4 debug: | | | | | | | | + esds size 67
mp4 debug: | | | | | | + stts size 24
mp4 debug: | | | | | | + stss size 76
mp4 debug: | | | | | | + stsc size 28
mp4 debug: | | | | | | + stsz size 612
mp4 debug: | | | | | | + stco size 20