使用vue的chrome中的hls.js不会更新m3u8播放列表

时间:2017-12-01 20:32:13

标签: javascript vue.js live-streaming m3u8 hls.js

我想使用以下方式在mount()函数中部署m3u8格式的直播视频:

if(Hls.isSupported()) {
    let video = this.$refs.videoPrueba2;
    let hls = new Hls();
    hls.loadSource('./HLS/out.m3u8');
    hls.attachMedia(video);
    hls.on(Hls.Events.MANIFEST_PARSED, function () {
        video.play();
    });
}

但是,当页面加载时,播放器会加载所包含的播放列表中的每个视频,直到该时刻停止播放。它不播放正在创建的新ts文件。我必须按CTRL + SHIFT + R(删除缓存并重新加载页面)才能看到包含新ts文件的视频。

我使用以下ffmpeg命令创建了.m3u8文件:

ffmpeg -re -i short.mp4 -c:v h264 -flags +cgop -g 30 -vf scale=-1:360 -hls_list_size 0 ./HLS/out.m3u8

我尝试过:

hls.loadSource('./HLS/out.m3u8');

在setInterval中,但没有帮助。

这可能是由vue引起的内存泄漏,而loadSource也不知道从哪里加载?

1 个答案:

答案 0 :(得分:0)

这是与浏览器缓存相关的问题,它通过替换:

解决了
app.use(express.static(path.join(__dirname, 'streams'), { maxAge: 0 }));

使用:

{{1}}