Mp4 视频无法在 iPad 中播放

Posted

技术标签:

【中文标题】Mp4 视频无法在 iPad 中播放【英文标题】:Mp4 video won't play in the iPad 【发布时间】:2011-04-23 19:44:14 【问题描述】:

美好的一天,我一直在从事这个项目并学习如何在 ipad 和所有其他浏览器上放置视频。

但是在为此编写代码后,我注意到我从 iPad 获得的唯一内容是视频的第一个关键帧,但视频没有播放。当我按下出现在 ipad 屏幕上的“播放”按钮时,视频不会只是播放。奇怪的是,脚本有一个自动播放命令。

这个脚本有什么问题?有没有更好的方法来做到这一点?我花了太多时间在这上面,我无法完成它。我在适用于 Windows、Firefox、Internet Explorer 的 Safari 上检查了这个,它在除 iPad 之外的任何地方都可以使用。

<video controls   autoplay>  
<!-- if Safari/Chrome-->  
<source src="video.mp4" type="video/mp4" /> 
<source src="video.ogv" type="video/ogg" /> 
<!--If the browser doesn't understand the <video> element, then reference a Flash file. You could also write something like "Use a Better Browser!" if you're feeling nasty. (Better to use a Flash file though.)-->  
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"   id="csSWF">
                <param name="movie" value="video_controller.swf" />
                <param name="quality" value="best" />
                <param name="bgcolor" value="#1a1a1a" />
                <param name="allowfullscreen" value="true" />
                <param name="scale" value="showall" />
                <param name="allowscriptaccess" value="always" />
                <param name="flashvars" value="autostart=true&showstartscreen=false&color=0x1A1A1A,0x1A1A1A" />
                <!--[if !IE]>-->
                <object type="application/x-shockwave-flash" data="video_controller.swf"  >
                    <param name="quality" value="best" />
                    <param name="bgcolor" value="#1a1a1a" />
                    <param name="allowfullscreen" value="true" />
                    <param name="scale" value="showall" />
                    <param name="allowscriptaccess" value="always" />
                    <param name="flashvars" value="autostart=true&showstartscreen=false&color=0x1A1A1A,0x1A1A1A" />
                <!--<![endif]-->
                    <div id="noUpdate">
                        <p>The video content presented here, requires a more recent version of the Adobe Flash Player. If you are using a browser with javascript disabled please enable it now. Otherwise, please update your version of the free Flash Player by <a href="http://www.adobe.com/go/getflashplayer">downloading here</a>.</p>
                    </div>
                <!--[if !IE]>-->
                </object>
                <!--<![endif]-->
            </object>
            <script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
    swfobject.registerObject("csSWF", "9.0.28", "expressInstall.swf");
</script>
</video>

【问题讨论】:

【参考方案1】:

mp4 视频的规格是什么(分辨率和配置文件)? iPad 不支持所有种类的 mp4。


你试过没有flash和ogv源码的简单html吗?


看起来像你的 over sepc:

iPad 支持的视频格式

H.264 视频(最高 720p,每秒 30 帧;主配置文件级别 3.1,AAC-LC 音频最高 160 Kbps,48kHz,.m4v、.mp4 和 .mov 文件格式的立体声音频)李> MPEG-4 视频,最高 2.5 Mbps,640 x 480 像素,每秒 30 帧,带有最高 160 Kbps 的 AAC-LC 音频的简单配置文件,48kHz,.m4v 格式的立体声音频, .mp4 和 .mov 文件格式。

【讨论】:

原始 MP4 为:1012 x 586 像素/帧速率:30/编解码器:h264 MPEG-AWC(第 10 部分)(avc1)。它以 m4v 的形式提供给我,我将其重命名为 MP4。在 html5 标签上嵌入视频时,我将其声明为带有自动播放功能的 。 元素的大小(应该在没有'px'的情况下定义 - 它不是CSS)和视频的大小不是一回事。您被告知要渲染一个太大而无法在小空间中渲染的视频。这不会突然赋予它渲染它的能力。 谢谢你们,太棒了!让我修改一下,然后发布答案。 非常感谢您的帮助。这是正确的答案。我不得不将原始视频文件的大小减小到 720p 宽度,它创造了奇迹。【参考方案2】:

如果您还指定基本媒体编解码器可能会更好

<source src="video.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"' />

【讨论】:

【参考方案3】:

会是这样吗?

“如果您包含海报属性,ios 将无法识别视频。该元素的海报属性允许您在视频加载时显示自定义图像,或者直到用户按下“播放”。这个 bug 在 iOS 4.0 中已经修复,但是用户升级还需要一段时间。”

在Dive into HTML5找到它

【讨论】:

感谢您的回答,但脚本没有海报属性。所以情况并非如此。

以上是关于Mp4 视频无法在 iPad 中播放的主要内容,如果未能解决你的问题,请参考以下文章

在 HTML 5 网页中播放来自 iPad 的本地视频

如何在 android 的 videoview 中播放 .mp4 视频?

无法在 Angular 7 中播放 MP4 视频

Android:无法播放 mp4 视频

解决部分mp4视频在ios上无法播放问题

HTML5 - mp4 视频无法在 IE9 中播放