【发布时间】:2019-12-26 13:47:22
【问题描述】:
我想在 AWS Lambda (NodeJS) 函数中使用 ffmpeg 将音频文件拆分为多个片段。
由于 lambda 环境的限制(和优化),我想将音频流式传输到 ffmpeg,对流中的音频文件执行拆分,然后将现在多个较小的文件流式传输到 s3。
经过一些研究,我发现 AWS S3 SDK 不支持在一个流中上传多个文件。我可以通过查找每个新段的结尾(输出流中的文件)并创建一个单独的上传到 s3 来解决这个问题。
有没有办法确定流中文件的结尾(包含多个文件)?
(不保存到文件系统或加载到内存中)。
我四处寻找,似乎找不到答案。
【问题讨论】:
-
显示您的代码以更好地理解
-
问题不在于修复代码,而在于我对底层流和缓冲区的了解非常有限。
-
从这里开始link
-
感谢您的链接。我认为事件是在整个流的末尾而不是在流期间发出的,因为没有进行保存。您是否暗示要读取流以确定文件的状态?如果是这样,您知道如何指示文件的结尾吗?
-
我假设您的意思是使用分段复用器。如果是这样,输出将被写入什么协议?
标签: node.js amazon-s3 ffmpeg aws-lambda stream