SRT字幕格式

0 引言

视频文件中最简单、最常见的外挂字幕格式是SRT(SubRip Text)。本人找了好久也没找到类似的标准文档,从wiki等资料来看,SRT格式是SubRip软件所生成从DVD或视频文件提取的字幕格式,SubRip软件使用OCR将基于图形的字幕转化为纯文本格式的字幕,这样就可以支持诸如渲染、检索、数据分析等诸多用途。后来出于某些原因普及起来,被主流多媒体播放器所支持,由此也催生了各种字幕组产生。
本文的内容将包括:

  • SRT字幕基本格式

  • SRT特效设置

  • ffmpeg中srt相关用例

1 SRT基本格式

SRT字幕通常以srt作为后缀,作为外挂字幕,多数主流播放器都支持直接加载并显示SRT字幕,具体细节看参考SubRip (.SRT) subtitles support in players
该格式是基于纯文本的格式,使用CR+LF作为换行符(Windows下常用换行符,*nix使用LF作为换行符)。每个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文件如下(截取自阿凡达中英字幕):

  1. 3
  2. 00:00:39,770 --> 00:00:41,880
  3. 在经历了一场人生巨变之后
  4. When I was lying there in the VA hospital ...
  5. 4
  6. 00:00:42,550 --> 00:00:44,690
  7. 我被送进了退伍军人管理局医院
  8. ... with a big hole blown through the middle of my life,
  9. 5
  10. 00:00:45,590 --> 00:00:48,120
  11. 那段时间我经常会梦到自己在飞翔
  12. ... I started having these dreams of flying.
  13. 6
  14. 00:00:49,740 --> 00:00:51,520
  15. 终获自由
  16. I was free.
  17. 7
  18. 00:00:54,620 --> 00:00:55,830
  19. 而不幸的是
  20. Sooner or later though, ...

2 SRT格式化设置

多数SRT支持一些特定格式化,比如斜体、粗体、下划线以及字体颜色。使用时需要基于HTML的标签,具体用法如下:

<font color=red>颜色</font><i>字体斜体</i><u>字体下加划线</u><br>换行<b>字体加粗</b>

这些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 参考资料

  1. wiki-SRT

  2. multimedia-SubRip

  3. mkv-SRT

  4. SRT字幕的颜色以及一些特效的设置

  5. SRT字幕完全手册

  6. SubRit Text

(0)

相关推荐

  • srtedit

    srtedit SrtEdit是一款功能非常强大的文本字幕编辑器,操作也非常的简便,最让惊喜的这款软件基本支持如今常用的字幕文件,SRT字幕文件.SSA字幕文件.ASS字幕文件以及LRC歌词文件都能让 ...

  • 《FFmpeg Basics》中文版-14-元数据和字幕

    写在前面如果您对音视频技术感兴趣,可以订阅我的专题:音视频专辑也可以关注我的简书账户:张芳涛,我后期会发布更多的音视频以及图像处理方面的文章.正文媒体文件中的元数据包含艺术家,作者,日期,流派,发布者 ...

  • premiere导入SRT字幕无法修改格式怎么办?

    本条经验讲诉的是SRT字幕导入PR无法修改格式的应对方法,主要表现为修改字幕默认的背景颜色为0%后点击回车键,字幕无变化,修改字幕的字体和字号为大号后点击回车键,字幕无反应,删除字幕内容,视频中字幕不 ...

  • 《SRT字幕特效代码大全》

    ​制作自己喜欢的SRT字幕特效[给片头.片尾加点特别的效果] 本帖最后由 trhjd 于 2009-11-8 18:18 编辑 大家都下载过SRT字幕看片,很多人以为打开SRT字幕进行编辑修改.加入字 ...

  • 剪映识别字幕那么好,能不能导出srt字幕,用于其他视频编辑软件?为您提供两种方案。

    剪映的智能字幕真的不错,正确率高,断句好,时间卡得很准.如果能导出srt字幕,用于其他软件是不是更好呢?今天我们提供两种方案,帮您解决这个问题.第一种方案,找到字幕缓存文件,使用我们提供的工具转换成s ...

  • srt字幕怎么导入视频 (视频字幕合并教程)

    不知道怎么将srt字幕怎么导入视频?来看下这个简单的教程吧! 第一步: 首先,下载安装4K Video Downloader软件到你的电脑上,然后运行它. 第二步: 打开软件,然后选择"转换 ...

  • [转载]影视剧台词字幕格式、文字内容要求详解

    原文地址:影视剧台词字幕格式.文字内容要求详解作者:浅貌情 台词字幕相关要求: ***请务必按照如下要求认真校对,错一个字罚50元.*** ***全片错误超过十处,技审不予审查,退回剧组重新校对.** ...

  • 如何永久性合并SRT字幕与视频文件

    虽然我们之前在下载YouTube字幕的教程里面提到了如何合并字幕与视频,很多同学还是不知道怎么操作, 今天小编给大家分享一下详细的操作步骤. Part 1. 为什么合并字幕与视频 在下载YouTube ...

  • BBC精工制作的CBeebies Bedtime Stories合集(277个经典故事,适合小学阶段,同步SRT字幕)

    本站此类文章只保留最新一期.如此前一季度内发过的某一项资料错过,现急需,请加微信1825857217 致远,发不少于10元的红包获取.更早的资料不久会重发,请勿索取. 专属资源.专题讲座.答疑解难:武 ...

  • ssa/ass字幕格式全解析

    学好SSA主要从两个方面着手:一个是SSA文件的组成结构;一个是SSA代码. 一.SSA文件的组成结构 SSA文件主要由三大部分组成:[Script Info]部分,[v4 Styles]部分和[Ev ...

  • 视频、音频自动生成srt字幕软件/永久免费

    原创 帅帅的剪辑师 帅帅的剪辑师 2021-10-19 做短视频的都知道 视频加字幕是个苦力活 某宝工具加字幕一分钟都要10-20元左右 今天给大家分享一款神器 VideoSrt 是一款 Window ...