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. 爬虫(十三):PIL模块

    1. PIL模块 在爬虫(十二):图形验证码的识别.滑动验证码的识别(B站滑动验证码)中我留下了一个悬念,为什么安装的是pillow模块,而不是PIL模块.这是因为PIL是python2的产物,它并没 ...

  2. Spring Security教程之Jsp标签(四)

    目录 1.1     authorize 1.2     authentication 1.3     accesscontrollist Spring Security也有对Jsp标签的支持的标签库 ...

  3. DVWA实验之Brute Force(暴力破解)- High

    DVWA实验之Brute Force(暴力破解)- High   有关DVWA环境搭建的教程请参考: https://www.cnblogs.com/0yst3r-2046/p/10928380.ht ...

  4. WinForm开发(6)——C#/winform程序打包部署时,如何把SQL数据库一起打包进去

    打包数据库到安装程序中 方法1. 备份/恢复先备份数据库:backup database 数据库 to disk='c:\备份.bak' 将备份文件打包到安装程序中. 在第一次运行程序的时候,进行数据 ...

  5. Ext里dialog弹窗关闭与父窗口刷新问题总结

    1.弹出弹窗的js代码 var dlg = new J.dialog({ id: 'unDelTel', title:'缴费', page:encodeURI('<%=basePath%> ...

  6. YUM方式安装LAMP

    本文介绍两种方法yum安装LAMP, 方法1: 通过httpd的php模块方式安装LAMP 方法2: 通过php-fpm方式安装LAMP 安装环境:CentOS Linux release 7.5.1 ...

  7. MySQL数据库备份还原

    本文以CentOS 7 yum安装的MariaDB-server5.5为例,说明MySQL的几种 备份还原方式 将服务器A(192.168.1.100)上的数据库备份,还原到B(192.168.1.2 ...

  8. 5G时代开启,这些新兴职业决定你的后半生

    近段时间,高考志愿填报成为牵动千万家庭的头等大事.事实上,除了学校间的差距外,专业的优劣也在很大程度上决定着人们未来职场生涯的潜力.血淋淋的事实告诉我们,只有选对专业,才能让自己的人生实现升华,并避免 ...

  9. Could not find a version that satisfies the requirement win32api (from versions: ) No matching distribution found for win32api

    pip install win32api pip install pywin32 都会提示错误,如下: Could not find a version that satisfies the requ ...

  10. centos7.4安装gitlab

    1. 安装依赖软件 yum -y install policycoreutils openssh-server openssh-clients postfix 2.下载gitlab安装包,然后安装 c ...