我有一些 ffmpeg 进程按顺序运行,并且全部写入一个流(fs.createWriteStream)。
是否可以从文件中删除通过 fs.createReadStream 读取的数据?
我想 24/7 运行脚本并希望流像缓冲区一样。
提前致谢!
我有一些 ffmpeg 进程按顺序运行,并且全部写入一个流(fs.createWriteStream)。
是否可以从文件中删除通过 fs.createReadStream 读取的数据?
我想 24/7 运行脚本并希望流像缓冲区一样。
提前致谢!
您实际上可以将数据“附加”到正在运行的ffmpeg
实例 - 或任何其他可写流。为此,您需要将此选项用于管道:
myFile.pipe(ffmpegRunner, {end: false});
这将告诉管道不通知 ffmpeg 该文件已结束。然后,您可以在第一个文件结束后切换文件:
myFile.on("end", () => {
myFile.unpipe(ffmpegRunner);
anotherFile.pipe(ffmpegRunner, {end: false});
});
我猜你甚至可以在流结束之前做到这一点。