HTML5 视频在 macOS safari 上播放,而不是 iOS Safari

HTML5 Video plays on macOS safari, not iOS Safari

在 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

罪魁祸首是你CSS:

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

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


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