前言
短视频搬运是目前小白用的最多的方式,原创只有一个,但是短视频平台却有很多,怎么降低视频搬运的风险呢?今天我们用python来实现视频的独一无二
原理
一般来讲每个文件的内容如果不一样那么生成的MD5值也是不一样的,视频也是一样;视频是由一张张图片组成并可以配置声音,图片是有光线、色彩等组成的,我们只要修改视频的md5、光线、色彩等数值就可以让平台认为这是一个新的视频,当然这种方式是欺骗机器的,如果人工审核还是能看出来的。
代码实现
修改视频文件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
def modify_file_md5(file_path):
"""
修改文件的md5值
:param file_path:
:return:
"""
with open(file_path, 'a') as file:
file.write("####&&&&")
修改视频光线亮度
这里我们使用moviepy库
pip 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 的数即可
修改视频色彩
# 色彩调整,具体包含:色相、色彩明亮度、饱和度等,这里以视频转为黑白效果为例
# 同样,使用 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)
当然出啦上面说的这几种方式可以通过cv2或moviepy模块给视频套模板,比如在片头片尾加入一小节视频,或视频头部或底部加入文本描述等