在 python 中合并音频文件和视频文件

Combining an audio file with video file in python

我正在 Python 在 RaspberryPi(Raspbian) 上编写一个程序,以将音频文件与视频文件组合/合并。

音频文件格式为 WAVE 视频文件格式为h264

音视频已经录制成功,现在只需要合并即可。

你能指导我怎么做吗?

处理音频和视频流的最佳工具是ffmpeg/libav。必须使用 Python 吗?您可以使用这些项目中的命令行二进制文件。

例如,取自https://wiki.libav.org/Snippets/avconv

avconv -v debug -i audio.wav -i video.mp4 -c:a libmp3lame -qscale 20 -shortest output.mov

(当然,您需要调整文件的参数,并根据您想要的质量调整 qscale。)

您可以使用 subprocess 模块从 python 中调用它。如果你必须直接在python中做,你可以使用PyAV(https://pypi.python.org/pypi/av/0.1.0),但是这会比较费力。

我得到了我的问题的答案,你也可以尝试一下,如果需要进一步的帮助,请告诉我

cmd = 'ffmpeg -y -i Audio.wav  -r 30 -i Video.h264  -filter:a aresample=async=1 -c:a flac -c:v copy av.mkv'
subprocess.call(cmd, shell=True)                                     # "Muxing Done
print('Muxing Done')
def combine_audio(vidname, audname, outname, fps=25):
    import moviepy.editor as mpe
    my_clip = mpe.VideoFileClip(vidname)
    audio_background = mpe.AudioFileClip(audname)
    final_clip = my_clip.set_audio(audio_background)
    final_clip.write_videofile(outname,fps=fps)

来源::https://www.programcreek.com/python/example/105718/moviepy.editor.VideoFileClip 示例 6