教你用 Python 確保製作的短視頻獨一無二

  1. 場景

前段時間有人私信我,說自己辛辛苦苦剪輯的短視頻,上傳到某平臺後,由於播放量太大,收到 降權 的通知,直接導致這個賬號廢掉了!

其實,各大視頻平臺都有自己的一套鑑別算法,針對視頻的二次創作,如果直接搬運,都會面臨着一些未知風險

本篇將帶大家用 Python 對短視頻做一些特殊處理,保證視頻的 原創性 和 唯一性

  1. 實現

下面將從 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)
  1. 最後

除了上面的幾種視頻修改方式外,還可以藉助 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

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/4VtIXSCnhCkX_4bCmwX_yg