📢 本文由 gemini-2.5-flash 翻譯
前言
因為接觸了
YouTube-dl
,下載頻道的所有內容非常好用,但是下載下來是 webm 格式,相容性不是很好,於是查詢了使用 ffmpeg 轉換格式的指令。
設定檔
後來發現改一下設定檔就行了,在檔案後面加上
1
| --merge-output-format mp4
|
這是我的設定檔
1
| -o 'C:/Users/yexca/Downloads/Video/%(uploader)s/%(upload_date)s%(title)s%(id)s.%(ext)s' --merge-output-format mp4
|
單一指令
使用以下指令即可快速轉碼
1
| ffmpeg -i before.webm after.mp4
|
但一個一個轉碼實在是太慢了,於是就想到使用批次處理。
批次處理
新增記事本,輸入以下程式碼
1
| for %%a in (*.webm) do ffmpeg -i "%%~a" -vcodec copy -f mp4 "%%~na.mp4"
|
其中 (*.webm) 為原始檔案類型,「%%~na.mp4」為想要產生的檔案類型。
然後儲存並命名為run.bat 後,放到對應的資料夾執行即可。
但這樣每次想轉換不同的檔案,還得修改一下,這樣不大實用啊(
dos
然後我就看了一些 bat 檔案的資料,簡單寫了下面的程式 (需要使用 GB2312 編碼才能在命令列正常輸出中文)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| echo off
:0
echo 請輸入數字選擇操作
echo 1.轉碼
echo 2.刪除
echo 3.退出
set /p choice=請選擇
goto %choice%
:1
set /p before=請輸入轉碼前檔案格式
set /p after=請輸入轉碼後檔案格式
echo 開始轉碼%before%到%after%
for %%a in (*.%before%) do ffmpeg -i "%%~a" -vcodec copy -f %after% "%%~na.%after%"
echo 轉碼完成
goto 0
:2
set /p delet=請輸入需要刪除的檔案格式
echo 開始刪除%delet%
del *.%delet%
del %delet%
echo 刪除完成
goto 0
:3
exit
|
放到對應的資料夾下使用就好了。
參考文章
youtube-dl 的一些實用技巧 · eisen 部落格
給新手的 20 多個 FFmpeg 指令範例 - 知乎
FDM 當掉了,youtube-dl 慢得要死,烤肉man 的末日到了!
中
AnnMilne
的評論
用bat指令執行ffmpeg進行批次轉碼-五仁的紀錄
Bat指令學習 - 陽光雨露& - 部落格園
bat set指令詳解_python資深小白的部落格-CSDN部落格