点击
机器学习算
法与Python学习
,
选择
加星标
精彩内容不迷路
1. 场景
降权
视频
平台都有自己的一套鉴别算法,
二次创作,如果直接搬运,都会面临着一些未知风险
保证视频的
原创性
和
唯一性
2. 实现
下面将从 MD5、光线、色彩 3 个方面来进行说明
修改视频的 MD5 值
MD5 是一种密码散列函数,文件的 MD5 值可以判断文件是否被修改
使用 Python 自带的
hashlib 模块,
分段读取文件,
可以获取文件的 MD5 值
def
get_file_md5
(file_path)
with
rb
as
while
True
8096
if
not
break
return
要修改文件的 MD5 值,只需要在文件尾部追加一段字符串即可
def
modify_file_md5
(file_path)
with
a
as
"####&&&&"
亮度调整
亮度调整,相当于调整整个视频的曝光度,增加或者降低视频的光线
首先,安装 moviepy 依赖库
# 安装依赖库
pip3
这里有两
种方式增加视频亮度
第一种方式,对视频的每一帧图片,做亮度值调整
def
handle_frame
(image_frame)
1.2
# 如果颜色值超过255,直接设置为255
255
255
return
def
increase_video_brightness
(file_path)
"/Users/xingag/Desktop/new.mp4"
def
increase_video_brightness2
(file_path)
# 调整系数值
1.2
"/Users/xingag/Desktop/new.mp4"
如果想降低视频整体的亮度,可以将上面的系数调整为小于 1 的数即可
色彩调整
色彩调整,具体包含:色相、色彩明亮度、饱和度等,这里以视频转为黑白效果为例
使用 fx() 函数中的 vfx.blackwhite 参数,可以将彩色视频画面一键转为黑白视频
def
change_video_bhd
(file_path)
"/Users/xingag/Desktop/new.mp4"
3. 最后
除了上面的几种视频修改方式外,还可以借助 CV2 和 MoviePy,加入一些特殊的模板、片段片尾渐变动画来确保视频的原创性和唯一性
全部源码:https://github.com/xingag/tools_python/blob/master/%E8%A7%86%E9%A2%91%E7%89%B9%E6%AE%8A%E5%A4%84%E7%90%86.py
如果你觉得文章还不错,请大家点赞分享下。
你的肯定是我最大的鼓励和支持。
机器学习算法与Python学习
作为沟通学习的平台,发布机器学习与数据挖掘、深度学习、Python实战的前沿与动态,欢迎机器学习爱好者的加入,希望帮助你在AI领域更好的发展,期待与你相遇!
86篇原创内容
Official Account
原文链接
作者:KerryWu 来源:SegmentFault 思否社区 ThreadLocal是线程私有的局部变量存储容器,可以理解成每个线程都有自己专属的存储容器,用来存储线程私有变量。ThreadLocal 在日常开发框架中应用广泛,但用不好也会出现各种问题,本文就此讲解一下。 1. 应用场景 ThreadLocal 的常见应用场景有两种: 多线程并发场景中,用来保障线程安全。 处理较为复杂的业务时,使用ThreadLocal代替参数的显示传递。 1.1. 保障线程安全 多线程访问同一个共享变量的时候容易出现并发问题,特别是多个线程对一个变量进行写入的时候,为了保证线程安全,一般使用者在访问共享变量的时候需要进行额外的同步措施才能保证线程安全性,如:synchronized、Lock之类的锁。 ThreadLocal是除了加锁这种同步方式之外的一种,规避多线程访问出现线程不安全的方法。当我们在创建一个变量后,如果每个线程对其进行访问的时候访问的都是线程自己的变量,这样就不会存在线程不安全问题。 ThreadLocal是JDK包提供的,它提供线程本地变量,如果创建一个ThreadLocal变量,那么访问这个变量的每个线程都会有这个变量的一个副本,在实际多线程操作的时候,操作的是自己本地内存中的变量,从而规避了线程安全问题。 1.2.