c_learn_2
1108
2025-04-05
原文:
https://www.cnblogs.com/tocy/p/subtitle-format-srt.html
視頻文件中最簡單、最常見的外掛字幕格式是SRT(SubRip Text)。本人找了好久也沒找到類似的標準文檔,從wiki等資料來看,SRT格式是SubRip軟件所生成從DVD或視頻文件提取的字幕格式,SubRip軟件使用OCR將基于圖形的字幕轉化為純文本格式的字幕,這樣就可以支持諸如渲染、檢索、數據分析等諸多用途。后來出于某些原因普及起來,被主流多媒體播放器所支持,由此也催生了各種字幕組產生。
本文的內容將包括:
SRT字幕基本格式
SRT特效設置
ffmpeg中srt相關用例
其中字幕序號一般是順序增加的,表示字幕是一系列連續的序列。但該數值在字幕顯示中不起任何作用,只是起著標記和標識的作用,方便分配翻譯行數用。字幕序號的值可以隨意,1和100都一樣,并不會影響字幕的顯示。但字幕序號也是字幕段的一部分,所以不能沒有或者刪去,否則在播放時,將出現錯誤。
字幕顯示起始時間的格式如下:
hour:minute:second.millisecond --> hour:minute:second.millisecond?或
hour:minute:second,millisecond --> hour:minute:second,millisecond
后面還可以附加用于指定字幕顯示位置的信息,以像素為單位,格式如下:?X1:number Y1:number X2:number Y2:number。
一個典型的SRT文件如下(截取自阿凡達中英字幕):
3 00:00:39,770 --> 00:00:41,880 在經歷了一場人生巨變之后 When I was lying there in the VA hospital ... 4 00:00:42,550 --> 00:00:44,690 我被送進了退伍軍人管理局醫院 ... with a big hole blown through the middle of my life, 5 00:00:45,590 --> 00:00:48,120 那段時間我經常會夢到自己在飛翔 ... I started having these dreams of flying. 6 00:00:49,740 --> 00:00:51,520 終獲自由 I was free. 7 00:00:54,620 --> 00:00:55,830 而不幸的是 Sooner or later though, ...
2 SRT格式化設置
多數SRT支持一些特定格式化,比如斜體、粗體、下劃線以及字體顏色。使用時需要基于HTML的標簽,具體用法如下:
顏色 字體斜體 字體下加劃線
換行 字體加粗
這些HTML可嵌套。
當然某些播放器還對SRT做了擴展,可以支持ASS/SSA中部分格式化代碼。
3 ffmpeg中srt相關用例
使用ffmpeg可以很輕松的把ass/vtt/lyric轉換為srt文件,命令如下:
ffmpeg -i a.ass b.srt
ffmpeg -i c.vtt d.srt
ffmpeg -i e.lyric f.srt
使用ffplay現在字幕需要使用subtitles?filter,具體命令如下:
./ffplay test.mp4 -vf subtitles=test.srt
對于FFmpeg中的srt demuxer的實現邏輯,基本上是參考SRT基本格式實現的,其中并未支持各種格式,具體代碼請查看srtdec.c。
4 小結
srt字幕以其簡單、體積小、易查看、易掌握等優點,深得人們的喜愛,但便利的代價就是樣式少,無法實現復雜的特效。
本文整理了srt字幕的基本格式以及支持的格式,同時介紹了ffmpeg中srt格式生成和渲染的用法,僅供后續參考。
5 參考資料
wiki-SRT
multimedia-SubRip
mkv-SRT
SRT字幕的顏色以及一些特效的設置
SRT字幕完全手冊
SubRit Text
/----------------------------------------------------------------/
youtu字幕轉srt參考:
https://github.com/jptiancai/Google2SRT
https://gist.github.com/Dobby233Liu/29b27e4e6b0c96ced83909f2504845b0
https://gist.github.com/javatask/dc195cc6ad25f859dcd54f1e8aa1e235
https://github.com/LuisMayo/GoogleSTTtoSRTConverter
網絡
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。