1、SSA/ASS简单介绍

SSA全称SubStation Alpha, 是由CS Low(又称Kotus)创建的一种字幕格式,用以实现比传统字幕诸如srt等格式更为复杂的功能。SSA目前的版本为v4.00. SSA同时也是一款软件的名称,专用于创建和编辑SSA格式的字幕。ASS是一种比SSA更为高级的字幕格式,全称Advanced SubStation Alpha,实质是SSA v4.00+ 版本,它拥有比SSA更多的功能。

关于SSA/ASS字幕格式的详细说明,可以参考下面的文档:

http://www.perlfu.co.uk/projects/asa/ass-specs.doc

我在人人影视下载了一个ASS格式的字幕,是一份中英双语字幕,摘录部分,如下:

----------------------------------------------------------------------------------------------------------------------------------

[Script Info]
; // The sub is created by AssToolkit
; // AssToolkit is an ASS Converter designed by David C.
; // 欢迎访问人人影视 http://www.YYeTs.com
Title:YYeTs
Original Script:YYeTs
Synch Point:0
ScriptType:v4.00+
Collisions:Normal
Timer:100.0000

[V4+ Styles]
Style: Default,方正黑体_GBK,21,&H00FFFFFF,&HF0000000,&H00000000,&HF0000000,0,0,0,0,100,100,0,0.00,1,2,1,2,5,5,5,134
Style: LOGO,微软雅黑,21,&H00FFFFFF,&HF0000000,&H0D0D0D&,&H00000000,0,0,0,0,100,100,1,0.00,1,2,0,2,30,30,5,134
Style: sub,方正黑体简体,21,&H00FFFFFF,&HF0000000,&H006C3300,&H00000000,-1,0,0,0,100,100,0,0,1,2,1,2,5,5,5,134

[Events]
Format: Layer, Start, End, Style, Actor, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:00.10,0:00:02.20,*Default,NTP,0000,0000,0000,,{\an8}[前情提要]
Dialogue: 0,0:00:00.63,0:00:01.96,*Default,NTP,0000,0000,0000,,乌鸦能让你开眼\N{\fn微软雅黑}{\fs14}{\b0}{\fsp0}{\c&HFFFFFF&&}{\3c&000000&}The raven brings the sight.

-----------------------------------------------------------------------------------------------------------------------------------

2、Matroska文件的SSA/ASS字幕

上面说的是外置字幕,作为单独的文件存在。那么,SSA/ASS字幕作为内置字幕是如何存放在Matroska文件中的呢?

在Matroska文件中,无论是SSA/ASS类型的字幕,还是SRT类型的字幕,都是作为一个单独的Track存在的。SSA/ASS字幕保存在Matroska文件中,有如下四个方面的工作:

(1)所有内容全部转化成UTF-8格式;

(2)所有的头信息,保存在CodecPrivate在,包括Script Info和Styles list;

(3)Events中的Start和End两个field会被提取出来,Start设置给timecode,End - Start的值设置给BlockDuration;

(4)Events中剩下的field按照一定的顺序保存在block中。需要说明的一点是,需要在Layer field前面添加一个ReadOrder field。

以上面的例子为例说明一下:

(1)保存在CodecPrivate中的内容

---------------------------------------------------------------------------------------------------------------------------------

[Script Info]
; // The sub is created by AssToolkit
; // AssToolkit is an ASS Converter designed by David C.
; // 欢迎访问人人影视 http://www.YYeTs.com
Title:YYeTs
Original Script:YYeTs
Synch Point:0
ScriptType:v4.00+
Collisions:Normal
Timer:100.0000

[V4+ Styles]
Style: Default,方正黑体_GBK,21,&H00FFFFFF,&HF0000000,&H00000000,&HF0000000,0,0,0,0,100,100,0,0.00,1,2,1,2,5,5,5,134
Style: LOGO,微软雅黑,21,&H00FFFFFF,&HF0000000,&H0D0D0D&,&H00000000,0,0,0,0,100,100,1,0.00,1,2,0,2,30,30,5,134
Style: sub,方正黑体简体,21,&H00FFFFFF,&HF0000000,&H006C3300,&H00000000,-1,0,0,0,100,100,0,0,1,2,1,2,5,5,5,134

-------------------------------------------------------------------------------------------------------------------------------

(2)保存在timecode与BlockDuration中的内容

上面的例子中给出了对应的两句字幕,因此相应的内容也会被保存在两个Block中。

第一个block:

timecode               0:00:00.100

BlockDuration      0:00:02.100

第二个block:

timecode               0:00:00.630

BlockDuration      0:00:01.330

(3)保存在block中的数据

这部分数据作为媒体数据保存在block中,和保存video、audio媒体数据一样。

第一个block:

0,0,*Default,NTP,0000,0000,0000,,{\an8}[前情提要]

第二个block:

