在AWS Lambda中使用FFmpeg录制音频流失败的问题求助
在AWS Lambda中使用FFmpeg录制音频流失败的问题求助
我现在正在开发一个功能,需要从指定的音频流URL拉取内容,通过AWS Lambda结合FFmpeg处理后,将最终的音频文件保存到S3存储中。
本地测试时,我用这条FFmpeg命令是完全正常的:
ffmpeg -hide_banner -loglevel error -t 10 -i http://playerservices.streamtheworld.com/api/livestream-redirect/KTOOFMAAC_SC -ar 16000 -b:a 64k -ac 2 output.mp3
我在Python脚本里是通过subprocess.Popen()来调用这条命令的,本地跑的时候能正确生成10秒的音频文件。
但是把代码部署到AWS Lambda后(我已经按照相关配置搭建了自定义FFmpeg层),却遇到了报错:
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/output.mp3'
另外我还尝试过另一种方案:用Python的requests库分块拉取流数据,再通过管道传给FFmpeg处理。这种方式对部分流URL是有效的,但针对像上面提到的streamtheworld的URL,要么只能保存约5秒的音频内容,要么直接抛出Broken Pipe错误。
有没有大佬能帮我分析下这两个问题的原因,以及对应的解决办法呀?
内容来源于stack exchange
相关产品推荐
相关产品推荐

