Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 来自文件系统的视频流_Node.js_Ffmpeg_Video Streaming - Fatal编程技术网

Node.js 来自文件系统的视频流

Node.js 来自文件系统的视频流,node.js,ffmpeg,video-streaming,Node.js,Ffmpeg,Video Streaming,我正在尝试制作一个视频服务器,我的场景是用户将上传这些文件,我有一个屏幕,可以播放当天的所有文件,就像我们通常在电视上看到的广告一样 到目前为止,我已经通过节点媒体服务器实现了.hls和.flv流媒体 我发现流式传输文件的最佳方式是通过FFMPEG,但我无法在同一输出url上流式传输多个文件,例如localhost:8000/index.m3u8,当FFMPEG结束前一个文件的流式传输时,有谁能建议我流式传输下一个文件的正确方式吗 提前感谢。:) 我的节点媒体服务配置 { rtmp: {

我正在尝试制作一个视频服务器,我的场景是用户将上传这些文件,我有一个屏幕,可以播放当天的所有文件,就像我们通常在电视上看到的广告一样

到目前为止,我已经通过节点媒体服务器实现了.hls和.flv流媒体

我发现流式传输文件的最佳方式是通过FFMPEG,但我无法在同一输出url上流式传输多个文件,例如localhost:8000/index.m3u8,当FFMPEG结束前一个文件的流式传输时,有谁能建议我流式传输下一个文件的正确方式吗

提前感谢。:)

我的节点媒体服务配置

{
  rtmp: {
    port: 1935,
    chunk_size: 60000,
    gop_cache: true,
    ping: 30,
    ping_timeout: 60
  },
  http: {
    port: 8000,
    mediaroot: './media',
    allow_origin: '*'
  },
  trans: {
    ffmpeg: 'E:/Red Matrix/node-stream-master/node-stream-master/usr/bin/ffmpeg.exe',
    tasks: [
      {
        app: 'live',
        hls: true,
        hlsFlags: '[hls_time=2:hls_list_size=3:hls_flags=delete_segments]',
        dash: true,
        dashFlags: '[f=dash:window_size=3:extra_window_size=5]'
      }
    ]
  }
};
FFMPEG流函数

function ffmpegStream(stream){

  var proc = ffmpeg()
  .input('D:/Videos/1.MP4')
    .on('error', function (err) {
      console.log('An error occurred: ' + err.message);
    })
    .on('end', function (e) {

      console.log('Processing end !' + JSON.stringify(this));

       ffmpegStream('D:/Videos/2.MP4')
    })
    .on('done', function() {
      console.log('Processing finished !');

    })
    .save('./media/live/abc/index.m3u8');
}

您可以添加一些您已经尝试过的代码示例吗?很难说问题到底是什么,请现在检查:concat各自的.ts段。。。实际上,将m3u8容器用作连接的外壳。。。。可能需要调整原始视频的大小以使HxW正常化