如何解决在 hls 直播流之间动态交替播放
我需要在我的网页上选择任何可用的 m3u8 文件并播放几秒钟(这些文件在我的服务器中实时流式传输),然后选择另一个,依此类推。
我现在使用这样的客户端 javascript:const total_endpoints = 7;
const total_streams = 4; // e.g. 4
const streams = [
'hls/1.m3u8','hls/2.m3u8'
'hls/3.m3u8','hls/4.m3u8',// ... m3u8 streams dynamically appear and disappear in the hls folder
];
// ...
var loop = setInterval(function() {
hls.loadSource(streams[Math.floor(Math.random() * total_streams)]); // select a random stream
hls.attachMedia(video);
hls.on(Hls.Events.MANIFEST_PARSED,function() {
video.play();
});
},10000); // repeat every ten seconds
这种方法的问题是我需要提前知道各个流的数量和名称并对其进行静态编码。
我一直在想一个更好的解决方案是保留一个虚拟文件作为占位符,并且不知何故 - 可能使用服务器端 javascript? - 扫描hls文件夹,每次选择不同的m3u8文件并播放到占位符文件中。那么,客户端代码只需要播放这个占位符文件。但是不确定如何将 m3u8 文件播放到另一个文件中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。