由于视频文件类型,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 在 vi​​deo 标签中明确支持 HLS(safari 和 edge 也是如此)。其他浏览器没有,所以必须通过播放器软件将支持添加到浏览器中。

以上是关于由于视频文件类型,HLS 与 DASH-MPEG 是不是不同?的主要内容,如果未能解决你的问题,请参考以下文章

hls视频播放-hls认知

FFmpeg基于HLS实现大视频分片下载播放[视频直播二]

FFmpeg基于HLS实现大视频分片下载播放[视频直播二]

流媒体通信协议HLS与DASH的对比

流媒体通信协议HLS与DASH的对比

播放HLS协议时ts文件报错404是什么问题?