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. WordPress搭建教程---购买域名+购买VPS主机+域名DNS解析+网站环境+上传网站程序

    WordPress搭建教程 购买域名---NameSilo 购买VPS主机---Vultr 域名DNS解析 网站环境 上传网站程序 参考文章: 1. WordPress搭建教程 https://zhu ...

  2. 27 JavaScript的引入&注释&弹窗&变量常量&数据类型及转换&内存&垃圾回收

    JS的引入: 1 内部引入 绑定元素事件如onclick="" 绑定锚点如href="JavaScript:void(0)" script标签引入,注意:如果标 ...

  3. jmeter录制浏览器Https请求

    Jmeter录制脚本时,跟http脚本录制主要区别是,https录制需要添加安全证书. 那么在jmeter上如何操作呢?且看下面的操作步骤 一.jmeter的代理服务器及证书配置 1.打开jmeter ...

  4. APDL获取节点和单元的结果

    目录 1. 获取节点结果 1.1 获取节点应力结果 1.2 获取节点位移结果 1.3 获取节点应变结果--总应变 1.4 获取节点应变结果--弹性应变 1.5 获取节点应变结果--塑性应变 1.6 获 ...

  5. XCOJ 1008: 级数求和

    1008: 级数求和 题目描述 已知:Sn= 1+1/2+1/3+…+1/n.显然对于任意一个整数K,当n足够大的时候,Sn大于K.现给出一个整数K(1<=k<=15),要求计算出一个最小 ...

  6. 监控Tomcat状态!(重点)

    方法一:开发JAVA监控页面 [root@localhost ~]# mkdir /usr/local/tomcat8/webapps/memtest/[root@localhost ~]# cd / ...

  7. 简单实用的matlab柱状图显示比例及计数

    这个小代码用于matlab柱状图显示比例及数值, 函数如下: function myhist(x) % myhist Codeby SimonLiang % Email:idignew@126.com ...

  8. redhat7.6 httpd配置php模块

    1.安装php yum install "*php*"   -y 2.编辑httpd.conf配置文件 找到LoadModule foo_module modules/mod_fo ...

  9. win10的guard占内存过高

    转自:https://zhidao.baidu.com/question/1180883495203481459.html win10的guard占内存过高,

  10. SQL模糊匹配之正则表达式

    −      方括号[ ]:指定一个字符.字符串.匹配他们中的任意一个. −      示例1:查询用户名以J或者以M开头的用户信息 −      SELECT user_name FROM ecs_ ...