社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

这款Python视频剪辑神器,牛逼!

Python绿色通道 • 5 年前 • 543 次点击  


↑ 关注 + 星标 ,每天学Python新技能

后台回复【 大礼包】送你Python自学大礼包

阅读文本大概需要 5 分钟



你知道吗,用moviepy一行代码就能够快速剪辑视频中某个区间的片段:


clip = VideoFileClip("videoplayback.mp4").subclip(50,60)


这一段代码,能够在3秒内将videoplayback.mp4的50秒-60秒的视频片段提取出来,非常方便。


不仅如此,moviepy还支持添加字幕、调整音量、片段链接等功能。下面看看详细的操作方法。

1.准备



开始之前,你要确保Python和pip已经成功安装在电脑上。

(可选1) 如果你用Python的目的是数据分析,可以直接安装Anaconda

(可选2) 此外,你也可以用VSCode编辑器

请选择以下任一种方式输入命令安装依赖

1. Windows 环境 打开 Cmd (开始-运行-CMD)。

2. MacOS 环境 打开 Terminal (command+空格输入Terminal)。

3. 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.

pip install moviepy


2.视频剪辑



剪辑个视频,多大点事,比起下载PR,用Python 写3行代码,3秒剪辑不香吗?


from moviepy.editor import*


# 剪辑50-60秒的音乐 00:00:50 - 00:00:60
video =CompositeVideoClip([VideoFileClip("videoplayback.mp4").subclip(50,60)])


# 写入剪辑完成的音乐
video.write_videofile("done.mp4")

3.视频拼接



“哦?Python?哼,那你肯定很难进行拼接工作吧,PR多方便,拖拽即可完成拼接。”


那你可真是太小看Python了,moviepy几行代码随随便便就能拼接许多片段:

from moviepy.editor importVideoFileClip, concatenate_videoclips

clip1 =VideoFileClip("myvideo.mp4")

# 结合剪辑,你甚至能够完全自动化剪辑拼接视频的操作
clip2 =VideoFileClip("myvideo2.mp4").subclip(50,60)
clip3 =VideoFileClip("myvideo3.mp4")

final_clip = concatenate_videoclips([clip1,clip2,clip3])
final_clip.write_videofile("my_concatenation.mp4")


结合剪辑,你甚至能够完全自动化剪辑拼接视频的操作。


4.逐帧变化



“那你能完成针对每一帧图像的快速图像处理吗?PR可是做得到的哦”


那当然可以,教你如何反转视频每一帧的绿色和蓝色通道:


from moviepy.editor importVideoFileClip

my_clip =VideoFileClip("videoplayback.mp4")


def scroll(get_frame, t):
    """
    处理每一帧图像
    """


    frame = get_frame(t)
    frame_region = frame[:,:,[0,2,1]]
    return frame_region


modifiedClip = my_clip.fl(scroll)

modifiedClip.write_videofile("test.mp4")


5.导出GIF



哇,听起来好像挺牛逼的,那用来导出到GIF吗?


当然可以:


from moviepy.editor import*

# 剪辑50-60秒的音乐 00:00:50 - 00:00:60
video = CompositeVideoClip([VideoFileClip("videoplayback.mp4").subclip(50,60)])

my_clip.write_gif('test.gif', fps=12)


怎么样,moviepy的这些技巧你学会了吗?它还有更多的功能和技巧,详情请见官方文档哦:
https://zulko.github.io/moviepy/

如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!

Python自学超级硬核资料


最后送大家一份Python学习大礼包,从Python基础,爬虫,数据分析Web开发等全套资料,吃透资料,你可以扔掉其他资料,这些资料都是视频,学起来非常友好 


Ps:都是视频学习资料,非常适合基础不好或者零基础的同学


推荐阅读




    
  1. 又一款知名云盘服务翻车:“免费不限量”变收费,用户被骗5年

  2. 年薪 50w,这门编程语言该怎么学?

  3. 再见了,学术硕士!

  4. 我第一次用Python创造了一个深度学习框架


看完记得关注@Python绿色通道
及时收看更多好文
↓↓↓




点个在看你最好看



Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/115522