视频无法在 Quicktime 中播放

发布于 2024-10-17 04:44:11 字数 1722 浏览 4 评论 0原文

我正在编写一个多路复用器,它接受 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

I'm writing a multiplexer which takes mpeg4 frames (and h264) and puts them in an mp4 container. The video (test1.mp4) I've created successfully plays in Windows media player and VLC but will not play in Quicktime. I've double checked all the atoms and their fields and everything looks correct. I've also successfully created two other videos (1 mpeg4 and 1 h264) with the same multiplexer library and both those videos played fine in WMP, VLC and QT. One of the areas where I suspect their might be a problem is the mp4v atom and it's esds child atom. The esds descriptor I got from ISO 14496-1 so I'm not completely sure about it but it did work on the first mpeg4 video I tried.

Can anyone offer an suggestions as to how I might go about figuring this out? From what I can see, QuickTime does not offer any sort of debug logging and I'm somewhat stuck. Thanks!

Sorry for the horrible download link.

Information:
640x480 resolution
10fps
148 frames

Atom structure:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

雨后彩虹 2024-10-24 04:44:11

QuickTime 播放器对于它将播放和不会播放的内容非常非常敏感。虽然您的文件是 MPEG-4 文件,并且编解码器是 h.264,但它是 h.264 的不寻常配置文件。

(注意:规范并不要求播放器支持所有配置文件。)Apple 的播放器对于他们能使用和不能使用的内容异常挑剔。

您文件的 h264 配置文件: Advanced Simple Profile @ L5

Apple 设备(包括看似 QuickTime 的设备)偏向于

  • Baseline Profile Level 3.0 (iPhone/iPod Touch)、
  • Main Profile Level 3.1 (iPad)

解决方案? 使用 Baseline Profile Level 3.0 重新编码您的视频以确保安全

QuickTime player is very, very sensitive to what it will and will not play. While your file is an MPEG-4 file, and the CODEC is h.264, it is an unusual profile for h.264.

(Note: The spec does not require players to support all profiles.) Apple's players are unusually picky about what they will and will not work with.

Your files's h264 profile: Advanced Simple Profile @ L5

Apple devices, including seemingly QuickTime, have a bias for

  • Baseline Profile Level 3.0 (iPhone/iPod Touch),
  • Main Profile Level 3.1 (iPad)

The solution? Reencode your video with Baseline Profile Level 3.0 to be safe

同尘 2024-10-24 04:44:11

我遇到了类似的问题(.mov 容器中的 MPEG-4 第 2 部分在 VLC 中播放,但在 QuickTime 中播放),我通过将明显无效的 ESDS 替换为类似 .mov 中的有效 ESDS 来修复该问题。

这可能是这里的问题。

I had a similar problem (MPEG-4 part 2 in a .mov container playing in VLC but not QuickTime), and I fixed it by replacing the apparently invalid ESDS with a valid ESDS from a similar .mov.

This could be the problem here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文