iPhone“无法播放”.mp4 H.264视频文件

时间:2010-07-19 22:16:03

标签: iphone video h.264 mp4

我正在尝试为客户端设置一个简单的移动页面,其中包含指向.mp4视频文件的链接。 Lke so:

<a href="My_Video_File.mp4" target="_blank">Watch MP4 Video</a>

然后我显然已经正确地获取了我的视频文件,并且.mp4具有以下特征:

Dimension: 480 * 272
Codecs: AAC, H.264, MPEG-4 SDSM, MPEG-4 ODSM
Channel Count: 2
Total Bitrate: 991
Size: 11.4MB

但是,问题是当我点击链接iPhone时说“电影无法播放”。并没有告诉我为什么。

任何帮助?

提前致谢。

5 个答案:

答案 0 :(得分:20)

我终于明白了。

问题部分与编码有关,但更多与尺寸有关。

我发现如果您的.mp4文件的尺寸大于640 * 360,那么iPhone(iPad,iPod)甚至不会让用户尝试播放它。他们只是获得了X'd out play按钮图标。

此外,这些设备仅支持使用基线H.264配置文件编码的.mp4,或者无法播放。

此外,iPhone的比特率限制为1.5Mb,但建议将比特率保持在900kb以下。

如果质量不是一个问题而不是大小,那么你可以使用更大尺寸的m4v,但我相信比特率规则仍然适用。

希望这有助于其他人。

答案 1 :(得分:9)

我遇到了类似的问题,我的猜测是编码。我曾尝试使用Adobe Premiere CS4(Adobe Media Encoder)预设“iPhone”,但没有运气。

使用以下命令通过ffmpeg运行它可以解决问题:

ffmpeg -i INPUT -s 320x240 -r 30000/1001 -b 200k -bt 240k -vcodec libx264 -coder 0 -bf 0 -refs 1 -flags2 -wpred-dct8x8 -level 30 -maxrate 10M -bufsize 10M -acodec libfaac -ac 2 -ar 48000 -ab 192k OUTPUT.mp4

我在这里找到了上述(以及许多其他配置):http://rodrigopolo.com/ffmpeg/cheats.html(我在他们的“iPod-iPhone 640宽度中更正了一些拼写错误,没有预设”[原文]。)

其他搜索可能会产生更多有关编码要求(h.264 baseline 3.0)和电影在iPhone上播放的尺寸要求的信息。

关于此主题的Apple官方参考:http://developer.apple.com/library/safari/#documentation/AppleApplications/Reference/SafariWebContent/CreatingVideoforSafarioniPhone/CreatingVideoforSafarioniPhone.html

答案 2 :(得分:4)

你需要h254视频不是低级的。选择H.264预设并将视频从低级更改为逐级。

答案 3 :(得分:2)

这对我来说是这样的:

ffmpeg -an -i movie.mp4 -vcodec libx264 -codec:a libmp3lame -qscale:a 1 -pix_fmt yuv420p -profile:v baseline -level 3 output.mp4

我在这里使用了mp3编解码器。这修复了我的iPhone mp4问题! 感谢Thismatters!

答案 4 :(得分:0)

我遇到了与我生成的视频类似的情况。它可以在我的本地机器上运行,也可以通过支持.mp4的浏览器运行;然而,当我尝试在我的iPhone上观看它时,它总会调出一个划掉的播放按钮。阅读ffmpeg docs后,我尝试使用以下内容,它在我的iPhone以及我能够尝试的其他设备上运行得非常漂亮。

ffmpeg -i input.mkv -c:v libx264 -crf 28 -preset veryslow -tune fastdecode \
  -profile:v baseline -level 3.0 -movflags +faststart -c:a libfdk_aac -ac 2 \
  -ar 44100 -ab 64k -threads 0 -f mp4 output.mp4

我正在处理的视频是1280x720(30fps),最终让它运行的选项是

-profile:v baseline -level 3.0

希望这有帮助。