找回密碼 或 安全提問
 註冊
|註冊|登錄

伊莉討論區

搜索
尊貴會員無限看帖不用回覆儲值後自動升級用戶組你準備好成為出色的版主了嗎?
催眠明日花cosplay催眠中文惡靈古堡鬼滅之刃
幼女那個江湖juq 405ge巨乳女士白木神的不在

休閒聊天興趣交流學術文化旅遊交流飲食交流家庭事務PC GAMETV GAME
熱門線上其他線上感情感性寵物交流家族門派動漫交流貼圖分享BL/GL
音樂世界影視娛樂女性頻道潮流資訊BT下載區GB下載區下載分享短片
電腦資訊數碼產品手機交流交易廣場網站事務長篇小說體育運動時事經濟
上班一族博彩娛樂

[繁]月光下的異世界之

【高清繁中】✡ 霹靂

【超清繁中】✡ 霹靂

[繁中]霹靂天機貳 仙

1月新番[繁體]最弱魔

✡ 斗破蒼穹 年番/鬥
電腦新資訊電腦軟體討論電腦軟體資訊分享電腦硬體討論電腦硬體資訊分享電腦萌化版電腦系統 OS 討論電腦程式設計
電腦設計技術交流圖像設計及交流各類下載工具教學寬頻上網討論
查看: 2778|回復: 12
打印上一主題下一主題

[求助]關於ffmpeg使用教學[複製鏈接]

ss665332 該用戶已被刪除
跳轉到指定樓層
樓主
發表於 2017-4-30 12:05 PM|只看該作者|倒序瀏覽
若瀏覽伊莉的時侯發生問題或不正常情況,請使用Internet Explorer(I.E)。
本帖最後由 ss665332 於 2017-4-30 01:43 PM 編輯

請問如何用ffmpeg批量分離mkv檔的內嵌多軌字幕???   

已經將ffmpeg資料夾放入C槽,並在D槽建立一個用來存放檔案的test資料夾,可是cmd的參數要怎麼寫,才能將多量mkv檔的內嵌多軌字幕批量輸出...
瀏覽完整內容,請先 註冊登入會員
附件: 你需要登錄才可以下載或查看附件。沒有帳號?註冊
分享分享0收藏收藏0支持支持0

使用道具檢舉

Rank: 4Rank: 4Rank: 4Rank: 4

帖子
3144
積分
4272 點
潛水值
39681 米
頭香
發表於 2017-5-16 04:38 AM|只看該作者
要批量抽mkv的字幕、音軌等也可以用MKVCleaver
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

使用道具檢舉

Rank: 1

帖子
575
積分
196 點
潛水值
14681 米
3
發表於 2017-5-17 12:18 AM|只看該作者
本帖最後由 ren1244 於 2017-5-17 12:28 AM 編輯

將下面這段存成.bat檔並執行
  1. for /l %%i in (0 1 3)do (
  2. forfiles /m *.mkv /c "cmd /c ffmpeg -y -i @file -map 0:s:%%i -c copy -y @fname_%%i.ass
  3. forfiles /m *.mkv /c "cmd /c ffmpeg -y -i @file -map 0:s:%%i -c copy -y @fname_%%i.srt
  4. )
  5. forfiles /c "cmd /c if @fsize equ 0 (del @file)"
複製代碼
這會嘗試將字幕0~3用copy的方式輸出成ass及srt。
然後刪除失敗的檔案。

  • 如果你的字幕軌更多,可以把那個3改成更大的數字。(只改3喔!例如: 0 1 7)
  • 如果你的ffmpeg在其他路徑,請自行修改。例如 c:\ffmpeg\bin\ffmepg
  • 可以把這個批次檔放到D:\test\中,點兩下執行
  • 如有需要,可以再加上一行 .ssa 字幕檔格式的

...
瀏覽完整內容,請先 註冊登入會員
若有安裝色情守門員,可用無界、自由門等軟件瀏覽伊莉。或使用以下網址瀏覽伊莉: http://www.eyny.com:81/index.php

使用道具檢舉

ss665332 該用戶已被刪除
4
發表於 2017-5-17 02:36 AM|只看該作者
本帖最後由 ss665332 於 2017-5-17 04:11 AM 編輯
ren1244 發表於 2017-5-17 01:18 AM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

將下面這段存成.bat檔並執行
這會嘗試將字幕0~3用copy的方式輸出成ass及srt。
然後刪除失敗的檔案。
...
瀏覽完整內容,請先 註冊登入會員
如果發覺自己無法使用一些功能或出現問題,請按重新整理一次,並待所有網頁內容完全載入後5秒才進行操作。

使用道具檢舉

Rank: 1

