node.js - 如何确定包含多个流的流中文件的结尾? ( Node )

标签 node.js amazon-s3 ffmpeg aws-lambda stream

我想在 AWS Lambda (NodeJS) 函数中使用 ffmpeg 将音频文件拆分为多个片段。

由于 lambda 环境的限制(和优化),我想将音频流式传输到 ffmpeg,对流中的音频文件执行拆分,然后将现在多个较小的文件流式传输到 s3。

在做了一些研究之后,我发现 AWS S3 SDK 不支持在一个流中上传多个文件。我可以通过查找每个新段的结尾(输出流中的文件)并创建一个单独的上传到 s3 来解决这个问题。

有没有办法确定流中文件的结尾(包含多个文件)?

(无需将其保存到文件系统或将其加载到内存中)。

我四处寻找,似乎找不到答案。

最佳答案

来自 Node.js docs , close事件表示文件结束。

rd.on('line', function(line) {
//reads line by line
console.log(line);
})
.on('close',() => {
 // EOF
 console.log('End of file!');
 process.exit(0);
});

关于node.js - 如何确定包含多个流的流中文件的结尾? ( Node ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59489381/

相关文章:

node.js - 更改 jade 总是需要 node.js 重新启动然后才能验证更改

java - 在上传 Amazon S3 之前检查病毒?

amazon-web-services - 如何删除AWS S3上名称奇怪的文件?

linux - 在 linux 中有 2 个阻塞脚本相互交互

ffmpeg 文件转换不可读

mysql - NodeJS 和 SQL 与异步

angularjs - 为什么我无法显示使用 $http.get 获取的数据?

node.js - 尝试在 DocumentDB 中插入 200 个文档时出现 RequestRateTooLargeException

python - S3Cmd参数问题: Nothing to upload error

python - Heroku FFMPEG 后处理错误与 yt-dlp DownloadError