天天看點

python cv2 打開 raw_拒絕降級!教你用 Python 確定制作的短視訊獨一無二

點選上方“AirPython”,選擇“加為星标”

第一時間關注 Python 技術幹貨!

python cv2 打開 raw_拒絕降級!教你用 Python 確定制作的短視訊獨一無二

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 依賴庫

接着,增加畫面亮度,這裡有兩種方式增加視訊亮度

第一種方式,對視訊的每一幀圖檔,做亮度值調整

第二種方式,從檔案中提取視訊剪輯 VideoFileClip,使用 fx() 函數中的 vfx.colorx 參數,指定一個系數,直接對視訊畫面亮度進行調整

如果想降低視訊整體的亮度,可以将上面的系數調整為小于 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,加入一些特殊的模闆、片段片尾漸變動畫來確定視訊的原創性和唯一性

我已經将文中全部源碼上傳到背景,關注公衆号後回複「 ycdsp 」即可獲得全部源碼

如果你覺得文章還不錯,請大家點贊分享下。你的肯定是我最大的鼓勵和支援。

推薦閱讀短視訊篇 | Python  帶你進行短視訊二次創作視訊剪輯什麼鬼?Python 帶你高效創作短視訊10萬+的短視訊被批量生産了,Python表示不服

python cv2 打開 raw_拒絕降級!教你用 Python 確定制作的短視訊獨一無二
下一篇: javassist使用

繼續閱讀