当前位置:   article > 正文

使用python库moviepy完成视频剪辑

使用python库moviepy完成视频剪辑

1.关于moviepy和原理

moviepy事github上面的一个开源项目,地址是:GitHub - Zulko/moviepy: Video editing with Python

官方文档地址:

User Guide — MoviePy 1.0.2 documentation

中文版文档可参考:

MoviePy中文手册 — moviepy-cn 文档

底层是调用其他开源的视频、图片等开源软件,操作视频使用的ffmpeg,地址为:

https://github.com/FFmpeg/FFmpeg

操作图片使用ImageMagick,地址为:

https://github.com/ImageMagick/ImageMagick

2.windows上安装

a.下载和安装FFmpeg,地址为:Download FFmpeg ,安装完成后设置环境变量

b.下载和安装ImageMagick,地址为:ImageMagick – Download

c.安装moviepy,使用命令 pip install moviepy

d.修改 moviepy/config_defaults.py 中的IMAGEMAGICK_BINARY的值为本地magic.exe的绝对路径

3.实操和代码示例

  1. from moviepy.editor import *
  2. inPath = r'E:\songhq\video\car_concatenate.mp4'
  3. outPath = r'E:\songhq\video\car_concatenate_word.mp4'
  4. clip = VideoFileClip(inPath)
  5. print(TextClip.list('font'))
  6. # 添加文本
  7. text_clip = TextClip("端午节六折大甩卖!", fontsize=70, color="red", font='simfang.ttf')
  8. text_clip = text_clip.set_position((800, 50)).set_duration(3)
  9. final_clip = CompositeVideoClip([clip, text_clip])
  10. final_clip.write_videofile(outPath)
  11. if __name__ == '__main__':
  12. # processors.reverse_video(r'E:\songhq\video\login.mp4',r'E:\songhq\video\aa.mp4')
  13. # clip = VideoFileClip(r'E:\songhq\video\login.mp4').rotate(180)
  14. # clip.write_videofile(r'E:\songhq\video\login_180.mp4')
  15. # font = TextClip.list('font')
  16. # for a in font:
  17. # print("字体" + a)
  18. inputPath = r'E:\songhq\video\login.mp4'
  19. inputPath2 = r'E:\songhq\video\video.mp4'
  20. outPath = r'E:\songhq\video\login_hebing.mp4'
  21. musicPath = r'E:\songhq\video\追光者.mp3'
  22. start_time = 0
  23. end_time = 7
  24. video = VideoFileClip(inputPath)
  25. video2 = VideoFileClip(inputPath2)
  26. # 对视频进行剪辑
  27. clipped_video = video.subclip(start_time, end_time)
  28. video2 = video2.subclip(0, 3)
  29. final_clip = concatenate_videoclips([clipped_video, video2])
  30. # 添加文字
  31. # txtclip = TextClip(inf, font='仿宋_GB2312.ttf', fontsize=18, color='blue', bg_color='white', transparent=True).set_duration(30).resize((clip.size[0], clip.size[1] * 2)).set_fps(clip.fps)
  32. text = TextClip("MyHolidays", fontsize=90, color='white', font='simfang.ttf')
  33. # 插入图片
  34. text = text.set_position('center').set_duration(5)
  35. # 添加音乐 .subclip(0, 7) 可以截片段
  36. audio = AudioFileClip(musicPath).subclip(40, 50)
  37. # 将文字和音乐添加到视频中
  38. final_video = CompositeVideoClip([final_clip, text])
  39. final_video = final_video.set_audio(audio)
  40. final_video.write_videofile(outPath)

                
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/734266
推荐阅读
相关标签
  

闽ICP备14008679号