ffmpeg - mp4 在 safari 中播放,除非它不是第一个来源? Chrome 不会播放相同的 mp4?

Posted

技术标签:

【中文标题】ffmpeg - mp4 在 safari 中播放,除非它不是第一个来源? Chrome 不会播放相同的 mp4?【英文标题】:ffmpeg - mp4 plays in safari unless it is not the first source? Chrome wont play same mp4? 【发布时间】:2013-06-27 02:14:16 【问题描述】:

另一个试图让 html5 视频正常工作的问题。

我使用 ffmpeg 以 3 种不同格式创建了同一视频的 3 个版本:mp4、ogg 和 webm。

当列为第一个 html5 视频源时,.ogg 在 chrome 中可以正常播放,当列为第一个 html5 视频源时,.mp4 在 safari 中可以正常播放,但是,如果我在 .ogg 源上方列出 .mp4 源, chrome 将不再加载/播放 .ogg 视频,因为它默认为 will not play 的 .mp4 视频,并且以同样的方式,如果我在 .mp4 源文件上方列出 .ogg 源文件,safari 将不会加载 .mp4 视频。

我很茫然。这是我的嵌入代码:

<video  >
    <source src="./videos/Wildlife.ogg">
    <source src="./videos/Wildlife.webm">
    <source src="./videos/Wildlife.mp4">
</video>

关于为什么源之间的后备不能正常工作的任何想法?

为什么 safari 不遵守后备命令并忽略 .ogg/.webm 文件?

【问题讨论】:

【参考方案1】:

经过相当多的故障排除和添加/删除标签后,我终于通过列出它们的类型让后备功能正常工作。

<video  >
    <source src="./videos/Wildlife.ogg" type="video/ogg">
    <source src="./videos/Wildlife.webm" type="video/webm">
    <source src="./videos/Wildlife.mp4" type="video/mp4">
</video>

换句话说,就我而言,浏览器不会退回到下一个可用(可播放)的视频格式,除非我在每个视频类型上添加了 'type=' 属性。

【讨论】:

所有的观点,而不是对问题或答案的一票?我的赞成票在哪里? 对不起,我会给你积分,但你遇到的问题很明显,我期待找到更先进的东西。我什至从未见过没有类型的视频标签示例! 我没有时间查找参考资料,但我向你保证,有很多关于 html/css/javascript/etc 的不良代码被喷在网络上,这些代码被标记为“教程”,其中你会发现不恰当的代码示例显然弊大于利。我的问题只是一个糟糕的教程剪切和粘贴出错的另一个例子,我认为这会尝试拯救其他人。

以上是关于ffmpeg - mp4 在 safari 中播放,除非它不是第一个来源? Chrome 不会播放相同的 mp4?的主要内容,如果未能解决你的问题,请参考以下文章

FFMPEG 转换的 mp4 文件无法在 firefox 和 chrome 中播放

HTML5 视频:ffmpeg 编码的 MP4 不在任何浏览器中播放(虽然在 VLC 中播放)

使用ffmpeg转码的MP4文件需要加载完了才能播放的解决办法

mp4 在 safari 中不起作用

ffmpeg 从 avi 文件生成无法播放的 MP4 文件

safari 中的 mp4 因 htaccess 身份验证而失败