使用HTML5视频标签时,在Safari中无法播放视频

10

我正在使用Django建立一个网站。 我尝试使用HTML5标签在我的网页中包含视频。 下面是我的代码。

<video controls style="width: 100%; height: 100%;" id="video" preload="none">
                    <source src="{% static 'media/video1.ogv' %}" type='video/ogg; codecs="theora, vorbis"'/>
                    <source src="{% static 'media/video1.webm' %}" type='video/webm'>
                    <source src="{% static 'media/video1.mp4' %}" type='video/mp4'>
                    <p>Video is not visible, most likely your browser does not support HTML5 video</p>
                </video>

但在Safari浏览器中无法播放视频。我将视频更改为video1.mov文件,但仍然无法播放。我正在使用Heroku进行部署。我检查过是否安装了Quickstart。它已经安装好了。 错误显示为

Failed to load resource: Plug-in handled load
http://www.***.com/static/media/video1.mov

有人能帮我解决这个问题吗?


Safari是否支持这种视频格式? - joel goldstick
它支持MP4格式。 - Arundas R
Safari曾经有一个bug,如果第一个源标签无法播放(即不是mp4格式),则会冻结播放。我不确定这个bug是否仍然存在,但值得一试。 - DylanYoung
1个回答

7
可能是MP4编码方式的问题。我知道这个问题有点旧,但我也遇到了同样的问题,所以如果能帮助你或其他人找到这个问题,那就好了:
看起来QuickTime(播放Safari MP4的插件)只有在文件使用特定配置进行编码时才能正常工作。这在Apple FAQ的第2个问题中有说明。
尽管协议规范并不限制视频和音频格式,但当前的苹果实现支持以下格式:
视频: H.264基线级别3.0、基线级别3.1、主要级别3.1和高级别4.1。
音频: HE-AAC或AAC-LC高达48 kHz,立体声音频 MP3(MPEG-1 Audio Layer 3)8 kHz到48 kHz,立体声音频 AC-3(仅用于Apple TV的通过模式)
您需要使用其中一个视频配置进行编码,才能使其与QuickTime(因此也是Safari)配合使用。
如果您还针对iOS设备,这个表格也可能有所帮助,以了解您与哪些设备兼容:
基线3.0:所有设备 基线3.1:iPhone 3G及更高版本,iPod touch第2代及更高版本。 主要配置文件3.1:iPad(所有版本)、Apple TV 2及更高版本、iPhone 4及更高版本。 主要配置文件4.0:Apple TV 3及更高版本、iPad 2及更高版本、iPhone 4S及更高版本 高级配置文件4.0:Apple TV 3及更高版本、iPad 2及更高版本、iPhone 4S及更高版本。 高级配置文件4.1:iPad 2及更高版本和iPhone 4S及更高版本。
最后,这里是创建这些编码的ffmpeg选项: https://trac.ffmpeg.org/wiki/Encode/H.264#AdditionalInformationTips 还有一个有用的提示是,您可以直接在QuickTime中打开文件(不必通过Safari加载),以检查文件是否有效。

3
我在Quicktime@10.4中打开了一个mp4文件,并导出为iPhone (.m4v)格式,但它仍然不能在iPhone上播放。真是什么鬼? - Jacksonkr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接