帖子
575
積分
196 點
潛水值
14681 米
5
發表於 2017-5-17 03:32 AM|只看該作者
若瀏覽伊莉的時侯發生問題或不正常情況,請使用Internet Explorer(I.E)。
自動抽出音訊與字幕
  1.     for /l %%i in (0 1 3)do (
  2.     forfiles /m *.mkv /c "cmd /c ffmpeg -y -i @file -map 0:s:%%i -c copy -y @fname_%%i.ass
  3.     forfiles /m *.mkv /c "cmd /c ffmpeg -y -i @file -map 0:s:%%i -c copy -y @fname_%%i.srt
  4.     )
  5.     for /l %%i in (0 1 3)do (
  6.     forfiles /m *.mkv /c "cmd /c ffmpeg -y -i @file -map 0:a:%%i -c copy -y @fname_%%i.aac
  7.     )
  8.     forfiles /c "cmd /c if @fsize equ 0 (del @file)"
複製代碼
這方法都是猜測裡面的東西的格式,然後再把失敗的檔案刪除
一般音訊大多都是 aac ,如果你有想到其他格式可以再加上去
(例如:mp3、wma、flac…等)

至於要把抽出來的東西塞回去,直接下指令可以一次弄出一個mkv檔案。
例如:
  1. ffmpeg -i 01.mp4 -i 01.aac -i 01_tc.ass -i 01_eng.ass -map 0:v:0 -map 1:a:0 -map 2:s:0 -map 3:s:0 -c copy out.mkv
複製代碼

但要自動自己去根據檔名塞回去就要再研究了。
畢竟塞回去的東西很難用"猜"的。
...
瀏覽完整內容,請先 註冊登入會員





若新密碼無法使用,可能是數據未更新。請使用舊密碼看看。

使用道具檢舉

ss665332 該用戶已被刪除
6
發表於 2017-5-18 05:39 AM|只看該作者
如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。
本帖最後由 ss665332 於 2017-5-18 06:43 AM 編輯

我使用 FFmpeg 執行下列指令

forfiles /m *.mkv /c "cmd /c c:\ffmpeg\bin\ffmpeg -i @file -map 0:v -map 0:a:0 -c copy -y new\\@fname_pure.mkv"
forfiles /c "cmd /c if @fsize equ 0 (del @file)"

結果用 MediaInfoPortable 查詢輸出的影片卻顯示 ErrorDetectionType : Per level 1
...
瀏覽完整內容,請先 註冊登入會員
附件: 你需要登錄才可以下載或查看附件。沒有帳號?註冊
回覆中加入附件並不會使你增加積分,請使用主題方式發佈附件。

使用道具檢舉

Rank: 1

帖子
575
積分
196 點
潛水值
14681 米
7
發表於 2017-5-18 01:56 PM|只看該作者
如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。
本帖最後由 ren1244 於 2017-5-18 02:25 PM 編輯

你在4F有提到:
另外還想請問 將字幕或音訊批量塞進mkv的批次檔又要怎麼寫???

不知道是不是已經解決?其實我不是很懂細節是甚麼。
假使原檔:aaa.mkv
已抽出:aaa_0.ass、aaa_1.ass、aaa_0.aac、aaa_1.aac
接下來你想怎麼做?(如果已經無此需求以無此需求回答即可)
...
瀏覽完整內容,請先 註冊登入會員
回覆中加入附件並不會使你增加積分,請使用主題方式發佈附件。

使用道具檢舉

ss665332 該用戶已被刪除
8
發表於 2017-5-18 06:02 PM|只看該作者
本帖最後由 ss665332 於 2017-5-18 07:05 PM 編輯
不知道是不是已經解決?其實我不是很懂細節是甚麼。
假使原檔:aaa.mkv
已抽出:aaa_0.ass、aaa_1.ass、aaa_0.aac、aaa_1.aac
接下來你想怎麼做?(如果已經無此需求以無此需求回答即可)

就是將抽出的字幕或音軌塞回mkv檔裡

我執行下列批次檔 可是無法成功
...
瀏覽完整內容,請先 註冊登入會員

點評

ss665332 對  發表於 2017-5-18 10:30 PM
ren1244 所以你要的是第一音軌跟第一字幕軌就好了嗎?  發表於 2017-5-18 10:10 PM
ss665332 只要每多一個軌道 就增加一個map不就好了嗎???  發表於 2017-5-18 09:46 PM
ss665332 不過我覺得應該跟音軌或字幕軌數目無關吧???  發表於 2017-5-18 09:44 PM
ss665332 只要「1影+1音+1字幕」就好了  發表於 2017-5-18 09:41 PM
ren1244 是全部塞回去,還是只要「1影+1音+1字幕」呢?我舉的例子有2個音軌2個字幕軌。  發表於 2017-5-18 09:30 PM
如果你忘記伊莉的密碼,請在登入時按右邊出現的 '找回密碼'。輸入相關資料後送出,系統就會把密碼寄到你的E-Mail。

