由于视频文件类型,HLS 与 DASH-MPEG 是不是不同?
Posted
技术标签:
【中文标题】由于视频文件类型,HLS 与 DASH-MPEG 是不是不同?【英文标题】:Is HLS different to DASH-MPEG because of the video file type?由于视频文件类型,HLS 与 DASH-MPEG 是否不同? 【发布时间】:2018-06-15 07:11:38 【问题描述】:希望有人不介意这个问题,因为它不是基于“编码”的问题。
我正在创建一个能够切换视频、音频和字幕的 html5 视频播放器。我使用媒体源扩展 API 创建了一个视频播放器。但是我的视频播放器无法通过所有网络浏览器(Safari、Chrome 等)在 ios 设备(具有最新 IOS 更新的 iPhone 6s Plus)上运行。我看到媒体源扩展 API 与 IOS 设备不兼容(https://developer.mozilla.org/en-US/docs/Web/API/MediaSource)。我研究发现IOS设备只能通过HLS方法播放网络视频。我还发现 HLS 正在使用媒体源扩展 API,因此为什么我的媒体源扩展创建的视频播放器不起作用。
因此,我完全不明白为什么我的媒体播放器无法正常工作。我假设问题与文件类型兼容性有关。我创建的视频播放器使用MP4
视频文件类型。而 HLS 或 IOS 设备使用 m3u8
并使用 .ts
段。
请帮助我了解我面临的兼容性问题。所以总的来说,我只想知道为什么我的媒体源扩展创建的视频播放器不起作用。是因为文件类型的原因吗?还是其他原因?
如果问题没有被正确理解...请在下方评论。
HLS Demo
: https://videojs.github.io/videojs-contrib-hls/
Media Source Extension API Demo
doesn't work on IOS device : http://nickdesaulniers.github.io/netfix/demo/bufferAll.html
【问题讨论】:
【参考方案1】:HLS 可以使用 fMP4 或 TS。是的,它需要一个 m3u8 清单。否 iOS 不支持媒体源扩展。 MSE 只能播放 fMP4。
【讨论】:
据说HLS使用MSE。如果 iOS 不支持 MSE,那么 HLS 是如何工作的?你能帮我澄清一下吗? 因为 iOS 在 video 标签中明确支持 HLS(safari 和 edge 也是如此)。其他浏览器没有,所以必须通过播放器软件将支持添加到浏览器中。以上是关于由于视频文件类型,HLS 与 DASH-MPEG 是不是不同?的主要内容,如果未能解决你的问题,请参考以下文章