1,0,*Default,NTP,0000,0000,0000,,乌鸦能让你开眼\N{\fn微软雅黑}{\fs14}{\b0}{\fsp0}{\c&HFFFFFF&&}{\3c&000000&}The raven brings the sight.

开头的0和1是ReadOrder,这部分在SSA/ASS文件中是不存在的。

Matroska文件的SSA/ASS Subtitle相关推荐

  1. Matroska文件的SRT Subtitle

    1.SRT简单介绍 SRT是一种比较流行的文本字幕,因为是文本格式,所以就比较小了,因为其制作规范简单,一句时间代码+一句字幕,使得制作修改就相当简单,配合上.style文件还能让srt自带一些字体上 ...

  2. 从TS文件中提取DVB Subtitle字幕的有效方法

     从TS文件中提取DVB Subtitle字幕的有效方法 深圳市同洲电子股份有限公司韦斌 (本文发表于<卫星电视与宽带多媒体>2013年16期) 摘要:DVB Subtitling标准 ...

  3. Matroska文件解析之SimpleBlock

    分析二进制文件是一件痛苦的事情,最近在做一个关于流媒体的项目研究,涉及到webm这种开源视频文件,它其实就是用Matroska(也就是大家熟悉的MKV容器格式)包裹VP8和VBRIS,没什么特别的. ...

  4. webM文件解析--基于Matroska和EBML

    1. 什么是webM 要说webM,先说Matroska,Matroska是一个可扩展的,开源的多媒体容器(说简单点,容器的作用,就是把视频和音频封装到一个文件).使用这种容器的常见文件,一个是MKV ...

  5. VLC-2.2.6命令行帮助文件

    VLC-2.2.6 用 vlc -H 命令生成的 vlc-help.txt 文件: 用法: vlc [选项] [流] ... 您可以在命令行中指定多个流. 它们将被加入播放列表队列. 指定的首个项目将 ...

  6. 视频字幕制作:Subtitle Studio for Mac

    想要轻松制作视频字幕怎么办呢?推荐一款mac视频字幕制作工具Subtitle Studio,Subtitle Studio for Mac是Mac系统中一款非常受欢迎的制作视频字幕的工具,您将需要的唯 ...

  7. Subtitle Studio for Mac(视频字幕制作软件)

    Subtitle Studio mac版是Macos上一款视频字幕制作软件,能够帮助大家快速进行视频调整.编辑.创建.嵌入字幕操作.这款软件简单易用,容易上手,这款软件支持M4V,MOV,AVI,MK ...

  8. 走进音视频的世界——Matroska封装格式的介绍(二)

    Matroska封装格式非常灵活.兼容性好,既适用于本地文件存储又可以进行实时流传输.本篇文章主要探讨Matroska的编解码器映射,如何封装视频流.音频流.字幕流.如果要Matroska的介绍.功能 ...

  9. 使用FFmpeg将字幕文件集成到视频文件

    本文最后更新于:2015-05-25 13:12:00 原文:http://www.yaosansi.com/post/ffmpeg-burn-subtitles-into-video 向视频文件里添 ...

最新文章

  1. python实现yolo目标检测_从零开始PyTorch项目:YOLO v3目标检测实现
  2. 浅谈PHP的Public、Protected、Private三种方法的区别
  3. [转]多级配方处理的简洁方式
  4. pyqt5窗口 样式 背景
  5. 农行发布年报,日赚5.3亿,人均薪酬23万!
  6. Linux 命令之 file 命令-识别文件类型
  7. AcWing之找出不改变数组找到重复的数字
  8. 学习Spring Boot:(九)统一异常处理
  9. byteofpython中文gitbook_Gitbook快速简明教程
  10. JAVA中在switch语句里使用枚举
  11. 架空线路的基本结构及组成
  12. 赠人玫瑰,手有余香,今日份黑科技软件五款奉上
  13. 关于职业发展:一篇不错的文章分享
  14. 伤害世界服务器修改,伤害世界获取GM权限修改方法讲解
  15. Win10安装.msi文件出现问题
  16. matlab编程复指数,matlab复指数序列
  17. 小程序战局最新动态!这些你应该知道
  18. vnc连接,什么是vnc连接?有好用的vnc连接软件推荐吗?
  19. 第六周 day6 python学习笔记
  20. ECCV2020:夜晚深度图估计

热门文章

  1. 华为交换机CE12808导入导出配置文件
  2. Python或即将被纳入高考,小学生都在学Python编程,高薪资高吸引力你还在等吗?
  3. 纳思达:完美布局打印全产业链,持续开拓芯片品类
  4. [转]这13个开源GIS软件,你了解几个?
  5. 02,Python网络爬虫第二弹《http和https协议》
  6. PyTorch 60 分钟入门教程中的一些疑惑
  7. PAT甲级1082 Read Number in Chinese(JAVA版)
  8. Roslaunch使用GDB调试
  9. String转成JSON格式
  10. 进程的终止方式以及exit函数