使用道具檢舉

Rank: 1

帖子
575
積分
196 點
潛水值
14681 米
9
發表於 2017-5-19 12:23 AM|只看該作者
若對尊貴或贊助會員有任何疑問,歡迎向我們查詢。我們的即時通或MSN: admin@eyny.com
本帖最後由 ren1244 於 2017-5-19 01:08 AM 編輯

將以下內容存成bat檔,跟mkv檔放在一起,點bat檔執行
  1. @echo off
  2. REM ==========================
  3. REM ========  設定區  ========
  4. REM ==========================
  5. REM 這邊設定 ffmpeg所在路徑(最後不加斜線)
  6. set ffmpeg_path=C:\ffmpeg\bin
  7. REM 字幕軌、音軌所在之子資料夾(最後加斜線)
  8. set stream_dir=new\
  9. REM 這邊設定要抓的音軌編號(0是第一個)
  10. set audio_track=0
  11. REM 這邊設定要抓的字幕軌編號(0是第一個)
  12. set subtitle_track=0
  13. REM ==========================
  14. REM ========以下請勿更動========
  15. REM ==========================
  16. set PATH=%ffmpeg_path%;%PATH%
  17. IF (%1)==() (
  18. for %%f in (*.mkv) do @aaa.bat %%f
  19. EXIT
  20. )
  21. set fname=%1
  22. set fname=%fname:~0,-4%
  23. if exist %stream_dir%%fname%_%subtitle_track%.ass (goto ass)
  24. if exist %stream_dir%%fname%_%subtitle_track%.srt (goto srt) else (goto err_s)
  25. :ass
  26. set first_s=%stream_dir%%fname%_0.ass
  27. goto go_on
  28. :srt
  29. set first_s=%stream_dir%%fname%_0.srt
  30. goto go_on
  31. :go_on
  32. if exist %stream_dir%%fname%_%audio_track%.aac (goto aac)
  33. if exist %stream_dir%%fname%_%audio_track%.wma (goto wma) else (goto err_a)
  34. :aac
  35. set first_a=%stream_dir%%fname%_0.aac
  36. goto go_no2
  37. :wma
  38. set first_a=%stream_dir%%fname%_0.wma
  39. goto go_no2
  40. :go_no2
  41. ffmpeg -y -i %1 -i %first_a% -i %first_s% -map 0:v:0 -map 1:a:0 -map 2:s:0 -c copy %fname%_new.mkv
  42. goto eof
  43. :err_a
  44. echo %1 ...cannot find audio track
  45. goto err
  46. :err_s
  47. echo %1 ...cannot find subtitle track
  48. goto err
  49. :err
  50. pause
  51. :eof
複製代碼
設定選項說明:
  • REM後面只是註解,更動的是「下一行等號後面」的值
  • ffmpeg_path:ffmpeg存放的路徑
  • stream_dir:先前分離出的字幕軌與音軌所在資料夾(mkv檔的相對路徑),如果跟mkv檔放在一起,這邊留空值即可(也就是刪掉 new\ )
  • audio_track跟subtitle_track:雖然你是要第一個軌道,但我乾脆多這個選項讓你用了

PS.弄成這樣整個很像在寫程式了...


以下補充你在上一樓寫法出現的問題:

cmd /c e:\ffmpeg\bin\ffmpeg -i aaa.mkv -i aaa.aac -i aaa.ass -i -map 0:v:0 -map 1:a:0 -map 2:s:0 -map 3:s:0 -c copy -y aaa_new.mkv

  • -i 後面一定要接一個輸入的檔案
  • 你只有3個檔案,編號是0、1、2,所以 -map 3:s:0 會出錯,因為那個3要對應到第4個輸入的檔案
  • 另外,沒使用 forfiles時,cmd /c其實是多餘的,你可以直接從 e:\ffmp... 開始輸入。





...
瀏覽完整內容,請先 註冊登入會員
如果你忘記伊莉的密碼,請在登入時按右邊出現的 '找回密碼'。輸入相關資料後送出,系統就會把密碼寄到你的E-Mail。

使用道具檢舉

ss665332 該用戶已被刪除
10
發表於 2017-5-19 11:35 AM|只看該作者
分享使你變得更實在,可以使其他人感到快樂,分享是我們的動力。今天就來分享你的資訊、圖片或檔案吧。
本帖最後由 ss665332 於 2017-5-19 02:18 PM 編輯
ren1244 發表於 2017-5-19 01:23 AM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

將以下內容存成bat檔,跟mkv檔放在一起,點bat檔執行
設定選項說明:
...
瀏覽完整內容,請先 註冊登入會員





點評

