前言

短视频搬运是目前小白用的最多的方式,原创只有一个,但是短视频平台却有很多,怎么降低视频搬运的风险呢?今天我们用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模块给视频套模板,比如在片头片尾加入一小节视频,或视频头部或底部加入文本描述等