HTML5视频可在macOS Safari而非iOS Safari上播放

时间:2019-02-06 22:45:32

标签: html ffmpeg webkit

一切似乎都可以在桌面上的Safari和Chrome中运行。但是iOS无法合作。

这是我对视频进行编码的方式:

ffmpeg -an -i orig.mp4 -vcodec libx264 -crf 30 -maxrate 900 -pix_fmt yuv420p -profile:v baseline -level 3 homepage.mp4

这是我的html:

<video id="bgvid" playsinline muted autoplay loop src="/assets/videos/homepage.mp4" type="video/mp4"></video>

这是我的CSS:

video { 
    position: fixed;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: -100;
    transform: translateX(-50%) translateY(-50%);
    background-size: cover;
    transition: 1s opacity;
}

如果您想自己看看:2606southave.com

1 个答案:

答案 0 :(得分:1)

罪魁祸首是您的CSS:

@media screen and (max-device-width: 800px) {
  #bgvid { display: none; }
}

您告诉它宽度小于等于800像素时不显示。


对于ffmpeg,我建议添加-movflags +faststart输出选项,以便视频可以在仍被下载的同时开始播放。 -maxrate的值是以位为单位的,因此您可能是指900k。您的视频超出了级别3的限制,因此只需删除-level,然后选择级别即可。如果您不需要支持非常古老的设备,则可以考虑使用-profile:v main而不是baseline,并且可以利用更好的压缩效果。