python moviepy 的用法入门篇

2022-07-17,,,

python 中的视频处理模块,有一个叫做 moviepy,今天我们就来唠唠它。

模块安装使用如下命令即可

接下来完成第一个 demo,为后续学习提高信心,截取视频中的一段。

截取视频

下述代码重点使用的是 subclip 方法,但需要提前声明一个 videofileclip 对象, videofileclip 类的构造函数在代码后进行说明。

代码运行结果如下所示:

subclip(t_start,t_end) 方法中的时间参数可以用 (t_start=10) ,以秒的时间来表示,也可以用 (t_start=(1,20)) ,以1分20秒的形式来表示,还可以 (t_start=(0,1,20)) 或者 (t_start=(00:01:20)) , 以小时: 分钟: 秒的形式表示, t_end 的默认值就是视频的长度

videofileclip 类的构造函数如下所示:

其中只有 filename 为必填项,其余都为选填内容。

  • filename:视频文件名,一般常见格式都支持;
  • has_mask:是否包含遮罩;
  • audio:是否加载音频;
  • audio_buffersize:音频缓冲区大小;
  • target_resolution:加载后需要变换到的分辨率;
  • resize_algorithm:调整分辨率的算法,默认是 bicubic,可以设置为 bilinearfast_bilinear
  • audio_fps:声音的采样频率;
  • audio_nbytes:采样的位数;
  • verbose:是否输出处理信息。

subclip(t1,t2) 方法的含义为截取t1到t2时间段内的片段。
write_videofile() 方法用于视频输出。

提取a视频的音频,注入到b视频中

使用 videofileclip 对象的 audio 属性,可以获取视频的音频部分,然后调用 set_audio() 方法对文件进行音频设置,这里要注意一点,合成的音频和视频等于长度的。

去掉视频声音

without_audio() 方法见名知意 - 去除声音。

获取视频信息

视频的分辨率和时间可以直接通过属性读取

获取文件大小就比较简单了,使用 os 模块的 os.path.getsize() 方法即可,得到的是字节大小。

设置视频倍速播放

读取视频,调用 speedx() 方法,其中设置要加速到的倍数。

截取视频封面

很多时候我们需要生成视频的封面,直接使用下述几行代码,即可实现。

提取视频中的音频内容

如果想要把目标视频中的某段音频截取出来,可以使用如下代码

截取视频中的一段,将其保存为 gif

写在后面

到这里,相信你能顺着这个思路去学习 moviepy 更多的高级用法啦。

到此这篇关于python moviepy 的用法入门篇的文章就介绍到这了,更多相关python moviepy用法内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

《python moviepy 的用法入门篇.doc》

下载本文的Word格式文档,以方便收藏与打印。