ss665332 加了pause批次檔還是停不下來  發表於 2017-5-19 03:31 PM
ren1244 先把第一行的 @echo off 刪除,並且在最後多一行 pause 。把執行的畫面拍下來看看?  發表於 2017-5-19 03:06 PM
ss665332 一閃就消失  發表於 2017-5-19 02:29 PM
ren1244 那執行後有顯示 cannot find audio/subtitle track 嗎?還是一閃就消失?  發表於 2017-5-19 02:02 PM
ss665332 bat跟mkv檔是放在e:\test\而音軌跟字幕軌則放在e:\test\new\  發表於 2017-5-19 01:58 PM
ren1244 假使你bat跟mkv檔都放在c:\test\,那麼抽出來的音軌跟字幕軌有放在c:\test\new\嗎?  發表於 2017-5-19 01:55 PM
ren1244 你用"編輯"功能,把你設定區那塊貼出來看看  發表於 2017-5-19 11:40 AM
若對尊貴或贊助會員有任何疑問,歡迎向我們查詢。我們的即時通或MSN: admin@eyny.com

使用道具檢舉

ss665332 該用戶已被刪除
11
發表於 2017-5-19 03:37 PM|只看該作者
如果發覺自己無法使用一些功能或出現問題,請按重新整理一次,並待所有網頁內容完全載入後5秒才進行操作。
本帖最後由 ss665332 於 2017-5-19 04:41 PM 編輯

我把寫的批次檔貼上來 大神您看看

下載: 訪客無法瀏覽下載點,請先 註冊登入會員

點評

ss665332 成功了 感謝  發表於 2017-5-19 06:52 PM
ren1244 更正 18 行,總之就是 aaa.bat 那邊改成你的批次檔名  發表於 2017-5-19 06:32 PM
ren1244 是我的錯,忘記跟你說17行的批次檔名要改成一樣的。例如你的批次檔叫 bbb.bat 那17行那邊要寫 @bbb.bat  發表於 2017-5-19 06:31 PM
若對尊貴或贊助會員有任何疑問,歡迎向我們查詢。我們的即時通或MSN: admin@eyny.com

使用道具檢舉

ss665332 該用戶已被刪除
12
發表於 2017-5-28 04:41 AM|只看該作者
如果你忘記伊莉的密碼,請在登入時按右邊出現的 '找回密碼'。輸入相關資料後送出,系統就會把密碼寄到你的E-Mail。
ren1244 發表於 2017-5-19 01:23 AM
下載: 訪客無法瀏覽下載點,請先 註冊登入會員

將以下內容存成bat檔,跟mkv檔放在一起,點bat檔執行
設定選項說明:

想問大神 能不能用ffmpeg抽出mkv的章節,如果可以參數要怎麼下??...
瀏覽完整內容,請先 註冊登入會員

點評

ren1244 將aaa.mkv從30.125秒開始裁切,到2分0.125秒,輸出成out.aac: ffmpeg -ss 00:00:30.125 -t 00:01:30 -i aaa.mkv -c copy out.aac  發表於 2017-5-30 05:08 PM
ren1244 格式:ffmpeg -ss 起始時間 -t 經過時間 -i 輸入檔名 -c copy 輸出檔名  發表於 2017-5-30 05:01 PM
ss665332 那如果不要依照章節分段 可以直接用ffmpeg將某段時間的影軌或音軌複製出來嗎  發表於 2017-5-30 04:42 PM
ss665332 可是我將有分章節的mkv與批次檔放一起也是一閃就消失  發表於 2017-5-30 04:40 PM
ss665332 是說會把影片各章節輸出到new2資料夾吧  發表於 2017-5-30 04:38 PM
ren1244 如果原本沒分章節的mkv檔案不會有輸出  發表於 2017-5-30 12:08 AM
ren1244 路徑要設定(寫等號後面),批次檔案要跟影片放同資料夾。  發表於 2017-5-30 12:07 AM
ss665332 請問大神 使用這個批次檔有要注意什麼嗎??? 為什麼批次檔執行後畫面一閃就消失  發表於 2017-5-29 06:57 PM
ren1244 批次檔我放這邊: http://codepad.org/oLfjdg7n  發表於 2017-5-29 12:21 PM
ren1244 好像回不了文  發表於 2017-5-29 12:11 PM
如果瀏覽伊莉時速度太慢或無法連接,可以使用其他分流瀏覽伊莉,www01.eyny.com(02,03)。

使用道具檢舉

您需要登錄後才可以回帖 登錄 | 註冊

Powered by Discuz!

© Comsenz Inc.

重要聲明:本討論區是以即時上載留言的方式運作,對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本討論區受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者發現有留言出現問題,請聯絡我們。有權刪除任何留言及拒絕任何人士上載留言,同時亦有不刪除留言的權利。切勿上傳和撰寫 侵犯版權(未經授權)、粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。
回頂部