使用ffmpeg為視頻嵌入字幕

作為一個(gè)輕度電影收藏愛好者筛严,看過的電影都會(huì)丟到硬盤里放著,但是網(wǎng)絡(luò)上有些電影資源并沒有內(nèi)嵌字幕忘巧,還需要外掛一個(gè)字幕恒界,但是這樣在保存的時(shí)候就需要保存兩個(gè)文件,就令我很不爽砚嘴,好在可以使用ffmpeg將字幕嵌入到視頻文件中十酣。

現(xiàn)在的大多電影都使用mkv格式,也有部分使用mp4际长,mkv格式本身支持字幕軌道耸采,而mp4則需要調(diào)用mov_text編碼器,在ffmpeg中可以很方便的將字幕和視頻進(jìn)行整合:

在我的硬盤內(nèi)有一個(gè)名為movie.mkv的電影文件和一個(gè)名為sub.srt的字幕文件工育,在終端輸入如下命令:

ffmpeg -i movie.mkv -i sub.srt -c:s copy -c:v copy -c:a copy output.mkv

等待程序運(yùn)行完成后虾宇,得到了一個(gè)名為output.mkv的視頻文件,打開播放后翅娶,并沒有出現(xiàn)字幕文留,但是在播放器里可以看到一個(gè)字幕流,于是我使用ffprobe檢查了這兩個(gè)視頻文件:

movie.mkv:

MycBook:Downloads simon$ ffprobe moive.mkv
Input #0, matroska,webm, from 'movie.mkv':
...
...
    Stream #0:0(eng): Video: h264 (High), yuv420p(progressive), 1920x1040, SAR 1:1 DAR 24:13, 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
    Stream #0:1(fre): Audio: dts (DTS), 48000 Hz, 5.1(side), fltp, 1536 kb/s (default)
    Metadata:
      title           : DTS 5.1
    Stream #0:2(fre): Subtitle: subrip (default) (forced)
    Metadata:
      title           : Forced

output.mkv:

MycBook:Downloads simon$ ffprobe output.mkv
Input #0, matroska,webm, from 'output.mkv':
...
...
    Stream #0:1(fre): Audio: dts (DTS), 48000 Hz, 5.1(side), fltp, 1536 kb/s (default)
    Metadata:
      title           : DTS 5.1
      DURATION        : 01:33:20.681000000
    Stream #0:2(fre): Subtitle: subrip (default) (forced)
    Metadata:
      title           : Forced
      DURATION        : 00:10:53.068000000

原來是原來的視頻有一個(gè)詭異的字幕流竭沫,只有10分鐘燥翅,顯然我在讓ffmpeg自動(dòng)選擇時(shí),程序自動(dòng)選擇了原視頻中的字幕流蜕提,而我的字幕文件根本沒有被加載森书。找到了問題,那就手動(dòng)指定要抽取的字幕流好了,這時(shí)就需要用到-map參數(shù):

ffmpeg -i movie.mkv -i sub.srt -map 0:v -map 0:a -map 1:s -c copy output.mkv 

其中movie.mkv的編號(hào)為#0凛膏,sub.srt的是#1杨名,v代表視頻流,a代表音頻流猖毫,s則代表字幕流台谍,程序會(huì)從#0中抽取視頻流和音頻流、從#1中抽取字幕流吁断,復(fù)制到output.mkv中趁蕊。
另外,最后的copy參數(shù)一定要加上仔役,否則ffmpeg會(huì)對(duì)音視頻流進(jìn)行重新編碼掷伙,將極大增加處理時(shí)間。

但是這時(shí)問題又出現(xiàn)了又兵,在運(yùn)行上述命令后任柜,程序出現(xiàn)報(bào)錯(cuò):

sub.srt: Invalid data found when processing input

使用less命令查看srt文件,原來是缺了一行沛厨,好在ffmpeg可以對(duì)字幕進(jìn)行修復(fù)宙地,執(zhí)行命令:

ffmpeg -fix_sub_duration -i sub.srt sub2.srt

所有文件準(zhǔn)備妥當(dāng),再重新進(jìn)行合并俄烁,得到的output文件成功嵌入了字幕文件绸栅!

ffmpeg -i movie.mkv -i sub2.srt -map 0:v -map 0:a -map 1:s -c copy output.mkv 
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市页屠,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蓖柔,老刑警劉巖辰企,帶你破解...
    沈念sama閱讀 219,589評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異况鸣,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門输拇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來循诉,“玉大人,你說我怎么就攤上這事懂酱≈裣埃” “怎么了?”我有些...
    開封第一講書人閱讀 165,933評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵列牺,是天一觀的道長整陌。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么泌辫? 我笑而不...
    開封第一講書人閱讀 58,976評(píng)論 1 295
  • 正文 為了忘掉前任随夸,我火速辦了婚禮,結(jié)果婚禮上震放,老公的妹妹穿的比我還像新娘宾毒。我一直安慰自己,他們只是感情好殿遂,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,999評(píng)論 6 393
  • 文/花漫 我一把揭開白布伍俘。 她就那樣靜靜地躺著,像睡著了一般勉躺。 火紅的嫁衣襯著肌膚如雪癌瘾。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,775評(píng)論 1 307
  • 那天饵溅,我揣著相機(jī)與錄音妨退,去河邊找鬼。 笑死蜕企,一個(gè)胖子當(dāng)著我的面吹牛咬荷,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播轻掩,決...
    沈念sama閱讀 40,474評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼幸乒,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了唇牧?” 一聲冷哼從身側(cè)響起罕扎,我...
    開封第一講書人閱讀 39,359評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎丐重,沒想到半個(gè)月后腔召,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,854評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡扮惦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,007評(píng)論 3 338
  • 正文 我和宋清朗相戀三年臀蛛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片崖蜜。...
    茶點(diǎn)故事閱讀 40,146評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡浊仆,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出豫领,到底是詐尸還是另有隱情抡柿,我是刑警寧澤,帶...
    沈念sama閱讀 35,826評(píng)論 5 346
  • 正文 年R本政府宣布氏堤,位于F島的核電站沙绝,受9級(jí)特大地震影響搏明,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜闪檬,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,484評(píng)論 3 331
  • 文/蒙蒙 一星著、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧粗悯,春花似錦虚循、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至衫哥,卻和暖如春茎刚,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背撤逢。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評(píng)論 1 272
  • 我被黑心中介騙來泰國打工膛锭, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蚊荣。 一個(gè)月前我還...
    沈念sama閱讀 48,420評(píng)論 3 373
  • 正文 我出身青樓初狰,卻偏偏與公主長得像,于是被迫代替她去往敵國和親互例。 傳聞我的和親對(duì)象是個(gè)殘疾皇子奢入,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,107評(píng)論 2 356

推薦閱讀更多精彩內(nèi)容