1. 字幕Subtitles
2. 字幕类型
3. 字幕格式
4. 常用文本字幕
5. 字幕编辑器
6. 字幕编辑器比较

1. 字幕Subtitles

https://en.wikipedia.org/wiki/Subtitles
视频字幕编码的方法既可以与视频一起预渲染,也可以作为图形或文本分离,以由接收器渲染和覆盖.

个人也可以使用免费创建的字幕创建软件来创建字幕,例如,

  • Windows: 字幕工作坊 Subtitle_Workshop;
  • Mac/Windows: MovieCaptioner;
  • Linux: 字幕编辑器 Subtitle_Composer;

然后使用诸如 VirtualDubVSFilter 的程序将其硬编码到视频文件中.在许多软件视频播放器中也可以将字幕显示为软字幕.

自动字幕
https://en.wikipedia.org/wiki/Speech-to-text
在YouTube中,自动字幕可以用英语,荷兰语,法语,德语,意大利语,日语,韩语,葡萄牙语,俄语和西班牙语提供.
适用于Linux的语音识别软件
https://en.wikipedia.org/wiki/Speech_recognition_software_for_Linux
语音识别软件列表
https://en.wikipedia.org/wiki/List_of_speech_recognition_software

2. 字幕类型

字幕有两种形式:

  • 开放字幕是“向所有人开放”,不能由观看者关闭;
  • 封闭字幕是为特定的观看者群体设计的,通常可以打开/关闭或由观看者选择-例如图文电视页面,美国隐藏式字幕(608/708),DVB位图字幕,DVD/蓝光字幕.

提取字幕(Extract Subtitle)
$ ffmpeg -i xx.mkv -map 0:s:0 sub1.srt

在分发内容时,字幕可以以以下三种类型之一出现:

  • Hard 硬字幕(hardsubs, 开放式字幕 open subtitles): 字幕文本不可逆地合并在原始视频帧中,因此不需要特殊的设备或软件即可播放.
  • Prerendered 预渲染(closed 封闭): 字幕是单独的视频帧,在播放时会叠加在原始视频流上.DVD和Blu-ray上使用了预渲染的字幕(尽管它们与视频流包含在同一文件中).可以关闭它们或具有多个语言字幕并在它们之间切换,需要播放器必须支持.需要特殊的OCR软件才能更改此类字幕,例如SubRip 存在将此类字幕转换为“软”字幕的功能.
  • Soft 软字幕(softsubs, closed subtitles 可关闭字幕): 是单独的指令,通常要在播放期间显示与时间戳一专门标记的文本.需要播放器的支持.有多种不兼容的字幕文件格式(但通常可以相互转换).软字幕相对容易创建和更改,因此经常用于粉丝订阅.文本渲染质量可能会因播放器而异,但通常要高于预渲染的字幕.同样,某些格式给最终用户带来了文本编码方面的麻烦,特别是如果同时使用不同的语言(例如拉丁和亚洲脚本)时,尤其如此.

3. 字幕格式

https://zh.wikipedia.org/wiki/字幕格式
字幕格式共分为两类:图形数据格式和文本数据格式.

  • 图形数据格式: 这类字幕数据以图片方式呈现,文件体积较大,不易于修改,有时亦称为“硬字幕”.
    • SUB格式: SUB格式的字幕数据由字幕图片文件(.sub文档)和字幕索引文件(.idx文档)组成.一个.sub文档可同时包含多个语言的字幕,由.idx进行调用.常见于DVD-VIDEO,但在DVD中,这两个文件被集成到VOB内,需要通过软件分离VOB来获取字幕文件.
    • SST格式: SST(Sonic Scenarist)
    • SON格式: SON(Spruce DVDMaestro)
  • 文本数据格式: 这类字幕数据以文本格式呈现,文件体积较小,可直接用文本编辑器进行修改,有时亦称为“软字幕”.
    • SRT格式: SRT(Subripper)是最简单的文本字幕格式,扩展名为.srt,其组成为:一行字幕序号,一行时间代码,一行字幕数据
    • SSA,ASS格式: SSA(Sub Station Alpha)是为了解决SRT过于简单的字幕功能而开发的高级字幕格式,其扩展名为.SSA及更高级的.ASS.
    • SMI格式: SMI(Sami),其扩展名为.smi,现已能被部分掌机播放器所支持的字幕格式.
    • PSB格式: PSB(Power Divx)
    • PJS格式: PJS(Phoenix japanimation)
    • STL格式: STL(Spruce subtittle flie)
    • TTS格式: TTS(Turbo tittle)
    • VSF格式: VSF(Viplay)
    • ZEG格式: ZEG(Zero G)

