【问题标题】:Playing back audio only HLS (m3u8) and MPEG DASH (mpd)仅播放音频 HLS (m3u8) 和 MPEG DASH (mpd)
【发布时间】:2014-02-19 13:34:53
【问题描述】:

播放带有后备 MPEG DASH 纯音频流的 HLS 的最佳方式是什么。 m3u8 在 Safari 中运行良好,但据我所知,在 Chrome 中都无法运行。

  <video controls="true">
      <source type="video/mp4" src="http://example.com:8080/dash-audio/77PL4KA42.mpd" />
      <source type="application/x-mpegurl" src="http://example.com:8080/hls-audio/EU9TVX1D9.m3u8" />
  </video>

【问题讨论】:

    标签: html html5-video html5-audio mpeg


    【解决方案1】:

    您可以使用 hls.js 库 (https://github.com/video-dev/hls.js) 让 HLS 流在原生不支持 HLS 的浏览器(例如 Chrome 和 Firefox)上播放。这是一个用于最小设置的 sn-p(直接取自提供的链接)

    <script src="https://cdn.jsdelivr.net/hls.js/latest/hls.min.js"></script>
    <video id="video"></video>
    <script>
      if(Hls.isSupported()) {
        var video = document.getElementById('video');
        var hls = new Hls();
        hls.loadSource('http://www.streambox.fr/playlists/test_001/stream.m3u8');
        hls.attachMedia(video);
        hls.on(Hls.Events.MANIFEST_PARSED,function() {
          video.play();
      });
     }
    </script>

    【讨论】:

      【解决方案2】:

      不幸的是,没有最好的方法。

      视频(和音频)编码格式之战仍在进行中,这是一个证明其效果的案例:它适用于一种浏览器,但不适用于另一种浏览器。

      目前“最好的方式”是提供不同格式的视频,如 mp4、webm、ogg 视频,您还可以提供 m3u8 流格式。您可以按源标签的顺序选择要读取的格式的优先级(如果可能)(第一个标签将具有第一个优先级 - 如果无法播放,则将尝试下一个,依此类推)。

      有免费的转换器可以批量转换您的视频,但它们仅支持最常见的格式(不包括 m3u8)。

      如果您只想要音频,那么我认为&lt;audio&gt; 标签可能更适合:-)

      【讨论】:

      • 音频标签不支持实时流音频,我说的对吗?这是一个有趣的领域。
      • @Ben 不是连续流没有。您可能可以模拟一些东西以将音频作为“假”相机流提供,并使用 WebRTC 来流式传输音频部分,但它不是那么优雅的 IMO(并且由于初始协商、服务器要求等原因有点复杂)。
      猜你喜欢
      • 2017-06-20
      • 1970-01-01
      • 2017-09-20
      • 1970-01-01
      • 2018-04-13
      • 1970-01-01
      • 2015-05-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多