html - Safari 无法播放转换为 mp4 或 m4v 的 gif

标签 html video safari

我将由三个图像组成的 gif 转换为 mp4 和 m4v(适用于 Safari)以便在 html5 视频播放器中播放,但是 Safari 不会播放 .mp4 也不会播放 .m4v 包含以下内容

<video preload="yes" controls="true" >
<source src="./menu.mp4" type="video/mp4" />
<source src="./menu.m4v" type="video/m4v" />
</video>

但是,如果我使用正确的视频(即不是转换后的 gif),Safari (9.2) 将使用上述语法播放它,所以我知道 html5 视频播放器正在我的浏览器中运行,而不是我转换后的 gif。 问题,对于转换为“静态电影”照片的 gif,我是否必须设置不同的类型,即 type="gif/m4v" 或者是否需要激活其他设置?

我使用 ffmpeg 将 gif 转换为 mp4,但不记得我运行的确切命令。

更新 根据this TechCrunch 文章,Twitter 使用 mp4 而不是 gif,因此我假设它应该适用于所有浏览器。

可以在此处查看 mp4 文件

https://www.dropbox.com/s/mvkzo8xe7is4rle/menu.mp4?dl=0

最佳答案

问题在于视频编码,特别是与视频编解码器一起使用的 H.264 配置文件设置。

您当前的视频编码为:High 4:4:4 Predictive @ Level 2.2,这对于浏览器视频来说似乎不寻常(并且可能无法在某些移动设备上解码)。

解决方案:

在编码器中,选择 BaselineMain 的 H.264 配置文件。

这个working video使用Main @ L3.1

使用FFmpeg您可以在Main配置文件下制作一个新视频(适合您的尺寸宽度480 X高度640)。

ffmpeg -i input.mp4 -c:v libx264 -pix_fmt yuv420p -profile:v main -level:v 3.1 -an output.mp4


有用的注释:

  • 您可以 check here一些 Apple 推荐的配置文件(请参阅Point.11)。预计视频使用 4:2:0 采样,而不是无法正常工作的视频中存在问题的 4:4:4

  • Wowza.com explains移动设备的配置文件和级别。

  • 基线配置文件将保证在更旧的设备(例如:iPhone 3或更旧的设备)上播放。

关于html - Safari 无法播放转换为 mp4 或 m4v 的 gif,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45776576/

相关文章:

ios - 我们可以更改 IOS Safari 浏览器的原生分享按钮(Twitter 和 Facebook)中的 url 吗?

css - Safari 显示 :after pseudo-element as if is :before

html - Bootstrap - 在跨越多列的导航栏中输入

css - 从 Firefox 中的范围输入元素中删除虚线轮廓

Javascript Image.onload 触发太快

html - Autoprefiximg 语义 UI

ios - AVMutableCompositionTrack setVolume不起作用

java - 将视频或音频转换为文本而不播放?

video - 使用 ffmpeg 创建一个带有播放图标的缩略图

javascript - Safari 推送通知 + 权限 "denied"且未找到日志