Re: [軟體] 影片大量轉檔程式

看板MAC (蘋果Mac)作者 (呵呵)時間22小時前 (2025/10/07 23:38), 編輯推噓1(100)
留言1則, 1人參與, 12小時前最新討論串3/3 (看更多)
更新一下 Batch-FFmpeg 腳本 v2.0 這是用 Applescript 寫的 ffmpeg GUI 介面腳本 主要讓使用者從 Finder 選取影片,重新編碼成新影片 花了幾個禮拜把腳本整個重寫,增加了自訂軌號和自訂濾鏡的功能 需要的人自取 腳本下載 https://www.mediafire.com/file/iboz8839tudimds/Batch-FFmpeg2.zip 為什麼不用 macOS 系統內建的影片轉碼功能? 內建的轉碼,只能輸出標準解析度,ffmpeg 自由性高很多,還能套用上百種濾鏡 另外,使用 ffmpeg libx265 轉碼後,容量可大幅縮小 ───────────────────────────────────── 準備工作 1 執行 macOS 內建的 Script Editor.app,然後在設定內勾選顯示工序指令選單 打開後,右上方的常駐程式區會多一個工序指令的圖示 https://i.meee.com.tw/PerGGn4.png
準備工作 2 下載腳本解壓縮後放在 ~/Library/Scripts/ 下面即可 zip 解開有兩個檔案,兩個檔案必須放在同一資料夾內 Batch-FFmpeg 是腳本主體,setting 放自訂參數 可依喜好修改 setting 的參數,複製多份不同設定來使用 https://i.meee.com.tw/7EOz7GW.png
準備工作 3 腳本會用到兩個套件,ffmpeg 和 mkvtoolnix 更詳細的說,是 ffmpeg, ffprobe, mkvppropedit 這三個程式 可從官網下載編譯好的程式,或是透過 Homebrew 編譯安裝(詳見 setting 裡面的註解) 安裝完成後,修改 setting 檔案內的對應程式路徑即可 https://i.meee.com.tw/LY83Jl0.png
macOS 權限 腳本會使用到 Finder, System Events, TextEdit 這幾個內建 app 在[系統設定/隱私權與安全性]裡面的[自動化]&[輔助使用],允許"工序指令選單"的權限 另外腳本預設在結束時會發出系統通知,也可在 setting 裡面設定不發出通知 腳本第一次存取磁碟檔案時,macOS 安全性應該會跳出來擋. 除了腳本,也會詢問 ffmpeg, ffprobe, mkvpropedit 的磁碟存取權限,分別允許即可 https://i.meee.com.tw/43hOvK8.png
───────────────────────────────────── 使用方式: 直接在 Finder 選取要轉檔的影片,然後點選右上方的工序指令圖示,執行腳本就行 或是反過來先執行腳本,再從跳出的視窗裡選取檔案也可. https://i.meee.com.tw/VwjIbC1.png
(Finder 一次最多可處理 999 個檔案,官方設的系統限制,超過的話無法使用腳本) 選取的每個影片都可自訂要保留的軌號 像下圖這影片,包含了1視訊軌+2音訊軌+16語言字幕+9個字型+1張封面圖,共29軌 腳本預設抓取視訊第1軌、音訊第1軌、字幕則依照 setting 內設定的字幕語言 有封面圖的話預設也會保留,可手動選取軌號,其他沒被選取的就是直接捨棄. https://i.meee.com.tw/Alne3GI.png
(要一次處理大量影片的話,建議在 setting 裡關閉自訂軌號以節省時間) 選完軌號後,可編碼成新影片。或是不轉碼、只把選中的軌號重新複製打包(Remux) (編碼項目在 setting 內可自訂) https://i.meee.com.tw/fGlWop2.png
選取的軌號有特效字幕(ass/ssa)或檔案附件時,會用 mkv 封裝,否則以 mp4 封裝 (ffmpeg 對 mp4 的支援度比較好,對於 mkv 支援度略差,尤其是附件。 若要弄成 mkv,建議先用 ffmpeg 輸出 mp4,再用 mkvtoolnix 把附件一起封裝成 mkv) 選重新編碼的話,可套用 ffmpeg 的濾鏡。若選 Remux 則無法套用濾鏡 (濾鏡項目在 setting 內可自訂) https://i.meee.com.tw/ihjCzPZ.png
降低搖晃(防手震)是 2-pass 濾鏡,也就是說第一輪會先分析整段影片,儲存分析檔, 第二輪才對照分析檔開始編碼。費時較長、分析檔的容量也不小,需留意硬碟空間. 但某些拍攝很隨便的影片(例如fc2ppv)套這濾鏡還是挺有用的 目前腳本只支援防手震這個 2-pass 濾鏡,其他自訂濾鏡只能用 1-pass 的 前面那個29軌的影片,選取其中5軌轉碼成 hevc 的最終結果 https://i.meee.com.tw/yZrq8su.png
輸出的影片,會解除所有字幕軌的"forced"標籤,不強制顯示任何字幕 因為被設定強制顯示的字幕,通常不是中文字幕 ───────────────────────────────────── 腳本開始轉碼時會建立一個 4MB RAM disk,用來存放編碼進度和錯誤記錄 正常結束時就會自動卸載,編碼未結束前不要把它強制卸載 https://i.meee.com.tw/aoF43GA.png
https://i.meee.com.tw/8qwqGlx.png
轉碼中的資訊窗: (整體進度) [現/全] 目前處理的影片 (目前影片進度%) 預設每 3 秒更新一次進度 https://i.meee.com.tw/zvCbi55.png
轉碼輸出的影片存放在同一目錄下,檔名尾端可附加自訂字串,以示區別 目標檔名已存在時,會自動加上流水號另存新檔,不覆蓋 https://i.meee.com.tw/tDANbL3.png
setting 裡面可自訂檔名的字串取代規則,主要用來縮短檔名 https://i.meee.com.tw/X63NAnx.png
全部轉碼結束時的摘要視窗 https://i.meee.com.tw/5NV1s3e.png
(這裡是設定略過 hevc 影片,只把其它格式的影片轉成 hevc) 編碼記錄有花費時間和取用的軌號,利於後續確認。 原影片的軌號,順序是 { {視訊軌}, {音訊軌}, {字幕軌}, {資料軌}, {封面圖} } 若影片有問題,導致編碼出錯的話,也可在這裡面查詢錯誤訊息 https://i.meee.com.tw/u2GfL4O.png
以上. 這腳本大致上把我平常會用到的都寫進去了,也留一些自訂的擴展性. 應該可以再用個幾年吧. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.121.165.219 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/MAC/M.1759851503.A.834.html

10/08 10:07, 12小時前 , 1F
Shutter-Encoder參考看看
10/08 10:07, 1F
文章代碼(AID): #1evJFlWq (MAC)
文章代碼(AID): #1evJFlWq (MAC)