Matroska文件的SSA/ASS Subtitle
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相关推荐
- Matroska文件的SRT Subtitle
1.SRT简单介绍 SRT是一种比较流行的文本字幕,因为是文本格式,所以就比较小了,因为其制作规范简单,一句时间代码+一句字幕,使得制作修改就相当简单,配合上.style文件还能让srt自带一些字体上 ...
- 从TS文件中提取DVB Subtitle字幕的有效方法
从TS文件中提取DVB Subtitle字幕的有效方法 深圳市同洲电子股份有限公司韦斌 (本文发表于<卫星电视与宽带多媒体>2013年16期) 摘要:DVB Subtitling标准 ...
- Matroska文件解析之SimpleBlock
分析二进制文件是一件痛苦的事情,最近在做一个关于流媒体的项目研究,涉及到webm这种开源视频文件,它其实就是用Matroska(也就是大家熟悉的MKV容器格式)包裹VP8和VBRIS,没什么特别的. ...
- webM文件解析--基于Matroska和EBML
1. 什么是webM 要说webM,先说Matroska,Matroska是一个可扩展的,开源的多媒体容器(说简单点,容器的作用,就是把视频和音频封装到一个文件).使用这种容器的常见文件,一个是MKV ...
- VLC-2.2.6命令行帮助文件
VLC-2.2.6 用 vlc -H 命令生成的 vlc-help.txt 文件: 用法: vlc [选项] [流] ... 您可以在命令行中指定多个流. 它们将被加入播放列表队列. 指定的首个项目将 ...
- 视频字幕制作:Subtitle Studio for Mac
想要轻松制作视频字幕怎么办呢?推荐一款mac视频字幕制作工具Subtitle Studio,Subtitle Studio for Mac是Mac系统中一款非常受欢迎的制作视频字幕的工具,您将需要的唯 ...
- Subtitle Studio for Mac(视频字幕制作软件)
Subtitle Studio mac版是Macos上一款视频字幕制作软件,能够帮助大家快速进行视频调整.编辑.创建.嵌入字幕操作.这款软件简单易用,容易上手,这款软件支持M4V,MOV,AVI,MK ...
- 走进音视频的世界——Matroska封装格式的介绍(二)
Matroska封装格式非常灵活.兼容性好,既适用于本地文件存储又可以进行实时流传输.本篇文章主要探讨Matroska的编解码器映射,如何封装视频流.音频流.字幕流.如果要Matroska的介绍.功能 ...
- 使用FFmpeg将字幕文件集成到视频文件
本文最后更新于:2015-05-25 13:12:00 原文:http://www.yaosansi.com/post/ffmpeg-burn-subtitles-into-video 向视频文件里添 ...
最新文章
- python实现yolo目标检测_从零开始PyTorch项目:YOLO v3目标检测实现
- 浅谈PHP的Public、Protected、Private三种方法的区别
- [转]多级配方处理的简洁方式
- pyqt5窗口 样式 背景
- 农行发布年报,日赚5.3亿,人均薪酬23万!
- Linux 命令之 file 命令-识别文件类型
- AcWing之找出不改变数组找到重复的数字
- 学习Spring Boot:(九)统一异常处理
- byteofpython中文gitbook_Gitbook快速简明教程
- JAVA中在switch语句里使用枚举
- 架空线路的基本结构及组成
- 赠人玫瑰,手有余香,今日份黑科技软件五款奉上
- 关于职业发展:一篇不错的文章分享
- 伤害世界服务器修改,伤害世界获取GM权限修改方法讲解
- Win10安装.msi文件出现问题
- matlab编程复指数,matlab复指数序列
- 小程序战局最新动态!这些你应该知道
- vnc连接,什么是vnc连接?有好用的vnc连接软件推荐吗?
- 第六周 day6 python学习笔记
- ECCV2020:夜晚深度图估计