【问题标题】:Why does mp4 video plays fine on iPad, not on iPhone?为什么 mp4 视频在 iPad 上可以正常播放,而不是在 iPhone 上?
【发布时间】:2011-02-12 12:55:55
【问题描述】:

我对这个问题感到很困惑。

我有一个大型 H.264 mp4 视频文件库,需要在 iOS 上播放。最初,我只针对 iPad,但需求发生了变化,现在我需要包括 iPhone。但我注意到,我的 iPod Touch 与我的 iPad 具有完全相同的操作系统版本和构建 ID,无法播放我在 iPad 上成功使用的相同文件。我已经与一位同事确认了这一点,他的 iPhone 和 iPad 也有相同的版本和构建。我也在 iPad 模拟器中看到了完全相同的行为,但直到现在我认为这是模拟器的一个怪癖。现在我不太确定。

mp4 使用以下设置编码:

AVC Coding 640x360, Millions
AAC, Stereo (L R), 44.100 kHz
29.97 fps
693.35kb/s

我尝试从多台服务器甚至本地加载媒体,但似乎没有什么不同。

如果我将这些文件从 QuickTime 导出为 m4v 文件,它们在所有设备和模拟器上都能正常播放,所以我的直觉告诉我这是我缺少的编码器设置。

为了消除所有其他可能的因素,我尝试直接从 Mobile Safari 地址栏中调用视频文件。我已经确认在以下匹配的版本中会发生这种情况:

设备:

  • 4.2.1 (8C148) - 在 iPad 上播放,而不是在 iPhone 上播放。

模拟器:

  • 3.2 (7W367a) - 在 iPad 上可以正常播放(无 iPhone 版本)
  • 4.0.2 (8A400) - 无法播放 iPhone(无 iPad 版本)
  • 4.1 (8B117) - 无法播放 iPhone(无 iPad 版本)
  • 4.2 (8C134) - 无法播放 iPhone 或 iPad

我浏览了 iOS 更新日志,寻找任何可以解释为什么视频解压缩器应该在一个版本而不是另一个版本上工作的东西,但我找不到任何能跳出来的东西。

有人知道这背后的原因以及我该如何解决吗?

【问题讨论】:

  • +1 是一个结构良好、很好的问题,包含我们可能需要的所有信息。至少我认为我们可能需要。不知道如何解决。
  • @KennyTM 不,它没有。阅读 Apple SE 常见问题解答。编程/开发人员问题不应该去那里。

标签: iphone ipad video codec


【解决方案1】:

确保您的编码器未使用 iOS 上不可用的 H.264 功能。我相信所有的 iOS 设备都支持 3.0 Baseline,除了第一代以外的所有设备都支持 3.1 Baseline,以及最新的 3.1 Main。维基百科在不同的个人资料之间有一个list of differences

here 提供了有关 iOS 设备支持的更详细信息,但每种设备的官方技术规范都列出了其特定功能。

【讨论】:

  • 酷。我不确定我们之前使用的是什么版本(当我问这个问题时),但是当我们更改为 Baseline 2.1 时,它使两台第二代 iPod Touch 崩溃——以前从未见过这种情况:视频冻结在特定帧上并且然后不久之后(即使应用程序已关闭)整个设备都冻结了,需要硬重置。我会调查并报告(并希望标记为已回答)。谢谢!
  • 我关于 ffmpeg+x264 的编码器参数的博文显示了特定的命令行并包含您可能会发现有用的配置文件信息。 modejong.com/blog/…
猜你喜欢
  • 2012-01-30
  • 1970-01-01
  • 2012-06-07
  • 1970-01-01
  • 2017-01-14
  • 1970-01-01
  • 2013-01-03
  • 2014-12-14
  • 1970-01-01
相关资源
最近更新 更多