由于音频相关的api比较少, 因此audioclip和audio.fx放在了一起。一个简单的demo差不多就能满足了我们的基本用处。
# coding:utf-8
from moviepy.editor import *
from moviepy.audio.fx import *
video = VideoFileClip('../demo/result.mp4', audio=False)
music = AudioFileClip('../demo/music.mp3')
out_music = music.fx(afx.volumex, 2).fx(afx.audio_loop, duration = video.duration).fx(afx.audio_fadein, 0.5).fx(afx.audio_fadeout, 1)
video1 = video.set_audio(out_music)
video1.write_videofile('../demo/result_audio.mp4',audio=True)
- afx.volumex
音乐的音量, 为原来音量的系数
- afx.audio_loop
音乐是否循环播放, 如果视频时长30s 而音乐10秒, 设置为True后,音乐就会循环播放, 后面20s依旧有音乐
- afx.audio_fadein, afx.audio_fadeout
音乐淡入和淡出
- video.set_audio
将视频和音乐合并
总结:
至此, 本系列的文章终于告一段落, 讲解了大部分常用的api, 也有很多没有讲到了, 这个大家可以去官网上看看, 后续有计划会更新几个demo, 来灵活使用这些api。 当然对于一些复杂的绘图大家可能会用到cv2, PIL等库