在python中将音频文件与视频文件组合在一起

时间:2015-01-29 14:53:27

标签: python audio video ffmpeg raspberry-pi

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

音频文件的格式为WAVE VIdeo文件的格式为h264

音频和视频已成功同时录制和创建,我现在只需将它们合并。

请您指导我如何做到这一点?

3 个答案:

答案 0 :(得分:4)

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

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')

答案 1 :(得分:3)

操纵音频和视频流的最佳工具是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。)

您可以使用子进程模块在python中调用它。如果你必须直接在python中进行,你可以使用PyAV(https://pypi.python.org/pypi/av/0.1.0),但这将需要更多的努力。

答案 2 :(得分:1)

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