字幕格式: https://en.wikipedia.org/wiki/Subtitles#Subtitle_formats
对于软件视频播放器: https://en.wikipedia.org/wiki/Subtitles#For_software_video_players
对于媒体: https://en.wikipedia.org/wiki/Subtitles#For_media

4. 常用文本字幕

SRT格式: SRT(Subripper)是最简单的文本字幕格式,扩展名为.srt,其组成为:一行字幕序号,一行时间代码,一行字幕数据,例如:

35
00:06:07,650 --> 00:06:09,920
{\r译文字幕}我有点饿了
{\r原文字幕}I'm a little hungry.

SSA,ASS格式: SSA(Sub Station Alpha)是为了解决SRT过于简单的字幕功能而开发的高级字幕格式,其扩展名为.SSA及更高级的.ASS.
https://zh.wikipedia.org/wiki/SubStation_Alpha

  • SSA:比传统字幕(如SRT)更加强大先进的字幕文件格式.广受欢迎但已停止开发的字幕编辑制作工具.可设定字幕的大小和位置,可实现动态文本和水印等复杂的功能.
  • ASS:比SSA更先进的字幕脚本格式.基于SSA 4.00+编码构建.在SSA编写风格的基础上增添更多的效果和指令,比普通的SSA更为规范.

该字幕格式常被字幕组所应用,分为内挂字幕、外挂字幕和内嵌字幕三种形式.
内挂字幕一般指字幕文件与视频一同封装在MKV文件中,播放时需经过VSFilter渲染.
外挂字幕指字幕文件以单独形式存在,播放时经VSFilter渲染到视频上.内、外挂字幕又称软字幕,是可以提取、取出和查看源代码的.
而内嵌字幕则是指字幕被以图形方式硬编码到视频中,所以播放时不需VSFilter等渲染,一般来说,该过程不可逆.
https://zh.wikipedia.org/wiki/媒体播放器列表#字幕支持

5. 字幕编辑器

https://en.wikipedia.org/wiki/Subtitle_editor
相关软件
SubRip-免费。不是编辑器,而是用于通过光学字符识别从VOB或硬字幕视频文件中提取字幕的字幕文件。
Avidemux-免费。Avidemux是一种视频编辑软件,可用于提取字幕,例如SubRip。
VobSub / VSFilter / DirectVobSub-不是编辑器,而是Windows附加组件(DirectX过滤器),它在视频播放期间显示字幕。

6. 字幕编辑器比较

https://en.wikipedia.org/wiki/Comparison_of_subtitle_editors

Name License Platform 音频波形 支持格式 额外的信息
Aegisub GPL (code:ISC/BSD3c) 跨平台 Yes SSA/ASS, MicroDVD, .srt (Full support)
AdobeEncore, EBU STL (Write Only) JACOsub (Read Only)
对RTL语言的支持有限。它主要用于创建ASS字幕。使用libass,使ASS效果正确显示在内部媒体播放器中。
Amara GPL Affero v3/commercial 跨平台 ?   带有字幕编辑器和工作流工具的云平台,用于协作字幕和字幕,包括对机器生成的字幕进行更正。附加组件包括自动语音识别。
fiveLoadSub GPLv3 跨平台 Yes srt/fls input,fls,srt,sbv,xml for premiere/fcp7/fcpx output 纯HTML + JS,直接在澳门的浏览器上运行
Subtitle Workshop GPLv3 跨平台 No 65~  
Subtitle Composer GPLv2 Linux, Win Yes AQTitle, DVB, DirectVobSub, HDMV-PGS, JACOsub, MicroDVD, MPsub, OGM, Phoenix (PJS), QuickTime, RealText, SAMI, SubRip, SSA/ASS, SubViewer, TMPlayer, VPlayer, VobSub, XSUB 使用Qt5和KF5 用C ++ 编写。支持OCR,语音识别,翻译,文本样式,脚本。集成的视频播放器和交互式波形。
Gnome Subtitles GPL Linux ?    
Subtitle Editor GPLv3 Linux Yes    
Subtitle Edit GPL Windows Yes 200+ 翻译模式,拼写检查,使用.NET Framework
CaptionHub ?商业 跨平台 Yes VTT, TTML, SRT, SCC, EBU-STL, SMI, CSV and others 用于协作字幕和字幕的云平台。它结合了自动语音识别功能和针对语言学家和验证者的简单,可管理的工作流程。
SubtitleNEXT $549-4599 跨平台 Yes Many 广播和创作工具
Online Captions & Subtitles Toolkit $10+/Month 跨平台 Yes All professional formats 在线创建字幕。适用于专业和非专业用户的工具。
MovieCaptioner $99 OS X, Win ? Many MovCaptioner
CaptionMaker/MacCaption $1720 OS X, Win Interactive Many  

