我的视频无法在我的 iPhone 6 浏览器(Safari 和 Chrome)和某些 iPad 上播放,这让我无计可施。它在桌面浏览器、Android Chrome 甚至我的 iPad mini 上运行良好。我已经对此进行了一段时间的研究,包括 Stack Overflow,但我尝试过的所有方法仍然无法在我的 iPhone 上播放视频(仅显示初始帧图像)。这是我正在编辑的视频测试页面,下面是我的代码以及我根据研究尝试修复的内容:
<section id="video-wrap">
<video class="video <?php the_field('header_video_class'); ?>" autoplay muted loop>
<source src="/video/<?php the_field('header_video'); ?>.mp4" type="video/mp4">
<source src="/video/<?php the_field('header_video'); ?>.ogg" type="video/ogg">
<source src="/video/<?php the_field('header_video'); ?>.webm" type="video/webm">
</video><!-- /video -->
<div id="video-wrapper">
<div class="video-caption">
<?php the_title(); ?>
</div><!-- /content -->
</div>
</section>
- 我试过重新添加控制参数,但没有成功
- 我试过在视频标签中添加视频源并删除额外的源标签,但没有成功
- 我还压缩了我的视频。本测试示例目前为 640∆×∆360、H.264、AAC。仍然没有运气。
- 我已尝试移除视频字幕叠加层以防发生冲突。运气不好。
我错过了什么?在此先感谢您的帮助!
最佳答案
新答案(有效):
嗯,我不知何故错过了这个小细节“只显示初始帧图像”。我将问题误读为“视频甚至不尝试工作”(因为某些型号/品牌与 H.264 编解码器相比可能会发生这种情况)。
根据这篇博客文章:html5 Video Autoplay on iOS and Android ...
您的代码应该如下所示(也使用低分辨率 MP4 版本):
<video class="video" playsinline autoplay muted loop>
最后还要检查:Webkit policy for video部分。也许欺骗机器会有用。
旧答案:
- I've also compressed the heck out of my video. This test example is currently 640 × 360, H.264, AAC. Still no luck.
您的 H.264 视频使用不兼容的 Profile 编码:High @Level 3.0
。
解决方案:选择Main @ level 3.1
重新编码(也可以尝试level 4.0
)。
由于这里没有 iOS 硬件,测试这些重新编码:
主要资料@L3.1:clip-intro-low_v2.mp4
基准配置文件@L3.0:clip-intro-low_v3.mp4
PS:您可能遇到与 this Question 类似的问题(以防对您有用)。
关于ios - 视频标签在 iPhone Safari 或 Chrome 和某些 iPad 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45883423/