在python中将音频文件和图像与ffmpeg相结合

在python中将音频文件和图像与ffmpeg相结合,python,python-3.x,ffmpeg,subprocess,Python,Python 3.x,Ffmpeg,Subprocess,tl;dr:如何在python中使用bash ffmpeg命令 因此,我尝试将一个JPEG图像和一个音频文件作为输入,并生成一个与音频文件具有相同持续时间的视频文件(通过在整个持续时间内拉伸静态图像) 因此,我发现: 现在,我有了合并的代码: ffmpeg-loop 1-i image.jpg-i audio.wav-c:v libx264-tune stillimage-c:a aac-b:a 192k-pix_fmt yuv420p-shortest out.mp4 然后,我想在pytho

tl;dr:如何在python中使用bash ffmpeg命令

因此,我尝试将一个JPEG图像和一个音频文件作为输入,并生成一个与音频文件具有相同持续时间的视频文件(通过在整个持续时间内拉伸静态图像)

因此,我发现:

现在,我有了合并的代码:
ffmpeg-loop 1-i image.jpg-i audio.wav-c:v libx264-tune stillimage-c:a aac-b:a 192k-pix_fmt yuv420p-shortest out.mp4

然后,我想在python中使用它,但无法理解如何将其移植到ffmpeg python或ffpy

我发现:

所以,我试了和他一样的方法:

cmd = 'ffmpeg -loop 1 -i image.jpg -i message.mp3 -c:v libx264 -tune stillimage -c:a aac -b:a 192k -pix_fmt yuv420p -shortest out.mp4'
subprocess.check_output(cmd, shell=True) 
subprocess.call(cmd, shell=True)

但我得到了
“返回的非零退出状态1”
。那么我做错了什么呢?

请尝试在bash shell中运行该命令

我粘贴了相同的代码,它对我有效

退出状态1表示错误发生在ffmpeg进程中,而不是python中

如果一切顺利,您将以0退出状态结束,只是为了添加------->子流程。如果您想从ffmpeg输出中检索某些部分,则使用check_输出(cmd,shell=True),而subprocess.call(cmd,shell=True)只需运行ffmpeg命令