保存媒体流以便播放



我已经用node-media-server库设置了一个本地RTMP媒体服务器。它接收来自Streamlabs的媒体流。我可以很容易地访问它与localhost链接,它的工作没有任何问题。

const NodeMediaServer = require("node-media-server");
const config = {
rtmp: {
port: 1935,
chunk_size: 60000,
gop_cache: true,
ping: 30,
ping_timeout: 60,
},
http: {
port: 8000,
allow_origin: "*",
},
};
var nms = new NodeMediaServer(config);
nms.run();

这样我只能看到直播。但是如果我想往回看10秒呢?由于视频没有被存储,所以不可能。我有什么办法可以做到吗?

要保存文件以供播放,首先需要使用npm安装ffmpeg包。你可以使用这个https://www.npmjs.com/package/@ffmpeg/ffmpeg

然后在你的配置中添加:

trans: {
ffmpeg: ffmpeg_d.path,
tasks: [
{
app: 'live',
mp4: true,
mp4Flags: '[movflags=frag_keyframe+empty_moov]',
}
]
}
http: {
port: 8020,
webroot: './public',
mediaroot: './media',
allow_origin: '*'
},

将在根项目中添加一个媒体文件夹,您可以在其中找到用于播放的流媒体视频文件。

相关内容

  • 没有找到相关文章

最新更新