Subtitles的更多相关文章

  1. Html5-Video标签以及字幕subtitles和captions的区别

    <video id="mainvideo" src="video.mp4" type="video/mp4"controls auto ...

  2. video.js

    1.github地址 2.常用API: class : video-js: video-js应用视频所需的风格.js功能,比如全屏和字幕. vjs-default-skin: vjs-default- ...

  3. video.js--很赞的H5视频播放库

    video.js是一款很流行的html5视频播放插件.很适合在移动端播放视频(比如微信网页),功能强大,且支持降级到flash,兼容ie8.官网:http://videojs.com/    git& ...

  4. 05. Web大前端时代之:HTML5+CSS3入门系列~H5 多媒体系

    Web大前端时代之:HTML5+CSS3入门系列:http://www.cnblogs.com/dunitian/p/5121725.html 1.引入 概述 音频文件或视频文件都可以看做是一个容器文 ...

  5. ZFPlayer 源码解读

    源码下载地址:https://github.com/renzifeng/ZFPlayer 之前自己实现过一个模仿百思不得姐的demo https://github.com/agelessman/FFm ...

  6. FFmpeg数据结构:AVPacket解析

    本文主要从以下几个方面对AVPacket做解析: AVPacket在FFmpeg中的作用 字段说明 AVPacket中的内存管理 AVPacket相关函数的说明 结合AVPacket队列说明下AVPa ...

  7. video.js-H5视频播放库

    video.js是一款很流行的html5视频播放插件.很适合在移动端播放视频(比如微信网页),功能强大,且支持降级到flash,兼容ie8.官网:http://videojs.com/    git& ...

  8. 10个最常见的 HTML5 面试题及答案

    这是选择了10个 HTML5 面试问题并给出了答案.这是 Web 开发人员最常见的面试问题,相信你掌握了这些重要的面试问题后一定会觉得你的理解提高了.一起来看看吧. 您可能感兴趣的相关文章 Web 前 ...

  9. 论HTML5 Audio 标签歌词同步的实现

    HTML5草案里面其实有原生的字幕标签(<track> Tag)的,但使用的是vtt格式的文件,非常规的字幕(.sub, .srt)或歌词文件(.lrc). 用法如下(代码来自W3Scho ...

随机推荐

  1. 1143. Longest Common Subsequence

    link to problem Description: Given two strings text1 and text2, return the length of their longest c ...

  2. 解决小程序报错 Page "pages/index/main" has not been registered yet.

    在小程序开发中,会频繁遇到  Page "pages/index/main" has not been registered yet.   这种报错,意思就说指定的页面没有注册,找 ...

  3. Educational Codeforces Round 82 C. Perfect Keyboard

    Polycarp wants to assemble his own keyboard. Layouts with multiple rows are too complicated for him ...

  4. ANSYS 瞬态热分析---零件在水中冷却

    目录 1. 案例 2. APDL分析 1. 案例 一个温度为300℃的铜环和一个温度为200℃的铁环,放置到22℃的水中进行淬火.水桶为铁质的圆形.分析中忽略水的流动. 材料参数 热性能 铜 铁 水 ...

  5. php基础 php 全局变量

    $_GET ----->get传送方式 $_POST ----->post传送方式 $_REQUEST ----->可以接收到get和post两种方式的值 $GLOBALS ---- ...

  6. php 高级 多台web服务器共享session的方法

    解决多台web服务器共享session的问题,至少有以下三种方法:   一.将本该保存在web服务器磁盘上的session数据保存到cookie中 即用cookie会话机制替代session会话机制, ...

  7. vb.net与vb的区别

    本文链接:https://blog.csdn.net/dfshsdr/article/details/63255645最近接触了vb.net,它增加了vb的很多特性,而且演化成为完全面向对象的编程语言 ...

  8. GUI编程与CLI编程

    作为一名多年的iOS开发人员,多次触发我思酌“GUI编程与CLI编程”各自的优劣,尤其是在当我为界面交互花费大占比时间时,时常怀疑自己的工作性质,我终究还是为互联网工作的码农,而不是让互联网为我所用的 ...

  9. input、raw_input区别,运算符,运算优先级,多变赋值方式

    目录 1. Python2中的input.raw_input赋值方式和Python3中的input赋值方式的差别 2. 运算符 3. python运算符优先级 4. 格式化输出 5. 链式赋值 6. ...

  10. Session共享解决方案

    使用nginx做的负载均衡添加一个ip_hash配置 一.开两个Tomcat写测试程序 @WebServlet("/nginxSessionServlet") public cla ...