2010-07-19 571 views
10

我正尝试为链接到.mp4视频文件的客户端设置一个简单的移动页面。艾克这样:iPhone“无法播放”.mp4 H.264视频文件

<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说:“电影不能播放。”并没有告诉我为什么。

任何帮助?

在此先感谢。

+0

你有没有试过通过iTunes将文件复制到你的iphone,看看它是否以这种方式播放? – Alan 2010-07-19 22:20:29

+1

而且当你尝试HTML5视频标签时会发生什么:http://www.w3schools.com/html5/tag_video.asp – Alan 2010-07-19 22:21:12

回答

20

我终于想通了这一点。

该问题部分与编码有关,但更多与维度有关。

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

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

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

如果质量不像尺寸那么担心,那么你可以使用更大尺寸的m4v,但我相信比特率规则仍然适用。

希望这可以帮助别人。

+4

iPhone的比特率限制实际上是2500kbps。 iPod视频具有1500kbps的限制。 iPhone 4和iPad(两代)和更新版本可以以几乎任何比特率播放高达720p的Main Profile。 – Chealion 2011-06-22 15:33:46

8

我遇到了类似的问题,我的猜测是编码。我曾尝试使用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宽度修正了几个错别字,没有预设“[原文如此。]

其他四处搜索可能会产生更多关于电影在iPhone上播放的编码要求(h.264基线3.0)和大小要求的信息。

关于这一问题的苹果官方参考:http://developer.apple.com/library/safari/#documentation/AppleApplications/Reference/SafariWebContent/CreatingVideoforSafarioniPhone/CreatingVideoforSafarioniPhone.html

4

您需要h254视频渐进不低。选择H.264预设,并将视频从低位更改为高级。

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 30帧,并终于得到了它的工作的选择是

-profile:v baseline -level 3.0 

希望这有助于。

+0

它不适用于我,你有更新的FFMPEG更新版本吗? – ammcom 2015-08-22 22:51:49

1

这为我做:

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!