[ 转]SRT字幕格式

网友投稿 937 2022-05-30

原文:

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都一样,并不会影响字幕的显示。但字幕序号也是字幕段的一部分,所以不能没有或者删去,否则在播放时,将出现错误。

[ 转]SRT字幕格式

字幕显示起始时间的格式如下:

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小时内删除侵权内容。

上一篇:非结构化数据库mongo操作入门
下一篇:MRTG架设与更新
相关文章