仅播放音频HLS(m3u8)和MPEG DASH(mpd)

时间:2014-02-19 13:34:53

标签: html5 html5-video html5-audio mpeg

使用后备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>

2 个答案:

答案 0 :(得分:1)

您可以使用hls.js库(https://github.com/video-dev/hls.js)让HLS流在不支持HLS的浏览器上播放,例如Chrome&amp; Firefox浏览器。这是一个最小设置的片段(直接从提供的链接中获取)

&#13;
&#13;
<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>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

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

视频(和音频)编码格式的争夺仍在进行中,这是一个显示效果的案例:它在一个浏览器中工作,但在另一个浏览器中不工作。

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

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

如果你只想要音频那么<audio>标签可能更适合我想: - )