☞ ░ 老猿Python博文目录 ░

一、引言

最近看到好几篇类似“n行Python代码…”的博文,看起来还挺不错,简洁、实用,传播了知识、带来了阅读量,撩动了老猿的心,决定跟风一把,推一个“n行Python代码系列”文章。

对于视频中的画面,有时出于特定需要希望调整视频的亮度。

本文介绍通过Python+Moviepy两行代码实现调整视频亮度的方法。更多“n行Python代码系列”文章请参考免费专栏《n行Python代码系列》。

二、实现视频亮度调整的案例

本次以老猿下载的《粉丝记事本》作为处理视频,下图是原视频10秒处的画面截图:

我们通过如下代码来进行视频亮度的调整:

from  moviepy.editor import *clip = VideoFileClip(r"F:\video\fansNote1M_crop.mp4")
clipColorx = clip.fx(vfx.colorx,0.8)
clipColorx.write_videofile (r"F:\video\fansNote1M_colorx.mp4")

上述四行代码实现Moviepy模块的加载、然后读入视频文件、对视频进行明亮度调整、输出调整后视频到结果视频文件。以上四行代码也可以精简为如下两行:

from  moviepy.editor import *VideoFileClip(r"F:\video\fansNote1M_crop.mp4").fx(vfx.colorx,0.8).write_videofile (r"F:\video\fansNote1M_colorx.mp4")

下面是明度调整为1.2倍的对应截图:

下面是明度调整为0.8倍的对应截图

三、背景知识

3.1、moviepy介绍

要实现视频剪辑,老猿使用了moviepy库。MoviePy是一个用于视频编辑的Python模块,可用于进行视频的基本操作(如剪切、连接、标题插入)、视频合成(也称非线性编辑)、视频处理或创建高级效果。它可以读写最常见的视频格式,包括GIF。MoviePy能处理的视频是ffmpeg格式的,老猿理解支持的文件类型至少包括:*.mp4 *.wmv *.rm *.avi *.flv *.webm *.wav *rmvb。

MoviePy使用ffmpeg读取、导出视频和音频文件,使用ImageMagick生成文本和输出GIF文件。Python的快速数字库Numpy保证了不同媒体的处理。高级效果和增强使用了Python的许多图像处理库(PIL、Scikit-image、scipy等)。

moviepy的核心对象是剪辑(clips),包括AudioClips 和VideoClips。它们可以修改(剪切、减速、变暗…)或与剪辑混合以形成新剪辑,可以使用PyGame或IPython Notebook预览,并可以输出到对应类型的文件(如MP4、GIF、 MP3等)。例如,VideoClips可以从视频文件、图像、文本或自定义动画创建。VideoClips可以有一个音频轨道(这是一个AudioClip)和一个mask(一个特殊的VideoClip,指示当剪辑与其他剪辑混合时要隐藏哪些部分)。

MoviePy安装非常简单,使用pip安装时,请将站点指向国内的镜像站点,否则下载很慢或者下载不下来,老猿使用清华的镜像,指令是:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple moviepy

3.2、代码使用相关函数介绍

上述代码涉及到的相关函数包括VideoFileClip、fx、colorx、write_videofile,其中:

  • VideoFileClip实际上是一个类,用于从视频文件装载视频到内存
  • fx函数是Moviepy剪辑基类Clip的方法,fx方法是用于执行参数指定的函数,并返回该参数对应函数的执行结果
  • colorx用于调整剪辑的明度
  • write_videofile用于将剪辑内容输出到视频文件

四、小结

本文介绍了使用Python+Moviepy 两行代码实现视频明亮度调整的方法,需要注意明度调整如果系数过高,会导致视频图像不正常,因此并不能无限调大,一般小于1.5比较好,当然要看原视频自身的亮度。并介绍了moviepy的功能及安装以及相关处理的关键函数功能。

写博不易,敬请支持:

如果阅读本文于您有所获,敬请点赞、评论、收藏,谢谢大家的支持!

如对文章内容存在疑问,可在博客评论区留言,或关注:老猿Python 微信公号发消息咨询。

更多相关moviepy知识的介绍请参考《 Python音视频剪辑库MoviePy1.0.3中文教程导览及可执行工具下载》的导览式介绍。

关于老猿的付费专栏

付费专栏《 使用PyQt开发图形界面Python应用》专门介绍基于Python的PyQt图形界面开发基础教程,对应文章目录为《 使用PyQt开发图形界面Python应用专栏目录》;

付费专栏《 moviepy音视频开发专栏 )详细介绍moviepy音视频剪辑合成处理的类相关方法及使用相关方法进行相关剪辑合成场景的处理,对应文章目录为《moviepy音视频开发专栏文章目录》;

付费专栏《 OpenCV-Python初学者疑难问题集》为《 OpenCV-Python图形图像处理 》的伴生专栏,是笔者对OpenCV-Python图形图像处理学习中遇到的一些问题个人感悟的整合,相关资料基本上都是老猿反复研究的成果,有助于OpenCV-Python初学者比较深入地理解OpenCV,对应文章目录为《 OpenCV-Python初学者疑难问题集专栏目录 》

付费专栏《Python爬虫入门 》站在一个互联网前端开发小白的角度介绍爬虫开发应知应会内容,包括爬虫入门的基础知识,以及爬取CSDN文章信息、博主信息、给文章点赞、评论等实战内容。

