告別繁瑣剪輯!利用 OpenAI O3 Mini,無需編碼,打造自動影片剪輯工具。實測去除靜音、重複片段,效果驚人!附詳細步驟教學,新手也能快速上手。
您是否厭倦了繁瑣的影片剪輯工作?現在,利用 OpenAI 最新推出的 O3 Mini (亦稱為 GPT-3.5 Mini) 模型,即使您完全不懂程式碼,也能打造一個自動影片剪輯工具!本文將詳細記錄我如何使用 O3 Mini 模型,從零開始建立一個能自動處理影片的工具,包括去除靜音、消除重複片段,甚至優化旁白。
專案緣起:O3 Mini 的全面測試
我決定對 O3 Mini 進行一次完整的測試,讓它全權負責一個實際的專案:開發一個自動影片剪輯工具。這個工具將會處理所有步驟,從讀取原始影片檔案到輸出剪輯完成的影片,我不需要編寫任何一行程式碼。
四個核心步驟:打造 AI 剪輯流程
整個自動影片剪輯流程大致分為四個主要步驟:
- 創建核心 Python 腳本: 首先,我要求 O3 Mini 創建一個 Python 腳本。這個腳本需要能夠處理指定資料夾(名為 "RAW")中的所有影片。它需要能夠自動剪除影片中的靜音片段,並保留一小段邊緣以避免截斷音訊。此外,腳本需要利用 AI 分析影片,並智能地決定剪輯點。O3 Mini 建議的方法是:將影片分割成多個片段,然後將每個片段發送到大型語言模型 (LLM),由 LLM 決定保留還是捨棄該片段。最終的輸出將是所有被批准片段的組合。
- 修正過時的程式碼: 在初步產生的程式碼中,O3 Mini 使用了已經棄用的 OpenAI Whisper API 程式碼。為了修正這個問題,我需要提供一些協助,引導模型使用正確的 API 呼叫。這個過程大約花了五個提示才完成。這突顯了即使使用像 O3 Mini 這樣的強大工具,人類的引導和監督仍然至關重要,尤其是在處理快速發展的技術時。
- 添加除錯日誌 (Logs): 為了更輕鬆地追蹤程式的執行過程並精確定位需要修正的部分,我要求 O3 Mini 在程式碼中加入詳細的日誌記錄。這使得我可以清晰地了解每個步驟的執行情況,以及哪些部分產生了錯誤的結果。這對於任何軟體開發專案(包括使用 AI 驅動的開發)都是至關重要的。
- 優化片段分析: 我發現 O3 Mini 最初是獨立分析每個影片片段的,這意味著它缺乏上下文來檢測重複或不一致的內容。為了解決這個問題,我提出了一個想法:將整個影片的結構(包括所有片段)傳遞給 O3 Mini,期望它返回僅包含更正後片段的結構。這利用了LLM的上下文理解能力,從更宏觀的角度優化剪輯結果。
實戰範例:42 秒原始影片的蛻變
為了更好地展示這個自動影片剪輯工具的實際效果,我使用了一段 42 秒的原始影片作為範例。這段影片是我朗讀腳本的錄影,其中包含了多次重複和錯誤。
這是我與 O3 Mini 的完整對話過程。一開始,我的提示非常通用。但很快,我注意到剪輯結果並不理想,因為片段要麼太大,要麼跳過了包含實際語音的部分。我發現問題出在程式碼的某一部分,它可能需要使用更好的函式庫來執行靜音偵測。
然後,我並沒有直接告訴 O3 Mini 應該使用哪個函式庫,而是描述了問題所在。我把自己放在一個從未編寫過程式碼的人的角度,他們可能無法理解這是錯誤的程式碼,但他們能感覺到結果不夠理想。
接著,我要求 O3 Mini 產生一個包含所有已刪除文本以及其開始和結束時間的 JSON 檔案,以方便除錯。除錯是所有程式設計師都無法避免的過程,它能幫助你深入了解每個步驟。
我不會詳細列出我創建的每一個提示,重要的是要展示,在某個時間點,O3 Mini 給了我完整的程式碼。從那之後,我就開始專注於特定的函數,因為有了除錯日誌和產生的 JSON 檔案,我可以清楚地知道哪個函數產生了錯誤的結果。當你像這樣集中注意力時,AI 的回應似乎會更好,因為它只需要在特定區域工作。
程式碼解析:揭秘自動剪輯的奧秘
讓我們深入了解一下程式碼的核心部分。
主要的處理流程從 process_video
函數開始。此函數首先載入音訊,然後根據音量偵測靜音片段。在偵測靜音片段的程式碼中,有一個特定的變數用於設定音訊末尾的邊緣或填充。這可以確保它不會直接切斷正在說話的內容。我設定了半秒的邊緣,所以每次它識別到音訊結束時,它只會在該音訊之後半秒處剪輯。
接下來,程式會遍歷每個片段,並使用 OpenAI 的 Whisper API 進行轉錄。然後,將整個轉錄結果發送給 LLM (即 O3 Mini),以獲得最佳轉錄的建議。
實際執行:見證 AI 的剪輯魔力
讓我們實際執行程式碼,看看效果如何。
影片長度為 42 秒,其中有很多重複的部分。例如,我多次嘗試說 "In my previous video, I've reached..."。程式碼會將這些重複的嘗試轉錄出來。然後,它將這些原始片段發送給 Whisper 進行轉錄,得到文本。接著,它將這些文本發送給 O3 Mini,以獲得如何改進的建議。
您可以看到,O3 Mini 刪除了我重複自己的前三個片段,並保留了 "In my previous video, I've received..."。然後,它發現我在下方重複了 "crawling systematically discovers...",並將其刪除。最後,它識別出剩餘的片段,將它們合併在一起,產生最終的轉錄結果。
您還會注意到,由於片段分割的原因,同一個短語的不同部分可能會被分開。例如,"Extract specific data from pages" 這句話被分成了兩個片段,中間有一段間隔。但程式碼仍然能夠識別出它們屬於同一句話,並在最終結果中將它們合併。
我們可以通過調整 detect_segments
函數中的靜音時間閾值來控制片段分割的精細度。
我對這個結果非常滿意,但我沒有嘗試在 GPT-4 或 DeepSeek 上創建這個工具。如果您嘗試在其他 LLM 中創建相同的專案,請在評論中告訴我。因為我嘗試創建這個工具的唯一另一個 LLM 是 GPT-3.5 Turbo,但它並沒有成功。
實時編輯:28 分鐘原始影片的精簡剪接
現在,讓我們用這個工具來處理一段更長的影片。我用這個工具編輯了這段影片的原始素材,它有 28 分鐘長!
執行程式碼後,它將影片從 28 分鐘縮短到了 8 分鐘 29 秒。我可能還需要再編輯一些內容,但讓我們看看僅僅運行這段程式碼就得到了什麼結果。
(影片展示剪輯後的結果,省略詳細內容)
總體而言,即使是 O3 Mini,也能達到接近專業水準的自動影片剪輯效果。
總結:O3 Mini 開啟自動化影片剪輯新時代
這就是本次影片的全部內容。如果您喜歡它,請點贊;如果您覺得它對您有任何幫助,請考慮訂閱以獲取更多類似的影片。我們下個影片再見!
關鍵 takeaway:
- 即使是像 O3 Mini (或 GPT-3.5 Mini) 這樣的較小型模型,也能夠在自動影片剪輯任務上表現出色。
- 透過巧妙的提示工程和迭代優化,可以讓 O3 Mini 完成複雜的任務。
- 除錯和日誌記錄對於使用 AI 進行開發至關重要。
- 即使您沒有編碼經驗,也可以利用 O3 Mini 創建強大的工具。
- 自動影片剪輯 的未來充滿了潛力,而 O3 Mini 則為我們打開了這扇大門。