看起来您只使用一个 mp4 文件,所以我不确定这是否会有所帮助,但我能够通过切换源文件的顺序来解决我的问题。据我所知,Chrome 能够播放 H.264 视频(通常包含在 MP4 包装器中),但无法播放 MP4 文件。我猜他们终于像他们一直说的那样取消了对 MP4 的支持。
这是我的代码过去的样子:
<video width="640" height="360" controls>
<source src="http://example.com/video.mp4" type="video/mp4" />
<source src="http://example.com/video.webm" type="video/webm" />
<source src="http://example.com/video.ogv" type="video/ogg" />
</video>
据我了解,当浏览器尝试呈现 HTML5 视频标签时,它应该跳过它无法播放的任何源标签,并尝试播放它可以播放的第一个标签。无论出于何种原因,Chrome 目前都没有这样做。无论如何,它都在尝试播放 MP4,但失败了。
甚至“所有人的视频”页面上的视频现在对我来说都失败了。
我的解决方案是切换源标签的顺序,使 webm 视频排在 mp4 视频之前:
<video width="640" height="360" controls>
<source src="http://example.com/video.webm" type="video/webm" />
<source src="http://example.com/video.mp4" type="video/mp4" />
<source src="http://example.com/video.ogv" type="video/ogg" />
</video>
到目前为止,这已经解决了这个问题。Chrome 现在可以毫无问题地播放 webm 文件,而且我测试过的所有其他浏览器似乎仍然可以正常工作。
我仍然需要测试的唯一可能的问题是,我读到 iPad 有一个错误,需要首先列出 MP4 源。我正在着手使用 iPad,看看这是否仍然是一个问题。
目前,这个解决方案解决了我的问题。
希望有帮助!