前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >拒绝降权!教你用 Python 确保制作的短视频独一无二

拒绝降权!教你用 Python 确保制作的短视频独一无二

作者头像
AirPython
发布2020-06-18 15:22:16
8650
发布2020-06-18 15:22:16
举报

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,加入一些特殊的模板、片段片尾渐变动画来确保视频的原创性和唯一性

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AirPython 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 场景
  • 2. 实现
  • 3. 最后
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档