调用moviepy库对本地音/视频进行裁剪、音频提取,还可实现视频添加音频等操作
from moviepy import editor
def audio_clip(audiofilename,start,stop,outaudioname):
"""导入本地音频文件,对音频裁剪后保存"""
audio = editor.AudioFileClip(audiofilename)
clip_audio = audio.subclip(start,stop)
clip_audio.write_audiofile(outaudioname)
def video_clip(filename, start, stop, outvideoname, aduio_extract = True, outaudioname = 'out.mp3'):
"""导入本地视频,对视频进行裁剪保存,并可以选择是否提取并保存裁剪视频的音频文件"""
#打开本地视频
video = editor.VideoFileClip(filename)
#裁剪视频,将裁剪后的视频存储在本地
new_video = video.subclip(start,stop)
new_video.write_videofile(outvideoname)
if aduio_extract:
#提取视频中的音频,并进行存储
clip_video = editor.VideoFileClip(outvideoname)
clip_video.audio.write_audiofile(outaudioname)
def video_addaudio(videoname,audioname,outvideoname):
"""给视频文件添加音频"""
#打开本地音、视频文件
video = editor.VideoFileClip(videoname)
#移除视频中的音频文件,也可不移除,添加新音频时会覆盖
video = video.without_audio()
audio = editor.AudioFileClip(audioname)
#将视频和音频文件合并
video_audio = video.set_audio(audio)
video_audio.write_videofile(outvideoname)
if __name__ == "__main__":
# video_clip(r'D:\work\11\bd.mp4',(0,0),(2,0),'out.mp4')
# audio_clip('audio.mp3', 26, 46, 'bg20.mp3')
video_addaudio('tq.mp4', 'bg.mp3', 'bg_video.mp4')