教你用 Python 确保制作的短视频独一无二
Posted 机器学习算法与Python学习-公众号
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了教你用 Python 确保制作的短视频独一无二相关的知识,希望对你有一定的参考价值。
点击 机器学习算法与Python学习 ,选择加星标
精彩内容不迷路
1. 场景
前段时间有人私信我,说自己辛辛苦苦剪辑的短视频,上传到某平台后,由于播放量太大,收到 降权 的通知,直接导致这个账号废掉了!
其实,各大视频平台都有自己的一套鉴别算法,针对视频的二次创作,如果直接搬运,都会面临着一些未知风险
本篇将带大家用 Python 对短视频做一些特殊处理,保证视频的 原创性 和 唯一性
2. 实现
下面将从 MD5、光线、色彩 3 个方面来进行说明
第 1 步,修改视频的 MD5 值
MD5 是一种密码散列函数,文件的 MD5 值可以判断文件是否被修改
使用 Python 自带的 hashlib 模块,分段读取文件,可以获取文件的 MD5 值
def get_file_md5(file_path):
"""
分段读取,获取文件的md5值
:param file_path:
:return:
"""
with open(file_path, rb ) as file:
md5_obj = hashlib.md5()
while True:
buffer = file.read(8096)
if not buffer:
break
md5_obj.update(buffer)
hash_code = md5_obj.hexdigest()
md5 = str(hash_code).lower()
return md5
要修改文件的 MD5 值,只需要在文件尾部追加一段字符串即可
def modify_file_md5(file_path):
"""
修改文件的md5值
:param file_path:
:return:
"""
with open(file_path, a ) as file:
file.write("####&&&&")
第 2 步,亮度调整
亮度调整,相当于调整整个视频的曝光度,增加或者降低视频的光线
首先,安装 moviepy 依赖库
# 安装依赖库
pip3 install moviepy
接着,增加画面亮度,这里有两种方式增加视频亮度
第一种方式,对视频的每一帧图片,做亮度值调整
def handle_frame(image_frame):
"""
处理图片帧
:param image_frame:图片帧
:return:
"""
image_frame_result = image_frame * 1.2
# 如果颜色值超过255,直接设置为255
image_frame_result[image_frame_result > 255] = 255
return image_frame_result
def increase_video_brightness(file_path):
"""
增加视频整体亮度
:param file_path:源视频路径
:return:
"""
video = VideoFileClip(file_path)
result = video.fl_image(handle_frame)
file_path_new = "/Users/xingag/Desktop/new.mp4"
result.write_videofile(file_path_new)
第二种方式,从文件中提取视频剪辑 VideoFileClip,使用 fx() 函数中的 vfx.colorx 参数,指定一个系数,直接对视频画面亮度进行调整
def increase_video_brightness2(file_path):
"""
增加视频整体亮度2
:param file_path:源视频路径
:return:
"""
# 调整系数值
coefficient_value = 1.2
video = VideoFileClip(file_path)
file_path_new = "/Users/xingag/Desktop/new.mp4"
video.fx(vfx.colorx, coefficient_value).write_videofile(file_path_new)
如果想降低视频整体的亮度,可以将上面的系数调整为小于 1 的数即可
第 3 步,色彩调整
色彩调整,具体包含:色相、色彩明亮度、饱和度等,这里以视频转为黑白效果为例
同样,使用 fx() 函数中的 vfx.blackwhite 参数,可以将彩色视频画面一键转为黑白视频
def change_video_bhd(file_path):
"""
黑白处理
:param file_path:
:return:
"""
video = VideoFileClip(file_path)
file_path_new = "/Users/xingag/Desktop/new.mp4"
video.fx(vfx.blackwhite).write_videofile(file_path_new)
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 确保制作的短视频独一无二的主要内容,如果未能解决你的问题,请参考以下文章
手把手教你用OpenCV和Python实现图像和视频神经风格迁移(代码)