视频无法在 Quicktime 中播放

标签 video mp4 quicktime mpeg-4

我正在编写一个多路复用器,它采用 mpeg4 帧(和 h264)并将它们放入 mp4 容器中。我创建的视频 ( test1.mp4 ) 可以在 Windows 媒体播放器和 VLC 中成功播放,但无法在 Quicktime 中播放。我仔细检查了所有的原子和它们的场,一切看起来都是正确的。我还使用相同的多路复用器库成功创建了另外两个视频(1 个 mpeg4 和 1 个 h264),并且这两个视频在 WMP、VLC 和 QT 中都可以正常播放。我怀疑它们可能有问题的领域之一是 mp4v 原子和它的 esds 子原子。我从 ISO 14496-1 获得的 esds 描述符,所以我不完全确定它,但它确实适用于我尝试的第一个 mpeg4 视频。

任何人都可以就如何解决这个问题提供建议吗?据我所知,QuickTime 不提供任何类型的调试日志记录,我有点卡住了。谢谢!

抱歉,下载链接太糟糕了。

信息:
640x480 分辨率
每秒 10 帧
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

最佳答案

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

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

您文件的 h264 配置文件:高级简单配置文件 @ L5

Apple 设备,包括貌似 QuickTime,都偏向于

  • 基线配置文件级别 3.0(iPhone/iPod Touch),
  • 主要配置文件级别 3.1 (iPad)

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

关于视频无法在 Quicktime 中播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4999472/

相关文章:

amazon-web-services - 如何从 AWS S3 存储桶流式传输预签名视频?

objective-c - 检测新的视频和音频输入

android - Vimeo 嵌入 Phonegap + Android 4.2

opencv - 用 VP9 编码 mp4 视频时应该使用什么fourcc?

ffmpeg 修复 MP4 文件的音频

cocoa - 如何判断 QTMovie 何时开始播放?

video - 在 ffmpeg 中发送命令

javascript - 控制 iPhone/iPad 上的视频覆盖

macos - Cocoa:组件管理器未找到 64 位应用程序中的所有组件

iPhone - iPhone 支持 RTSP 吗?