moviepy音视频剪辑VideoClip类to_mask方法、to_RGB、afx方法
☞ ░ 前往老猿Python博文目录 ░
moviepy音视频剪辑VideoClip类to_mask方法和to_RGB方法用于进行剪辑内容变换。
1、to_mask方法
to_mask方法返回一个由调用者剪辑实例构建的遮罩剪辑。
调用语法:
to_mask(self, canal=0)
说明:
to_mask方法用于将当前剪辑生成一个遮罩剪辑,处理时如果调用对象本身有遮罩,则直接返回调用剪辑的遮罩,否则根据调用剪辑的数据生成遮罩数据,生成时是将调用剪辑的每一帧数据的具体像素的YUV值中的某个除以255来实现遮罩的效果,具体对YUV哪个数据进行处理由参数canal指定,0代码Y值、1代表U值、2代表V值。
2、to_RGB方法
返回一个由遮罩剪辑生成的非遮罩剪辑。
调用语法:
to_RGB(self)
说明:
该方法的处理过程是,如果调用剪辑不是遮罩,则直接返回自身,否则将剪辑的帧像素YUV各乘以255,再将每个像素的YUV三元组变成一个九元组,其元素是YUV值重复3遍。
这样变换的原因老猿并不十分清楚,查阅了一些资料,估计是因为YUV到RGB并不是简单YUV到RGB的一个转换,而是到24位真彩色的转换,因为一般来说直接采集到的视频数据是RGB24的格式,其位数是YUV的三倍,当RGB24变为YUV时其实是进行了降色处理,现在要恢复到RGB24因此需要进行乘以3。
但这里有些原理没说清楚,比如RGB24是用三个字节来表示颜色,YUV在这里也用了三个字节,RGB为什么变成了9个字节?这个问题一时无解,先留着。
另外这个方法在moviepy中只是对遮罩进行处理,当带遮罩的剪辑输出到文件或将剪辑的帧保存到图像或gif文件时会调用该方法对剪辑的遮罩进行处理。
3、afx方法
afx方法对原剪辑浅拷贝后的拷贝剪辑的声音进行变换,返回新剪辑。
调用语法:
afx(self, fun, *a, **k)
说明:
- 声音变换由函数fun进行
- a和k是fun变换函数需要带的可变参数和关键字参数
- afx实际上是调用父类Clip的fx方法去执行fun函数的
更多关于VideoClip的属性和方法请参考《moviepy音视频剪辑:视频剪辑基类VideoClip的属性及方法详解》(免费文章)或《moviepy音视频剪辑:视频剪辑基类VideoClip详解》(付费专栏文章,但内容更全、案例更多)。
更多moviepy的介绍请参考《PyQt+moviepy音视频剪辑实战文章目录》或《moviepy音视频开发专栏》。
关于收费专栏
老猿的付费专栏《使用PyQt开发图形界面Python应用》专门介绍基于Python的PyQt图形界面开发基础教程,付费专栏《moviepy音视频开发专栏》详细介绍moviepy音视频剪辑合成处理的类相关方法及使用相关方法进行相关剪辑合成场景的处理,两个专栏加起来只需要19.9元,都适合有一定Python基础但无相关专利知识的小白读者学习。
对于缺乏Python基础的同仁,可以通过老猿的免费专栏《专栏:Python基础教程目录》从零开始学习Python。
如果有兴趣也愿意支持老猿的读者,欢迎购买付费专栏。
moviepy音视频剪辑VideoClip类to_mask方法、to_RGB、afx方法的更多相关文章
- moviepy音视频剪辑VideoClip类set_position方法pos参数的使用方法及作用
☞ ░ 前往老猿Python博文目录 ░ moviepy音视频剪辑VideoClip类set_position方法用于多个剪辑合成一个剪辑时设置调用剪辑实例的拷贝在合成剪辑的位置. 调用语法: set ...
- moviepy音视频剪辑VideoClip类to_ImageClip方法使用注意事项
☞ ░ 前往老猿Python博文目录 ░ moviepy音视频剪辑VideoClip类to_ImageClip方法将剪辑对应时刻t的帧转换成ImageClip图像剪辑,图像剪辑是所有帧都是固定图像数据 ...
- moviepy音视频剪辑VideoClip类fl_image方法及参数image_func的功能介绍
☞ ░ 前往老猿Python博文目录 ░ moviepy音视频剪辑模块的视频剪辑基类VideoClip的fl_image方法用于进行对剪辑帧数据进行变换. 调用语法:fl_image(self, im ...
- moviepy音视频剪辑VideoClip类fl_image方法image_func报错ValueError: assignment destination is read-only解决办法
☞ ░ 前往老猿Python博文目录 ░ moviepy音视频剪辑模块的视频剪辑基类VideoClip的fl_image方法用于进行对剪辑帧数据进行变换. 调用语法:fl_image(self, im ...
- moviepy音视频剪辑基类VideoClip的write_gif方法opt、fuzz、dispose、colors、loop等参数的作用
☞ ░ 前往老猿Python博文目录 ░ moviepy音视频剪辑模块的视频剪辑基类write_gif方法用于将视频剪辑输出到gif文件,调用语法如下: def write_gif(self, fil ...
- moviepy音视频剪辑基类VideoClip的write_videofile方法codec、bitrate、preset、audio_bitrate、audio_nbytes等参数的作用
☞ ░ 前往老猿Python博文目录 ░ moviepy音视频剪辑模块的视频剪辑基类write_videofile方法用于将视频剪辑输出到文件,调用语法如下: write_videofile(self ...
- PyQt+moviepy音视频剪辑实战文章目录
☞ ░ 前往老猿Python博文目录 ░ 本专栏为moviepy音视频剪辑合成相关内容介绍的免费专栏,对应的收费专栏为<moviepy音视频开发专栏>. 一.moviepy基础能力系统介绍 ...
- moviepy音视频剪辑:视频剪辑基类VideoClip的属性及方法详解
☞ ░ 前往老猿Python博文目录 ░ 一.概述 在<moviepy音视频剪辑:moviepy中的剪辑基类Clip详解>和<moviepy音视频剪辑:moviepy中的剪辑基类Cl ...
- moviepy音视频剪辑:视频基类VideoClip子类VideoFileClip、CompositeVideoClip、ImageSequenceClip介绍
☞ ░ 前往老猿Python博文目录 ░ 一.引言 在<moviepy音视频剪辑:moviepy中的剪辑相关类及关系>介绍了VideoClip主要有六个直接子类(VideoFileClip ...
随机推荐
- 深入Python中的正则表达式
正则表达式应用的场景也非常多.常见的比如:搜索引擎的搜索.爬虫结果的匹配.文本数据的提取等等都会用到,所以掌握甚至精通正则表达式是一个硬性技能,非常必要. 正则表达式 正则表达式是一个特殊的字符序列, ...
- 也谈模块加载,吐槽CMD
先吐槽CMD,不要没头没脑的搞出个CMD,没意思. 大家都看AMD好了,异步模块加载机制,CMD并没有改变这个模式. 模块加载的关口就是getCurrentScript,每次define被调用的时候, ...
- 【应用服务 App Service】App Service 新手资料包
问题描述 云计算的趋势已成定局,作为一个开发者,如果想对PaaS服务中的应用服务有一个初步的了解,从那些资料入手呢? 以Azure的官方文档作为基础库,从中选择出部分内容,分为:本地开发工具,App ...
- nginx&http 第三章 ngx http 框架处理流程
1. nginx 连接结构 ngx_connection_t 这个连接表示是客户端主动发起的.Nginx服务器被动接受的TCP连接,我们可以简单称其为被动连接.同时,在有些请求的处理过程中,Nginx ...
- 双汇大数据方案选型:从棘手的InfluxDB+Redis到毫秒级查询的TDengine
双汇发展多个分厂的能源管控大数据系统主要采用两种技术栈:InfluxDB/Redis和Kafka/Redis/HBase/Flink,对于中小型研发团队来讲,无论是系统搭建,还是实施运维都非常棘手.经 ...
- vue 使用中的小技巧 (一)
在vue的使用过程中会遇到各种场景,当普通使用时觉得没什么,但是或许优化一下可以更高效更优美的进行开发.下面有一些我在日常开发的时候用到的小技巧 data 和 Object.freeze 每个Vue实 ...
- mysql之分区表
1.分区表概述: 1.分区表的主要意义在于,对于表结构进行划分,不同的数据进入不同的分区中,以便于在查询过程中,只查找指定分区的数据,减少数据库扫描的数据量. 2.虽然从逻辑上看分区表是一张表,但是底 ...
- 深度解读最新版 Scrum 指南
本文作者:CODING - 敏杰小王子 11 月 18 日晚,Scrum 框架的创始人 Jeff Sutherland 和 Ken Schwaber 联手发布了最新版 Scrum 指南.作为 Scru ...
- ci爬坑
1.row_array() 问题描述:没有数据返回NULL,直接foreach,报错
- 关于Redis的一些思考
1.从Java语言考虑,已经有ConcurrentHashMap等并发集合类了,与Redis相比,区别于差异在哪? 一直有这么个疑问,今天有搜了很久,很巧,搜到个有同样想法的问答,如下: When p ...

