ios - HTML5 Video mp4 无法在某些 iPad 上播放
问题描述
背景:
我有两台 iPad 运行相同版本的 iOS 和 Mobile Safari。站点包装器在两者上都可以正常工作。此外,我有适用于不同设备的多个视频版本(h.265 HEVC .mp4、VP9 .webM、h.264 .mp4),它们在不同支持的浏览器/操作系统变体中都能正常工作,包括我尝试过的大多数 iOS 设备.
问题:
iPad A (Gen 7 2019 iOS 13.4.1) - 正确选择 h.265 mp4 并按预期播放。如果 h.265 不存在,它会正确播放后备 mp4。
iPad B (iPad Mini 4 iOS 13.4.1) - 不会播放 mp4 文件或构成该站点的任何其他 MP4。我只是得到划掉的播放按钮。
我试过的:
我已经检查了标题,并且使用正确的 MIME 类型正确地提供了文件
Content-Type: video/mp4
尝试了多种不同的托管环境,包括 Apache、IIS、Node Express - 同样的问题。
在 iPad 上尝试过 Chrome 和 FF。- 同样的问题。
我尝试了不同的方式来呈现视频。该网站使用 VideoJS 来显示视频,但我删除了它并
<video>
在一个平面 HTML 文件中使用了 HTML 5 标签。我什至尝试直接导航到浏览器 URL 中的视频。在所有情况下,iPad A 都很好,而 iPad B 则失败了。
所有这一切让我认为这是一个视频编码错误,但无论我使用哪个 mp4 文件(h.264 或 h.265),我都有同样的问题。某些 Apple 硬件是否存在不适用于其他硬件的比特率或其他编码问题?
以下是有问题的视频:
https://boundarywaters360.com/video/paddling.mp4(普通mp4)
https://boundarywaters360.com/video/paddling_h265.mp4(h.265版本 - 注意 Chrome 不会播放这个)
解决方案
几天前,我遇到了类似的问题。
它为我解决了这个问题是我将视频尺寸调整为更小的设备屏幕分辨率。在我完成此操作后,视频播放没有问题。
我找不到苹果方面的任何文件证实了这个问题,但也许你可以尝试一下,让我知道这是否有帮助。
推荐阅读
- python - split or chunk dynamic string into specific parts and merging in python
- javascript - Parse SVG file to React component
- javascript - Sort an array of objects(with multiple properties) in a specified order of Keys with JavaScript
- sql - 如何在 SQLite 的窗口框架中添加数值?
- python - Django .objects,get for merged querysets from different models
- r - R Plotly 动画 Gapminder
- python - How to make a string's content appears on screen as we type on keyboard?
- reactjs - React 状态已更新但不会重新渲染
- json - map is not a function rxjs angular
- sql - Error :Unicode data in a Unicode-only collation or ntext data cannot be sent to clients using DB-Library