gpt4 book ai didi

safari - HTML 视频 : Is it possible to fallback to HLS for lack of DASH/Webm-VP9 support on Safari, 或者我如何在 DASH 上同时支持 Webm 和 H264?

转载 作者:行者123 更新时间:2023-12-04 15:44:06 35 4
gpt4 key购买 nike

我正在尝试从网络服务器提供一些视频内容,目的是支持相当广泛的浏览器。

对于 iOS,据我所知,要走的路是使用 HLS(HTTP 实时流媒体),而在桌面上(我猜是 Android?)MPEG-DASH 是最先进的。作为后备,我可以提供一些静态视频。

我已经在 iOS 上使用 HLS 和 Chrome、Firefox、Opera 和 Edge 在桌面上运行,但 Mac 上的 Safari 在我按下播放时只显示一个事件微调器。据我所知,这是因为尽管缺乏 Webm 支持并且 HLS 被首先列出,但 Safari 尝试并未能使用 DASH 作为播放方法。

对于 MPEG-DASH,我使用了带有 VP9 和 Opus 的 Webm,以及我的 <video>标签看起来像这样:

<video controls style="display:inline-block;max-width:174.22vh;max-height:98vh;width:98vw;height:55.125vw;background-color:#ccc;" preload="auto" poster="my-preview-image.jpg" data-dashjs-player>
<source src="myvideo/hls/playlist.m3u8" type="application/x-mpegURL">
<source src="myvideo/dash/manifest.mpd" type="application/dash+xml">
<source src="myvideo/myvideo-vp9.webm" type="video/webm; codecs=vp9,opus">
<source src="myvideo/myvideo-vp8.webm" type="video/webm; codecs=vp8,vorbis">
<source src="myvideo/myvideo-h264.m4v" type="video/mp4; codecs=h264,aac">
</video>

我只是使用以下方法导入引用 DASH 实现
<script src="dash.all.min.js"></script>

我正在使用 ffmpeg 生成 HLS 和 DASH 流从 Final Cut Pro 导出的高质量主视频。静态 Webm 回退文件也是使用 ffmpeg 生成的。而 H264 静态后备文件是从 Final Cut Pro 导出的低比特率文件。

有没有办法我可以:
  • 告诉 DASH 尊重源的顺序,不要跳过 HLS 流
  • 或者,如果 video/webm; codecs=vp9,opus 不启动浏览器不支持。

  • 最后,如果这两种方法都不可能,我可以使用 DASH 同时支持多个不同的编解码器吗?即我可以同时提供 VP9 和 H264 DASH 流,并让它在支持的情况下选择 VP9 而不是 H264,否则回退到 H264(更高的比特率或更低的质量)?我将如何生成该流数据?

    最佳答案

    从您分享的内容来看,您的浏览器在遇到具有“data-dashjs-player”属性的视频标签时将使用 dashjs 播放器,而 DASH 播放器将专注于它支持的不包含 HLS 的格式。

    作为一个粗略的解决方案,您可以检查浏览器是否可以播放 HLS,如果可以,则使用 native 视频标签,如果不能,则使用 DASH 播放器。检查 HLS 播放有点不确定,但以下方法此时似乎有效:

     document.createElement('video').canPlayType('application/vnd.apple.mpegURL')

    这应该在可以播放 HLS(此时只有 Safari AFAIK)的浏览器上返回“可能”,如果不能播放,则返回“可能” - 我刚刚在 Safari 和 Chrome 上对其进行了测试,它似乎表现得像这样。

    值得注意的是,dash.js 应该能够在 safari 上播放 MPEG DASH 文件,因此可能值得查看控制台或日志以尝试找出它为什么不能播放您的 DASH 视频。

    关于safari - HTML 视频 : Is it possible to fallback to HLS for lack of DASH/Webm-VP9 support on Safari, 或者我如何在 DASH 上同时支持 Webm 和 H264?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56650260/

    35 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com