前两个专栏都适合有一定Python基础但无相关知识的小白读者学习,第三个专栏请大家结合《 OpenCV-Python图形图像处理 》的学习使用。

对于缺乏Python基础的同仁,可以通过老猿的免费专栏《 专栏:Python基础教程目录》从零开始学习Python。

如果有兴趣也愿意支持老猿的读者,欢迎购买付费专栏。

如对文章内容存在疑问,可在博客评论区留言,或关注:老猿Python 微信公号发消息咨询。

老猿Python,跟老猿学Python!

☞ ░ 前往老猿Python博文目录 ░

两行Python代码调整视频的亮度相关推荐

  1. 两行Python代码实现视频的淡入淡出处理

    ☞ ░ 老猿Python博文目录 ░ 一.引言 最近看到好几篇类似"n行Python代码-"的博文,看起来还挺不错,简洁.实用,传播了知识.带来了阅读量,撩动了老猿的心,决定跟风一 ...

  2. 今天分享两行Python代码实现视频负片特效

    最近看到好几篇类似"n行Python代码-"的博文,看起来还挺不错,简洁.实用,传播了知识.带来了阅读量,撩动了老猿的心,决定跟风一把,推一个"n行Python代码系列& ...

  3. python批量处理视频教程_如何用python批量调整视频声音

    今天来研究python中moviepy模块的用途 近来有大量处理视频的需求, 常会碰到一个问题是下载的视频音量过小, 会需要将它调大声, 虽然有在线工具VideoLouder可以免费调整视频音量大小, ...

  4. python红色的颜色表达式_50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)...

    目前计算机视觉(CV)与自然语言处理(NLP)及语音识别并列为人工智能三大热点方向,而计算机视觉中的对象检测(objectdetection)应用非常广泛,比如自动驾驶.视频监控.工业质检.医疗诊断等 ...

  5. 用Python代码实现视频转gif动图

    下面是一个使用 Python 代码实现视频转 gif 动图的简单示例: import imageio# 读取视频文件 video = imageio.get_reader('input.mp4')# ...

  6. python 制作字符视频_20行Python代码实现视频字符化功能

    我们经常在B站上看到一些字符鬼畜视频,主要就是将一个视频转换成字符的样子展现出来.看起来是非常高端,但是实际实现起来确是非常简单,我们只需要接触opencv模块,就能很快的实现视频字符化.但是在此之前 ...

  7. 【目标检测】使用python代码实现视频转为图片

    在目标检测任务,我们需要为每张图片打标签,从而制作成用于目标检测任务的数据集. 如果我们获取的是一段视频,如何根据帧数将视频转为一张张图片,然后在制作数据集呢? 多的不说,少的不唠,下面给大家分享一个 ...

  8. python从视频中提取音频信号_三行Python代码提取视频中的音频

    作者:小舟逝江海 http://suo.im/5yOtbx 写在开头 身处数据爆炸增长的时代,各种各样的数据都飞速增长,视频数据也不例外.我们可以使用 python 来提取视频中的音频,而这仅仅需要安 ...

  9. python代码实现视频与图片之间的互相转换

    一.视频与图片 1.视频   视频其实就是若干张图片叠加起来,包含了图像的运行信息.   由于人眼识别的帧率是有限的,因此在单位时间内给人眼观看的图像超过一定数目的时候,给人的感觉就好像画面是运动的, ...

最新文章

  1. 查看linux系统性能
  2. 6.2 K-Means 算法步骤-机器学习笔记-斯坦福吴恩达教授
  3. 【修真院“善良”系列之十】初级Java程序员的学习路线
  4. D455启用IMU后的RGB流故障报错
  5. MapReduce多个job同时使用的方式(从网上找到的案例,原始博文:http://www.cnblogs.com/yjmyzz/p/4540469.html)
  6. 容器学习 之 限制容器资源(十一)
  7. 银行营业网点管理系统——entity类(CityArea)
  8. 错误:this is incompatible with sql_mode=only_full_group_by
  9. sublime Text3安装插件
  10. bootstrap inputfile.js
  11. php教程水印,PHP教程之ImageTTFText函数实现图像加文字水印的详细资料说明
  12. java权限精确到按钮_搞定权限设计1-页面按钮控制(精确到某个用户和某个按钮)...
  13. 计算机函数语法,clickhouse 函数语法
  14. 美国计算机专业研究生学制几年,美国硕士学制:美国硕士读几年毕业
  15. 计算机tpm管理,TPM管理工厂实施TPM可能面临的陷阱
  16. 用计算机弹琴图纸,cad制作钢琴平面图的操作流程
  17. 基于区块链的自动抽奖系统从0到1实现探析预言机与跨链技术的融合发展
  18. 如何理解混淆矩阵,以及预测少数类的评估指标?
  19. 要事优先——《卓有成效的管理者》读书笔记
  20. Lua中的bit操作

热门文章

  1. 洛谷P1526 智破连环阵
  2. YOLOV5源码解读(数据集加载和增强)
  3. R语言入门——猜数游戏
  4. QT QColor颜色选择器学习
  5. 物联网智能家居基本方法实现之经典
  6. python xlrd使用_在Python中使用xlrd以文本形式读取数值Excel数据
  7. 低成本成FS68001A、FS68003无线充SOC芯片
  8. Java 五子棋 包含强大人机 步骤流程 包含源码
  9. DNS Client Events 1014
  10. 低代码搭建门店管理之收发货管理系统