使用后备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>
答案 0 :(得分:1)
您可以使用hls.js库(https://github.com/video-dev/hls.js)让HLS流在不支持HLS的浏览器上播放,例如Chrome&amp; Firefox浏览器。这是一个最小设置的片段(直接从提供的链接中获取)
<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;
答案 1 :(得分:0)
不幸的是没有最好的方法。
视频(和音频)编码格式的争夺仍在进行中,这是一个显示效果的案例:它在一个浏览器中工作,但在另一个浏览器中不工作。
目前“最好的方式”是提供不同格式的视频,如mp4,webm,ogg视频,另外还可以提供m3u8流格式。您可以按源标签的顺序选择要读取的格式的优先级(如果可能)(第一个标签将具有第一个pri - 如果无法播放,则将尝试下一个,等等。)
有免费的转换器,可以批量转换您的视频,但它们只支持最常见的格式(不包括m3u8)。
如果你只想要音频那么<audio>
标签可能更适合我想: - )