node.js - 可以删除从可读流中读取的数据吗?

标签 node.js ffmpeg stream fs fluent-ffmpeg

我有一些 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});
});

我猜你甚至可以在流结束之前做到这一点。

关于node.js - 可以删除从可读流中读取的数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48845769/

相关文章:

node.js - 在macOS Sierra上,npm install odbc失败(版本10.12.6)

javascript - firebase 部署到自定义区域以执行预定功能

使用非 root 用户时出现 ffmpeg 错误

java - 将大文件作为流发送到 process.getOutputStream

php - 使用带有 fopen 的代理服务器

javascript - 页面评估的返回值( puppeteer 操纵者,异步编程)

JavaScript 默认函数

android - 在视频上添加文本时出现ffmpeg错误

ffmpeg - 使用ffmpeg将一张图像+一个视频的音频转换为视频

json - 如何跳过 jq 输入中的前 n 个对象