2017-01-08 133 views
-1

我正在使用ffmpeg窗口的最新靜態構建。FFMPEG同時對音頻和強制字幕進行編碼?

我的輸入文件(.MKV)是:

[video] - 1080, V_MPEG4/ISO/AVC, 14.6 Mbps, ID#0 
[audio] - DTS 5.1, 1510 Kbps, ID#1 
[subtitles] - S_TEXT/ASS Lossless English, ID#14 

我的問題是這樣的:我將音頻轉換,讓我的目標球員,一個XB1控制檯(media support faq),能夠播放音頻/視頻。然而,有時很難聽到或部分可能是外語,所以我想在轉換音頻的同時強制英文字幕進入混音。

目前的音頻,我用下面的命令

ffmpeg -i input.mkv -codec copy -acodec ac3 output.mkv 

我可以以某種方式在強制字幕扎(在視頻)爲了節省服用output.mkv並試圖額外的過程強制字幕?

編輯:Stream map '0:s:14' matches no streams

EDIT2:我已經使用下面的命令來提取字幕,以便能夠對它們進行編輯

ffmpeg -i Movie.mkv -map 0:s:14 subs.srt 

但是我得到的錯誤嘗試試圖提取字幕,併成功

ffmpeg -i input.mkv -map 0:14 -c copy subtitles.ass 

但仍然期待強制字幕,但!

另外 - 這個問題的一點獎勵 - 我可以以某種方式提取.ass文件並編輯它只產生外文部分的字幕 - 所以英文音頻在電影中沒有字幕,但外國音頻確實有字幕?

乾杯

EDIT3:

當我嘗試一次(我前面提到的音頻轉換器&一個從ffmpeg wiki

ffmpeg -i input.mkv -codec copy -acodec ac3 -vf "ass=subs.ass" output.mkv 

我收到以下錯誤同時使用命令from ffmpeg,

Filtergraph 'ass=subs.ass' was defined for video output stream 0:0 but codec copy was selected. 
Filtering and streamcopy cannot be used together. 

回答

0

由於您的媒體播放器不支持字幕,文字必須被刻錄到視頻圖像上。爲此,請使用

ffmpeg -i input.mkv -vf "ass=subs.ass" -c:v libx264 -crf 20 -c:a ac3 output.mkv 

這將重新編碼視頻,因爲正在添加文本。 CRF值控制視頻質量。值越低,質量越好,但文件越大。 18到28是一個體面的範圍嘗試。

相關問題