如何让FFMPEG进行多次录制?

时间:2015-07-23 05:32:14

标签: javascript node.js ffmpeg audio-streaming audio-recording

我需要找到一种方法让ffmpeg在持续时间到期后再次开始录制,因此我可以将文件分解为更易于管理的块。不幸的是,我发现的唯一功能是能够限制它在终止之前记录的时间,而没有关于如何让它在之后的下一个文件中继续记录的能力。这是一个功能吗?

for(i = 0; i < streamsRepository.streams.length; i++) {
    var obj  = streamsRepository.streams[i];
    findTheRightSave();
    console.log('Channel '+obj.key+' is Recording');

    fmpeg(obj.url)
    .duration('1:00')
    .format('mp3')
      .on('error', function(err, stdout, stderr) {
        console.error(err);
        console.error(stdout);
        console.error(stderr)
      })

        .save('/home/spencer/recorder/audio/'+obj.key+'/Recording-'+numRecordings+'.mp3');
        numRecordings=1;
}

1 个答案:

答案 0 :(得分:0)

将以下pparameters用于ffmpeg(不确定如何使用fluent-ffmpeg进行此操作)

-f segment -reset_timestamps 1 -segment_time 60 outputfile_%d.mp3

我不知道这些参数的含义是什么,但这是一个开始

jsut在这里测试

ffmpeg -i "Sovereign Quarter.mp3" -f segment -reset_timestamps 1 -segment_time 60 sq%d.mp3

并获得4 x 1分钟文件和1 x 51秒文件 - 原始文件长度为4:51,所以看起来有一种方式ffmpeg毕竟可以做到 - 尽管

希望你有更好的运气,弄清楚如何在fluent-ffmpeg中添加这些选项比我做的更好。这就是我停止使用fluent-ffmpeg的原因,我永远无法弄清楚如何在流程中添加任意(有效)选项