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_resultdef 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,退出一些非凡的模板、片段片尾突变动画来确保视频的原创性和唯一性

以上就是本次分享的所有内容,想要理解更多 python 常识欢送返回公众号:Python 编程学习圈 ,发送 “J” 即可收费获取,每日干货分享