首页 > 编程语言 >【python】只需一段代码,剪辑一个视频——Moviepy详解

【python】只需一段代码,剪辑一个视频——Moviepy详解

时间:2023-09-26 11:35:01浏览次数:50  
标签:Moviepy python moviepy 剪辑 60 Python mp4 50

http://www.shanhubei.com/archives/2757.html

前言

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

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

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

一、准备

开始之前,你要确保Python和pip已经成功安装在电脑上,如果没有,可以访问这篇文章:超详细Python安装指南 进行安装。

(可选1) 如果你用Python的目的是数据分析,可以直接安装Anaconda:Python数据分析与挖掘好帮手—Anaconda,它内置了Python和pip.

(可选2) 此外,推荐大家用VSCode编辑器,它有许多的优点:Python 编程的最好搭档—VSCode 详细指南。

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

  • Windows 环境 打开 Cmd (开始-运行-CMD)。
  • MacOS 环境 打开 Terminal (command+空格输入Terminal)。
  • 如果你用的是 VSCode编辑器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install moviepy

二、视频剪辑

剪辑个视频,多大点事,比起下载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")

三、视频拼接

“哦?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")

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

四、逐帧变化

“那你能完成针对每一帧图像的快速图像处理吗?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"

五、导出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/

标签:Moviepy,python,moviepy,剪辑,60,Python,mp4,50
From: https://www.cnblogs.com/shanhubei/p/17729715.html

相关文章

  • Python学习笔记
    pip安装包命令pipinstallnumpy-ihttps://pypi.douban.com/simple#安装(指定国内源来安装)pipinstall--upgradenumpy#升级pipuninstallnumpy#卸载piplist#查看piplist-o#查看需要被升级的包pipshow-fnumpy#查看某个包的信息pipchecknumpy#查看兼容问......
  • 在线问诊 Python、FastAPI、Neo4j — 问题反馈
    目录查出节点拼接节点属性测试结果问答演示通过节点关系,找出对应的节点,获取节点属性值,并拼接成想要的结果。接上节生成的CQL#输入question_class={'args':{'看东西有时候清楚有时候不清楚':['symptom']},'question_types':['symptom_disease']}#输出[{'question_typ......
  • 视频剪辑中生成花字特效的代码案例详述
    本文为阿里云智能媒体服务IMS「云端智能剪辑」实践指南第四期,通过运用官方提供的花字模版或自定义设计花字,完成丰富、精美的花字特效视频剪辑。昱尘|作者在视频后期剪辑中,“花字”是一种特别的存在。通过使用适合视频的花字,不仅可以丰富视频内容,还可以让视频传达的信息更加容......
  • 如何在Python中实现高效的数据处理与分析
    在当今信息爆炸的时代,我们面对的数据量越来越大,如何高效地处理和分析数据成为了一种迫切的需求。Python作为一种强大的编程语言,提供了丰富的数据处理和分析库,帮助我们轻松应对这个挑战。本文将为您介绍如何在Python中实现高效的数据处理与分析,以提升工作效率和数据洞察力。1、数据......
  • Python之html2text:将HTML转换为Markdown文档示例详解
    From: https://mp.weixin.qq.com/s/Pa3NDXOseyg0mIn869mbhQ-----------------------------------------------------------------------------------------hello大家好我是Monday,本文将详细介绍如何使用Python库中的html2text模块来实现将HTML转换为Markdown的操作,并提供示例......
  • 在线问诊 Python、FastAPI、Neo4j — Cypher 生成
    目录构建节点字典构建CypherCQL语句Test这边只是为了测试,演示效果和思路,实际应用中,可以通过NLP构建CQL接上一篇的问题分类question="请问最近看东西有时候清楚有时候不清楚是怎么回事"#最终输出data={'args':{'看东西有时候清楚有时候不清楚':['symptom']},'questio......
  • python读写excel
     pipinstallpandasopenpyxl 读取Excel文件importpandasaspd#读取Excel文件df=pd.read_excel('your_file.xlsx')#查看数据print(df) 写入Excel文件importpandasaspd#创建一个数据框(dataframe)data={'Name':['Tom','Nick&#......
  • 利用Python对当前目录下xlsx文件数据绘制拆线图
    importpandasaspdimportxlwtimportosimportglobimportmatplotlib.pyplotaspltfromopenpyxlimportWorkbookfromopenpyxlimportload_workbookfrommatplotlibimportrcParams ##获取当前路径path=os.getcwd()##获取当前路径下(不包含子目录)的所有xlsx文件zx_w......
  • [888] How to get the directory of the current Python file
    TogetthedirectoryofthecurrentPythonfile,youcanusetheos.pathmoduleincombinationwiththe__file__attribute.Here'showyoucandoit:importos#GetthedirectoryofthecurrentPythonfilecurrent_directory=os.path.dirname(os.pat......
  • # yyds干货盘点 # 盘点一个使用Python自动化处理GPS、北斗经纬度数据实战(下篇)
    大家好,我是皮皮。一、前言上一篇文章我们使用了Python来实现数据的导入和分列处理,最终可以得到符合预期的结果,不过还可以继续深挖优化下,这一篇文章一起来看看吧。优化的背景如下图所示:二、实现过程这里【瑜亮老师】继续给了一个优化指导,如下图所示:并且给出的代码如下:withopen("./G......