2019-12-23

Electromagnetic


1. 电磁辐射
2. 电磁频谱
3. 可见光
4. 微波
5. 更多相关链接

1. 电磁辐射

https://en.wikipedia.org/wiki/Electromagnetic_radiation
物理学,电磁辐射(EM辐射或EMR)指的是波(或它们的量子,光子的的)电磁场,传播(辐射)通过空间,搭载电磁辐射能。
它包括: 无线电波,微波,红外线,(可见)光,紫外线,X射线和伽马射线。
EMR对化合物和生物的影响取决于辐射的功率及其频率。
  • 可见或较低频率的EMR(即可见光,红外,微波和无线电波)被称为非电离辐射,因为其光子没有足够的能量使原子或分子电离或破坏化学键。这些辐射对化学系统和生物组织的影响主要是由许多光子的综合能量传递产生的热效应引起的。
  • 相反,高频紫外线,X射线和伽玛射线被称为电离辐射,因为如此高频率的单个光子具有足够的能量来电离分子或破坏化学键。这些辐射具有引起化学反应和破坏活细胞的能力,其强度超过简单加热所产生的辐射,并且可能危害健康。
https://upload.wikimedia.org/wikipedia/commons/3/30/EM_spectrumrevised.png

2. 电磁频谱

https://en.wikipedia.org/wiki/Electromagnetic_spectrum
电磁波谱覆盖的电磁波的频率范围从1 赫兹以下到10 25赫兹以上,对应的波长范围是数千公里到原子核大小的几分之一。该频率范围被划分为不同的频带,每个频带内的电磁波用不同的名称来称呼。
Class Frequency Wavelength Energy per photon
Ionizing radiation
电离辐射
γ Gamma rays 300 EHz 1 pm 1.24 MeV
30 EHz 10 pm 124 keV
HX Hard X-rays
3 EHz 100 pm 12.4 keV
SX Soft X-rays
300 PHz 1 nm 1.24 keV
30 PHz 10 nm 124 eV
EUV Extreme ultraviolet
3 PHz 100 nm 12.4 eV
ultraviolet 紫外线 NUV Near ultraviolet
Visible 可见光 300 THz 1 μm 1.24 eV
NIR Near infrared
infrared
红外线
30 THz 10 μm 124 meV
MIR Mid infrared
3 THz 100 μm 12.4 meV
FIR Far infrared
300 GHz 1 mm 1.24 meV
Microwaves
微波
EHF Extremely high frequency
30 GHz 1 cm 124 μeV
SHF Super high frequency
3 GHz 1 dm 12.4 μeV
Radiowaves
无线电波
UHF Ultra high frequency
300 MHz 1 m 1.24 μeV
VHF Very high frequency
30 MHz 10 m 124 neV
HF High frequency
3 MHz 100 m 12.4 neV
MF Medium frequency
300 kHz 1 km 1.24 neV
LF Low frequency
30 kHz 10 km 124 peV
VLF Very low frequency
3 kHz 100 km 12.4 peV
ULF Ultra low frequency
300 Hz 1000 km 1.24 peV
SLF Super low frequency
30 Hz 10000 km 124 feV
ELF Extremely low frequency
3 Hz 100000 km 12.4 feV

电磁波谱
https://upload.wikimedia.org/wikipedia/commons/2/25/Electromagnetic-Spectrum.svg

电磁频谱图,显示了频率和波长范围内的各种特性
https://upload.wikimedia.org/wikipedia/commons/c/cf/EM_Spectrum_Properties_edit.svg
Penetrates Earth's Atmosphere? 穿透地球的大气层?
大气层可以阻挡电离辐射(Ultraviolet,X-ray,Gamma ray);短波(Microwave).能够穿透大气层的是可见光,长波,部分红外线和紫外线。

电磁辐射与物质的相互作用
Region of the spectrum
光谱区域
Main interactions with matter
与物质的主要相互作用
High-energy gamma rays
高能伽玛射线
Creation of particle-antiparticle pairs. At very high energies a single photon can create a shower of high-energy particles and antiparticles upon interaction with matter.
创建粒子-反粒子对。在非常高的能量下,单个光子在与物质相互作用时会产生高能粒子和反粒子簇射。
Gamma rays 伽马射线 Energetic ejection of core electrons in heavy elements, Compton scattering (for all atomic numbers), excitation of atomic nuclei, including dissociation of nuclei
重元素中核心电子的能量喷射,康普顿散射(针对所有原子数),原子核的激发,包括原子核的解离
X-rays X光片 Excitation and ejection of core atomic electrons, Compton scattering (for low atomic numbers)
原子核电子的激发和射出,康普顿散射(对于低原子数)
Ultraviolet 紫外线 Excitation of molecular and atomic valence electrons, including ejection of the electrons (photoelectric effect) 激发分子和原子价电子,包括电子的射出(光电效应)
Visible 可见 Molecular electron excitation (including pigment molecules found in the human retina), plasma oscillations (in metals only) 分子电子激发(包括在人类视网膜中发现的色素分子),等离子体振荡(仅在金属中)
Near infrared 近红外 Molecular vibration, plasma oscillation (in metals only) 分子振动,等离子振荡(仅在金属中)
Microwave through far infrared
微波通过远红外
Plasma oscillation, molecular rotation
等离子体振荡,分子旋转
Radio 无线电 Collective oscillation of charge carriers in bulk material (plasma oscillation). An example would be the oscillatory travels of the electrons in an antenna.
散装材料中载流子的集体振荡(等离子振荡)。一个例子就是天线中电子的振荡传播。

3. 可见光

https://en.wikipedia.org/wiki/Light
光或可见光是电磁辐射的的所述部分内的电磁光谱可以感知由人的眼睛。
https://upload.wikimedia.org/wikipedia/commons/f/f1/EM_spectrum.svg
https://upload.wikimedia.org/wikipedia/commons/d/d9/Linear_visible_spectrum.svg
Color 波长 nm 频率 THz 光子能量  eV code spectrum spectrum.svg 行高 | %
Violet 380–450 680–790 2.95–3.10 #8B00FF 模拟七色光带:
style=" background:linear-gradient( to bottom,
#000 0%, #8B00FF 10%, #0000FF 26%, #00FFFF 33%, #00FF00 42%, #FFFF00 55%, #FF7F00 63%, #FF0000 85%, #000 0%);"
55 | 19%
Blue 450–485 620–680 2.64–2.75 #0000FF 40 | 14%
Green 500–565 530–600 2.25–2.34 #00FF00 50 | 18%
Yellow 565–590 510–530 2.10–2.17 #FFFF00 20 | 7%
Orange 590–625 480–510 2.00–2.10 #FF7F00 30 | 10%
Red 625–740 405–480 1.65–2.00 #FF0000 90 | 32%

4. 微波

https://en.wikipedia.org/wiki/Microwave
微波是电磁辐射的一种形式,其波长范围从大约一米到一毫米。与300 MHz(1 m)和300 GHz(1 mm)之间的频率。

微波频段
https://en.wikipedia.org/wiki/Microwave#Microwave_frequency_bands
https://en.wikipedia.org/wiki/Microwave
https://en.wikipedia.org/wiki/Microwave#Microwave_frequency_bands
微波频段
◍ microwave devices/communications
| ▣ molecular rotational spectroscopy
| ◎ millimeter wave radar research
| | ◈ satellite communications 卫星通信
| | ✪ automotive radar 汽车雷达
| | | ▤ radio astronomy 射电天文
| | | ☎ mobile phones 手机
| | | | ☑ amateur radio
Designation Frequency range
(GHz)
Wavelength range Uses … | | | | ● wireless LAN
| | | | | ▥ radar
GPS
L band 1 - 2 15 - 30 cm military telemetry 军事遥测 GPS
S band 2 - 4 7.5 - 15 cm 天气雷达,水面舰艇雷达(微波炉,蓝牙,ZigBee) GPS
C band 4 - 8 3.75 - 7.5 cm 长途无线电信
X band 8 - 12 25 - 37.5 mm 空间通信, 地面宽带
Ku band 12 - 18 16.7 - 25 mm

K band 18 - 26.5 11.3 - 16.7 mm astronomical observations 天文观测
Ka band 26.5 - 40 5.0 - 11.3 mm

Q band 33 - 50 6.0 - 9.0 mm 地面微波通信
U band 40 - 60 5.0 - 7.5 mm

V band 50 - 75 4.0 - 6.0 mm scientific research 其他各种科学研究
W band 75 - 110 2.7 - 4.0 mm 军事雷达瞄准和跟踪应用以及某些非军事应用
F band 90 - 140 2.1 - 3.3 mm SHF:大多数现代雷达,卫星电视广播,DBS
D band 110 - 170 1.8 - 2.7 mm EHF:高频微波无线电中继,微波遥感,定向能量武器,毫米波扫描


5. 更多相关链接

https://en.wikipedia.org/wiki/Optics
光学是物理学的一个分支,研究光的行为和性质,包括光与物质的相互作用以及使用或检测光的仪器的构造。
光学器件通常描述可见光,紫外光和红外光的行为。由于光是电磁波,因此其他形式的电磁辐射(例如X射线,微波和无线电波)具有相似的特性。

电磁方程式列表:
https://en.wikipedia.org/wiki/List_of_electromagnetism_equations
U=IR, P=UI

物理量清单
https://en.wikipedia.org/wiki/List_of_physical_quantities

https://en.wikipedia.org/wiki/Relativistic_electromagnetism
本文是关于电磁学的简化表示,结合了相对论。有关狭义相对论和电磁学之间关系的更一般文章,请参见古典电磁学和狭义相对论。
有关更严格的讨论,请参见经典电磁的协变公式。
相对论电磁是由于库仑定律和洛伦兹变换在电磁场理论中解释的一种物理现象。

https://en.wikipedia.org/wiki/Introduction_to_electromagnetism
电磁学是对带电粒子之间的力,电磁场,电(标量)电势,磁矢量电势,导体和绝缘体在场,电路中的行为,磁性和电磁波之间的作用力的研究。
对电磁学的理解对于电气工程和化学等实际应用非常重要。
此外,电磁学课程中讲授的概念为物理学中更高级的材料提供了基础,例如量子场论和广义相对论。
本文着重于对主题的概念性理解,而不是所涉及数学的细节。

零件 主功能 原理图符号
电阻 阻碍电流 Resistor_symbol_America
电池 充当电源 Battery
电容 在电场中存储能量,存储电荷,通过低频交流电 Capacitor_symbol
电感 将能量存储在磁场中,抵抗电流变化 Inductor_symbol

https://en.wikipedia.org/wiki/Electromagnetism
电磁学是物理学的一个分支,涉及电磁力的研究,电磁力是带电粒子之间发生的一种物理相互作用。
电磁力由电场和磁场组成的电磁场承载,并引起电磁辐射,如光。
它是自然界中的四种基本相互作用(通常称为力)之一,与强相互作用,弱相互作用和引力。在高能量下,弱力和电磁力统一为单个电弱力。

https://en.wikipedia.org/wiki/Fundamental_interaction
在物理学中,基本相互作用(也称为基本力)是似乎无法还原为更基本相互作用的相互作用。
已知存在四种基本相互作用:
重力相互作用和电磁相互作用产生巨大的远距离力,其作用可以在日常生活中直接看到;强相互作用和弱相互作用相互作用,它们产生微小,亚原子距离的力并控制核互动。
一些科学家假设可能存在第五种力量,但这些假设仍然是推测性的。



2019-12-01

ffmpeg-01-Subtitle

ffmpeg-01-Subtitle

1. ffmpeg简介
2. 摘录文档
	2.1 过滤 Filtering
		2.1.1 简单滤镜
		2.1.2 复杂的滤镜
		2.1.3 简单过滤与复杂过滤
	2.2 Stream 流复制
	2.3 对比图
3. 提取字幕
4. 如何将字幕刻录到视频中
5. 如何将其他FFmpeg支持的字幕转换为ASS格式
6. 如何将YouTube SBV转换为SRT
7. 获取可用信息
8. 从VOB提取字幕到SRT的工具

1. ffmpeg简介

http://www.ffmpeg.org/
完整的跨平台解决方案,用于记录,转换和流传输音频和视频。开放源代码:
$ git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
https://github.com/FFmpeg/FFmpeg

http://www.ffmpeg.org/about.html
  • 功能完整: FFmpeg是领先的多媒体框架,能够解码(decode),编码(encode),转码(transcode),复用(mux),解复用(demux),流(stream),过滤(filter)和播放(play)人类和机器创建的几乎所有内容。
  • 几乎只是所有格式: FFmpeg支持最模糊的古代格式,直至最前沿。无论它们是由某些标准委员会,社区还是公司设计的。
  • 跨平台高度可移植性: FFmpeg可以在各种构建环境,机器体系结构和配置下,跨Linux,Mac OS X,Microsoft Windows,BSD,Solaris等编译,运行并通过我们的测试基础架构 FATE。
  • 每日更新的文档: 各种在线每晚更新一次,并且对应于最新的FFmpeg版本。http://www.ffmpeg.org/documentation.html
术语:
  • 容器(Container) 容器就是一种文件格式,比如flv,mkv等。包含下面5种流以及文件头信息。
  • 流(Stream) 是一种视频数据信息的传输方式,5种流:音频,视频,字幕,附件,数据。
  • 帧(Frame) 帧代表一幅静止的图像,分为I帧,P帧,B帧。
FFmpeg工具
  • ffmpeg: 是可转换音频或视频格式的命令行工具。它还可以从各种硬件和软件源(例如电视捕获卡)实时捕获和编码。
  • ffplay: 一个基于SDL和FFmpeg库的简单媒体播放器
  • ffprobe: 一个简单的多媒体流分析仪。用于显示媒体信息(文本,CSV,XML,JSON)的命令行工具,另请参见Mediainfo。
FFmpeg开发人员库
  • libavutil: 是一个包含简化程序功能的库,其中包括随机数生成器,数据结构,数学例程,核心多媒体实用程序等。
  • libavcodec: 是一个库,其中包含音频/视频编解码器的解码器和编码器。
  • libavformat: 是一个包含用于多媒体容器格式的解复用器和复用器的库。
  • libavdevice: 是一个包含输入和输出设备的库,用于从许多常见的多媒体输入/输出软件框架(包括Video4Linux,Video4Linux2,VfW和ALSA)中获取和呈现。
  • libavfilter: 是一个包含媒体过滤器的库。
  • libswscale: 是一个执行高度优化的图像缩放和颜色空间/像素格式转换操作的库。
  • libswresample: 是一个执行高度优化的音频重采样,重矩阵化和样本格式转换操作的库。

2. 摘录文档

http://www.ffmpeg.org/ffmpeg.html
ffmpeg下图描述了每个输出的转码过程: 2.3 对比图
  • Demuxer 解复用器(file → packets): ffmpeg调用libavformat库(包含解复用器)读取[输入文件]并从中获取[包含编码数据的数据包]。
  • Decoder 解码器(packets → frames): 产生[未压缩的帧](原始视频/PCM音频/...)。可以通过 过滤 进一步处理。
  • Encoder 编码器(frames → packets): 对其进行编码并输出[编码后的数据包]。
  • Muxer 复用器(packets → file): 将[编码的数据包]写入[输出文件]。

2.1 过滤 Filtering

编码之前,ffmpeg可以使用libavfilter库中的过滤器处理原始音频和视频帧。几个链接的过滤器形成一个过滤器图。
ffmpeg区分两种类型的过滤器图:简单过滤器和复杂过滤器。

2.1.1 简单滤镜

简单的过滤器图是那些只有一个输入和输出,并且都是相同类型的过滤器。
在输出的转码过程图中,可以通过在解码和编码之间简单插入一个附加步骤来表示它们: 2.3 对比图

使用每个流配置简单的过滤器图 -filter 选项(与 -vf 和 -af分别为视频和音频的别名)。见: 2.1.3 简单过滤与复杂过滤

请注意,某些过滤器会更改框架属性,但不会更改框架内容。例如,fps上面示例中的 过滤器更改了帧数,但没有触及帧内容。另一个示例是setpts过滤器,该过滤器仅设置时间戳,否则不传递帧。

2.1.2 复杂的滤镜

复杂的过滤器图不能简单地描述为应用于一个流的线性处理链。例如,当图形具有多个输入和/或输出时,或者输出流类型与输入不同时,就是这种情况。见: 3.1.3 简单过滤与复杂过滤

复杂的滤镜配置为 -filter_complex选项。请注意,此选项是全局选项,因为复杂的滤镜本质上不能与单个流或文件明确关联。
 -lavfi 选项等效于 -filter_complex.

复杂overlay过滤器图的一个简单例子是过滤器,它具有两个视频输入和一个视频输出,其中一个视频叠加在另一个视频之上。它的音频副本是amix过滤器。

2.1.3 简单过滤与复杂过滤

input Simple filtergraph output
File deinterlace
逐行扫描 →
scale
比例 →
File




File1
File2
File3
complex filter graph
File1
File2

2.2 Stream 流复制

流复制是通过将copy参数提供给 -编解码器选项。它ffmpeg忽略了指定流的解码和编码步骤,因此仅进行解复用和复用。这对于更改容器格式或修改容器级别的元数据很有用。
由于没有解码或编码,因此速度非常快,并且没有质量损失。但是,由于许多因素,在某些情况下它可能不起作用。显然,应用过滤器也是不可能的,因为过滤器可以处理未压缩的数据。

2.3 对比图:

3. 提取字幕

官方FFmpeg Wiki: https://trac.ffmpeg.org/wiki
杂项 Miscellaneous 常规命令行用法

如何提取视频文件中包含的字幕。
https://trac.ffmpeg.org/wiki/ExtractSubtitles
FFmpeg可以从嵌入式字幕轨道中“读取”或“extract提取”字幕。例如,如果您运行:'ffmpeg -i <my_file>' 可以看到类似如下:
$ ffmpeg -i See.S01E06.mkv
    Stream #0:0(eng): Video: h264 (High),...1392x660, 23.98 fps, ...
    Stream #0:1(eng): Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s (default)
    Stream #0:2(eng): Subtitle: subrip
    Stream #0:3(eng): Subtitle: subrip
...
    Stream #0:7(chi): Subtitle: subrip
      title           : Chinese (Simplified)
    Stream #0:8(chi): Subtitle: subripzmgc
      title           : Chinese (Traditional)

可以提取或转换这些字幕。转换为srt。
$ ffmpeg -i See.S01E06.mkv sub2.srt
如果您的视频文件中有多个字幕轨道,则默认情况下它将选择第一个。您可以使用[map]命令选择所需的对象。

$ ffmpeg -i See.S01E06.mkv sub2.srt
    Stream #0:0(eng): Subtitle: subrip (srt)
  Stream #0:2 -> #0:0 (subrip (srt) -> subrip (srt))

$ ffmpeg -i See.S01E06.mkv -map 0:s:0 sub1.srt //英文
    Stream #0:0(eng): Subtitle: subrip (srt)
  Stream #0:2 -> #0:0 (subrip (srt) -> subrip (srt))

$ ffmpeg -i See.S01E06.mkv -map 0:s:5 sub5.srt //简体
    Stream #0:0(chi): Subtitle: subrip (srt)
  Stream #0:7 -> #0:0 (subrip (srt) -> subrip (srt))

$ ffmpeg -i See.S01E06.mkv -map 0:s:6 sub6.srt //繁体
    Stream #0:0(chi): Subtitle: subrip (srt)
  Stream #0:8 -> #0:0 (subrip (srt) -> subrip (srt))

$ ffmpeg -i See.S01E06.mkv -map 0:s:7 sub7.srt //捷克
    Stream #0:0(cze): Subtitle: subrip (srt)
  Stream #0:9 -> #0:0 (subrip (srt) -> subrip (srt))

您还可以转换为.ssa格式,等等。这是列出所有可用字幕选项的方法:
$ ffmpeg -codecs |grep subtitle
...
 DES... ass                  ASS (Advanced SSA) subtitle (decoders: ssa ass ) (encoders: ssa ass )
 DES... dvb_subtitle         DVB subtitles (decoders: dvbsub ) (encoders: dvbsub )
 DES... dvd_subtitle         DVD subtitles (decoders: dvdsub ) (encoders: dvdsub )
 D.S... hdmv_pgs_subtitle    HDMV Presentation Graphic Stream subtitles (decoders: pgssub )
 ..S... hdmv_text_subtitle   HDMV Text subtitle
 D.S... jacosub              JACOsub subtitle
 D.S... microdvd             MicroDVD subtitle
 D.S... mpl2                 MPL2 subtitle
 D.S... pjs                  PJS (Phoenix Japanimation Society) subtitle
 D.S... realtext             RealText subtitle
 D.S... sami                 SAMI subtitle
 ..S... srt                  SubRip subtitle with embedded timing
 ..S... ssa                  SSA (SubStation Alpha) subtitle
 D.S... stl                  Spruce subtitle format
 DES... subrip               SubRip subtitle (decoders: srt subrip ) (encoders: srt subrip )
 D.S... subviewer            SubViewer subtitle
 D.S... subviewer1           SubViewer v1 subtitle
 D.S... vplayer              VPlayer subtitle
 DES... webvtt               WebVTT subtitle

您的FFmpeg需要配置--enable-libzvbi才能起作用,并导致如下所示:
  Stream #0:17 -> #3:0 (dvb_teletext (libzvbi_teletextdec) -> subrip (srt))
vbi图文电视是一种格式规范,允许在广播的视频帧之间包括文本(字符)和一些基本图像作为元数据。
libzvbi_teletextdec可以对其进行解码,并以两种格式输出,即“图像”输出或“文本”输出。默认为图像。必须选择文本输出才能将其转换为其他文本格式,例如srt。见这里查看更多选项。https://www.ffmpeg.org/ffmpeg-all.html#libzvbi_002dteletext

4. 如何将字幕刻录到视频中

https://trac.ffmpeg.org/wiki/HowToBurnSubtitlesIntoVideo

subtitles filter
如果字幕是名为subtitle.srt的单独文件
$ ffmpeg -i video.avi -vf subtitles=subtitle.srt out.avi
如果字幕嵌入在容器video.mkv中
$ ffmpeg -i video.mkv -vf subtitles=video.mkv out.avi

ass filter
$ ffmpeg -i video.avi -vf "ass=subtitle.ass" out.avi
如果字幕位于SubRip,MicroDVD或任何其他受支持的文本字幕中,则必须在使用此过滤器之前将其转换为ASS:
$ ffmpeg -i subtitle.srt subtitle.ass

Picture-based subtitles 基于图片的字幕
你可以燃烧“基于图像的”字幕到一部电影中,通过使用叠加视频滤波器以覆盖图像。例如,dvdsub是一种基于图片的叠加字幕。在单独的流中带有dvdsub字幕的MKV的示例:
$ ffmpeg -i input.mkv -filter_complex "[0:v][0:s]overlay[v]" -map "[v]" -map 0:a <output options> output.mkv

如果您有多个字幕流,则可以通过将[0:s]替换为[0:s:0]来选择第一个字幕流,或用[0:s:1]来选择第二个字幕流,从而选择要使用的字幕流,等等。
$ ffmpeg -i input.ts -filter_complex "[0:v][0:s]overlay[v]" -map "[v]" -map 0:a:0 <output options> output.mkv

另请参见官方文档http://ffmpeg.org/ffmpeg.html;搜索硬编码"hardcode"。
作为特殊的例外,您可以使用位图字幕流作为输入:它将转换为与文件中最大视频大小相同的视频,如果没有视频,则为720x576。请注意,这是一个实验性的临时解决方案。一旦libavfilter正确支持字幕,它将被删除。

例如,要将字幕硬编码在以MPEG-TS格式存储的DVB-T记录的顶部,可将字幕延迟1秒:
$ ffmpeg -i input.ts -filter_complex \
  '[#0x2ef] setpts=PTS+1/TB [sub] ; [#0x2d0] [sub] overlay' \
  -sn -map '#0x2dc' output.mkv
(0x2d0, 0x2dc and 0x2ef分别是视频,音频和字幕流的MPEG-TS PID; 0:0, 0:3 and 0:7 也会起作用)

http://ffmpeg.org/ffmpeg-filters.html#subtitles-1
11.195字幕
使用libass库在输入视频的顶部绘制字幕。
要启用此过滤器的编译功能,您需要使用配置FFmpeg --enable-libass。
该过滤器还需要使用libavcodec和libavformat构建,以将传递的字幕文件转换为ASS(高级变电站Alpha)字幕格式。
例如:
  • 渲染文件 sub.srt 在输入视频的顶部,使用:subtitles=sub.srt 等效于:subtitles=filename=sub.srt
  • 从文件渲染默认字幕流 video.mkv, 使用:subtitles=video.mkv
  • 要渲染该文件的第二个字幕流,使用:subtitles=video.mkv:si=1
  • 使字幕流从 sub.srt以80%透明的蓝色显示 DejaVu Serif,使用:subtitles=sub.srt:force_style='FontName=DejaVu Serif,PrimaryColour=&HCCFF0000'

5. 如何将其他FFmpeg支持的字幕转换为ASS格式

https://trac.ffmpeg.org/wiki/HowToConvertSubtitleToASS
Simply like this:
$ ffmpeg -i input.srt output.ass

要列出FFmpeg支持的所有字幕编解码器,您可以输入:
$ ffmpeg -codecs | grep "^...S"
输出应如下所示:
 ..S... = Subtitle codec
 ..S... arib_caption         ARIB STD-B24 caption
 DES... ass                  ASS (Advanced SSA) subtitle (decoders: ssa ass ) (encoders: ssa ass )
 DES... dvb_subtitle         DVB subtitles (decoders: dvbsub ) (encoders: dvbsub )
 ..S... dvb_teletext         DVB teletext
 DES... dvd_subtitle         DVD subtitles (decoders: dvdsub ) (encoders: dvdsub )
 D.S... eia_608              EIA-608 closed captions (decoders: cc_dec )
 D.S... hdmv_pgs_subtitle    HDMV Presentation Graphic Stream subtitles (decoders: pgssub )
 ..S... hdmv_text_subtitle   HDMV Text subtitle
 D.S... jacosub              JACOsub subtitle
 D.S... microdvd             MicroDVD subtitle
 DES... mov_text             MOV text
 D.S... mpl2                 MPL2 subtitle
 D.S... pjs                  PJS (Phoenix Japanimation Society) subtitle
 D.S... realtext             RealText subtitle
 D.S... sami                 SAMI subtitle
 ..S... srt                  SubRip subtitle with embedded timing
 ..S... ssa                  SSA (SubStation Alpha) subtitle
 D.S... stl                  Spruce subtitle format
 DES... subrip               SubRip subtitle (decoders: srt subrip ) (encoders: srt subrip )
 D.S... subviewer            SubViewer subtitle
 D.S... subviewer1           SubViewer v1 subtitle
 DES... text                 raw UTF-8 text
 ..S... ttml                 Timed Text Markup Language
 D.S... vplayer              VPlayer subtitle
 DES... webvtt               WebVTT subtitle
 DES... xsub                 XSUB

6. 如何将YouTube SBV转换为SRT

https://trac.ffmpeg.org/wiki/HowToConvertYouTubeSBVtoSRT
$ ffmpeg -i captions.sbv captions.srt
YouTube上仅支持SBV(子视图)和SRT(SubRipText)字幕的基本特征。
值得注意的是,用户可以将现有的隐藏式字幕(包括自动生成的字幕)下载为SBV,将其转换为 MPlayer支持的SRT,在文本编辑器(如 vim或记事本)中编辑字幕(提示:YouTube希望使用UTF-8),并将固定版本上传到YouTube,覆盖给定语言的旧字幕。

上面显示的自动生成的SBV示例(从YouTube电影预告片下载)实际上使用了重叠的时间戳记,FFmpeg在SRT转换中将其保留为原样。对于理论看WebM项目 总WebVTT插入注释,在实践中输入选项-fix_sub_duration可以摆脱这个:
$ ffmpeg -fix_sub_duration -i captions.sbv captions.srt
区别 .sbv (Youtube) .srt (最简单,最常用的外挂字幕)
有无序号 计数器 计数器
时间格式 h:mm:ss.nnn hh:mm:ss,nnn
时间区间 开始,结束 开始 --> 结束
时间例子: h:mm:ss.nnn,h:mm:ss.nnn hh:mm:ss,nnn --> hh:mm:ss,nnn
完整的例子 0:00:01.400,0:00:06.770
you know where's the girl who hasn't

0:00:04.610,0:00:08.840
gotten to college or even maybe finished
1
00:00:05,000 --> 00:00:10,100
you know where's the girl who hasn't

2
00:00:10,100 --> 00:00:13,700
gotten to college or even maybe finished

7. 获取可用信息

最后一列斜体数字,是"|wc -l"选项统计的行数,不同的系统环境及软件版本会有不同,仅供参考。
-h -- print basic options -打印基本选项 110
-h long -- print more options  -打印更多选项 222
-h full all options (including all format and codec specific options, very long) 11352
-h type=name all options for the named decoder/encoder/demuxer/muxer/filter/bsf
-L show license 演出许可证
-version show version 显示版本
-buildconf show build configuration 显示构建配置 47
-formats show available formats 显示可用格式 361
-muxers show available muxers 复用器(mux) 把不同的流按照某种容器的规则放入容器 172
-demuxers show available demuxers 解复用(demux) 把不同的流从某种容器中解析出来 311
-codecs show available codecs 编解码器(Codec) 是对视频进行压缩或者解压缩 463
-decoders show available decoders 解码器
477
-encoders show available encoders 编码器
199
-bsfs show available bit stream filters 显示可用的比特流过滤器 35
-protocols show available protocols 显示可用的协议 64
-filters show available filters 显示可用的过滤器 395
-pix_fmts show available pixel formats 显示可用的像素格式 201
-layouts show standard channel layouts 显示标准频道布局 58
-sample_fmts show available audio sample formats 显示可用的音频样本格式 13
-colors show available color names 显示可用的颜色名称 141
-devices show available devices 显示可用设备 16
-sources device list sources of the input device 列出输入设备的来源
-sinks device list sinks of the output device 列出输出设备的接收器
-hwaccels show available HW acceleration methods 显示可用的硬件加速方法

8. 从VOB提取字幕到SRT的工具

https://classroom.synonym.com/extracting-subtitles-vob-srt-16812.html
SRT文件是一个独立文件,其中包含电影的字幕;许多媒体播放器应用程序可以在播放电影时使用该文件显示字幕。
在DVD电影光盘上,所有视频内容都以VOB格式包含在一组文件中。
几个软件应用程序可让您从一个或多个VOB文件中提取字幕信息并创建SRT文件。

SubRip
该免费软件(请参阅参考资料)可用于硬盘驱动器上已经存在的VOB文件。选择一个或多个VOB文件后,即可开始字幕提取。
它使用光学字符识别进行工作,并在屏幕上显示字符供您检查和确认。
您必须执行此操作,直到确认该软件无法识别的每个字母,数字和符号为止,但是一旦您浏览了该列表,其余字幕就可以更快地提取出来。
提取完成后,只需单击一个按钮即可将结果另存为SRT文件。


Avidemux
这个免费软件(请参阅参考资料)可以直接从DVD驱动器使用VOB文件。
您需要选择光盘上最大的VOB文件,然后选择光盘上另一个ISO格式且包含详细信息(例如字幕的默认语言)的文件。
Avidemux实际上在初始字幕提取过程中分别创建了两个文件,分别为SUB和IDX格式。
要完成此过程,请单击“工具”,选择“ OCR(VobSub-> Srt)”,然后在标题“ VobSub”下选择“打开”。
从这里,您必须选择IDX格式文件。然后,软件将其与SUB格式文件结合起来以创建完成的SRT文件。

DVD SubEdit
DVD SubEdit(参见参考资料)也是免费的,并且与SubRip和Avidemux的工作方式类似,您可以导入VOB文件并以SRT格式导出字幕。
它还包含许多用于更改字幕外观的选项,例如大小,颜色,透明度和位置。
但是,这些更改会影响原始的VOB文件-它们不会影响SRT文件,因为这仅包含字幕的措词而不是外观。

https://en.wikipedia.org/wiki/Closed_captioning
https://en.wikipedia.org/wiki/Subtitles
https://en.wikipedia.org/wiki/Surtitles

2019-11-28

container-coding-codec

container-coding-codec

1 数字容器格式 container format
	1.1 一些音频专有的容器:
	1.2 静态图像专用的容器:
	1.3 视频容器,可以容纳多种类型的音频和视频以及其他媒体
	1.4 视频容器格式概述
	1.5 视频容器格式比较
2. 视频编码格式 coding format
3. 视频编解码器 codec
	3.1 wiki:codec
	3.2 编解码器列表
	3.3 视频编解码器比较
4. 其他概念
	4.1 元文件
	4.2 多媒体框架
5. 更多链接

1 数字容器格式 container format

https://en.wikipedia.org/wiki/Digital_container_format
容器或包装器格式是一个图元文件 格式,其规范描述数据以及如何不同元素的元数据中共存的计算机文件.
由于容器不描述数据或元数据如何被编码,一个程序能够识别并打开一个容器文件可能无法包含的数据进行解码。这可能是由于程序缺少所需的解码算法引起的。

1.1 一些音频专有的容器:

  • AIFF(IFF文件格式,在Mac OS平台上广泛使用)
  • WAV (RIFF文件格式,在Windows平台上广泛使用)
  • XMF(可扩展音乐格式)

1.2 静态图像专用的容器:

  • FITS(灵活图像传输系统)静态图像,原始数据和关联的元数据.
  • TIFF(标记图像文件格式)静止图像和关联的元数据.

1.3 视频容器,可以容纳多种类型的音频和视频以及其他媒体

  • Matroska(MKV)(不限于任何编码格式,因为它几乎可以容纳任何内容;它是一种开放式标准容器格式)
  • MP4(基于MPEG-4第12部分和JPEG 2000第12 部分中定义的ISO基本媒体文件格式的MPEG-4多媒体产品组合的标准音频和视频容器)又基于QuickTime文件格式.
  • 3GP(许多手机使用;基于ISO基本媒体文件格式)
  • ASF(Microsoft WMA和WMV的容器,今天通常不使用容器)
  • AVI(标准的Microsoft Windows容器,也基于RIFF)
  • DVR-MS(“ Microsoft数字视频录制”,Microsoft基于ASF开发的专有视频容器格式)
  • Flash视频(FLV,F4V)(来自Adobe Systems的视频和音频容器)
  • IFF(第一个独立于平台的容器格式)
  • MJ2-Motion JPEG 2000文件格式,基于MPEG-4 Part 12和JPEG 2000 Part 12中定义的ISO基本媒体文件格式
  • QuickTime文件格式(Apple Inc.的标准QuickTime视频容器)
  • MPEG程序流(在合理可靠的媒体(例如磁盘)上用于MPEG-1和MPEG-2 基本流的标准容器;也用于DVD视频光盘)
  • MPEG-2传输流(又名MPEG-TS)(用于数字广播和不可靠媒体传输的标准容器;还用于Blu-ray Disc视频;通常包含多个视频和音频流,以及一个电子节目指南)
  • Ogg(用于Xiph.org音频格式Vorbis和Opus和视频格式Theora的标准容器)
  • RM(RealMedia;RealVideo和RealAudio的标准容器)
还有许多其他容器格式,例如NUT,MXF,GXF,ratDVD,SVI,VOB和DivX媒体格式

1.4 视频容器格式概述

https://en.wikipedia.org/wiki/Video_file_format
又叫封装格式,就是把已经编码封装好的视频、音频按照一定的规范放到一起。通常体现在文件名的扩展名上.
同一种容器格式中可以放不同编码的视频,不过一种视频容器格式一般是只支持某几类编码格式的视频。
常见的容器格式有: mkv、MP4、rmvb、rm、flv、AVI、mov、WMV

1.5 视频容器格式比较

https://en.wikipedia.org/wiki/Comparison_of_video_container_formats
该表比较了容器格式(视频文件格式)的许多功能.要查看哪些多媒体播放器支持哪种容器格式,请查看媒体播放器的比较.
格式 Matroska多媒体容器 MPEG-4 Part 14
 (MP4)
MPEG
节目流PS/
传输流TS/
File
RealMedia Variable Bitrate (RMVB) Ogg WebM 物料交换格式
 (MXF)
高级系统格式
 (ASF)
音频视频交错
 (AVI)
QuickTime File Format
 (QTFF)
Flash Video  FLV Flash Video  F4V 3GPP (3GP) (3G2) BDAV MPEG-2 传输流 (M2TS) DivX Media Format  (DMF) Enhanced VOB  (EVO) Video Object (VOB)
扩展名 .mkv,
.mk3d
.mp4 .m2p,.p/ts,
.mpg/eg
.rmvb .ogg .webm .mxf .asf,
.wmv
.avi .mov,
.qt
.flv .f4v .3gp
.3g2
.m2ts .divx .evo .vob
所有者 CoreCodec, Inc. MPEG MPEG RealNetworks Xiph.Org
Foundation
Google SMPTE Microsoft Microsoft Apple Inc. Adobe Inc. Adobe Inc. 3GPP 3GPP2 BDA DivX, Inc. DVD Forum DVD Forum
执照 免费许可 专利受阻 专利受阻 所有权 免专利,提供免费软件实现 CC BY 3.0,类似BSD免版税适用于工具 开放标准,无专利 所有权, 专利受阻 所有权 所有权 专利受阻 专利受阻 专利受阻 所有权 所有权 专利受阻 所有权
可变比特率音频 Yes Yes Yes ? Yes Yes Yes Yes Yes Yes ? ? Yes Yes Yes Yes Yes
可变帧频 Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
章节 Yes 部分... 私人流中,
.vob中
? Yes Yes ? Yes 需改变 Yes No ? No Yes Yes Yes 需多个文件
元数据 / 标签 Yes Yes No ? CMML, Ogg Skeleton, Vorbis comment Yes Yes Yes 通过 RIFF块 Yes Yes Yes Yes Yes ? ? No
互动菜单 Pending Yes 私人流中,
.vob中
No No No No No No Yes No No No Yes Yes Yes 需多个文件
流媒体 Yes Yes Yes Yes Yes With MPEG-DASH ? Yes No Yes Yes Yes Yes Yes Yes ? No
附件 Yes Yes ? ? ? No ? ? No Yes ? ? No Yes ? ? No
3D  Yes 仅在视频格式级别 No No No 一些立体模式的VP8 Yes Yes No 不标准 No No No 需多个文件 No No No
硬件播放器 Yes Yes Yes ? Yes Yes No Yes Yes Yes ? ? Yes Yes Yes ? Yes

视频编码格式支持
Type Format MKV MP4 PS, TS RMVB Ogg WebM MXF ASF AVI QTFF FLV F4V 3GP, 3G2 M2TS DMF EVO VOB
未压缩 YCbCr Yes SheerVideo No No Beta No Yes Yes Yes Yes No No No No No No No
立体 MVC Yes Yes No No No No No No No No No No Yes No No No No
帧内 MJ2 No Yes No No No No Yes No Yes No No No No No No No No
帧内 DV VCM DVCPRO HD No No No No Yes Yes Yes DV 25 No No No No No No No
帧内 M-JPEG VCM Yes No No No No No Yes Yes Yes No No No No No No No
无损 HuffYUV VCM No No No No No No No Yes No No No No No No No No
有损或无损 Dirac VCM Yes Private No Yes No No No 需 Dirac 不标准 No No No No No No No
有损或无损 AV1 Beta Yes Planned No No Beta No No No No No No No No No No No
有损或无损 VP8 Yes Yes No No 需 Firefox Yes No Yes Yes No No No No No No No No
有损或无损 VP9 Yes Yes No No 需 Firefox Yes No Yes Yes No No No No No No No No
有损或无损 MPEG-4 AVC Yes Yes Yes No No No Yes Yes Yes Yes Yes Yes Yes Yes No Yes No
有损或无损 MPEG-H HEVC Beta Yes Yes No No No Pending Yes Yes Yes No No Yes No No No No
有损的 MPEG-4 Visual Yes Yes Yes No 需 VLC No Yes Yes Yes Yes Yes Yes Yes Yes MPEG-4 ASP 带DivX No No
有损的 MPEG-2 Video Yes Yes Yes No 需 VLC No Yes Yes Yes Yes No No No Yes No Yes Yes
有损的 MPEG-1 Video Yes Yes Yes No No No Yes Yes Yes Yes No No No Yes No Yes Yes
有损的 H.263 No Yes No No No No No Yes Yes Yes No Yes Yes No No No No
有损的 VC-1 VCM Yes No No 需 VLC No Yes Yes Yes Yes No No No Yes No Yes No
有损的 Theora Yes Yes No No Yes No No No Yes No No No No No No No No
有损的 Cinepak Yes Yes No No No No No No Yes Yes No No No No No No No
有损的 Microsoft MPEG4 V2 Yes Yes No No No No No Yes Yes No No No No No No No No
有损的 Sorenson Yes Yes No No No No No No Version 1 Versions 1 and 3 Spark No No No No No No
有损的 VP6 No No No No No No No No Yes No Yes No No No No No No
有损的 RealVideo RV10/20/30/40 RV60 No RV30, RV40, RV60 No No No No Yes No No No No No No No No
有损的 Indeo No No No No No No No No Yes No No No No No No No No

音频编码格式支持
Type Format MKV MP4 PS, TS RMVB Ogg WebM MXF ASF AVI QTFF FLV F4V 3GP,3G2 M2TS DMF EVO VOB
有损的 AAC Yes Yes 私人的 Only AAC-LC, HE-AAC vYes No No Yes Yes Yes Yes Yes Yes Yes Yes No No No
有损的 AC-3 Yes Yes 私人的 Yes 需 OGMtools No Yes Yes Yes Yes No No No Yes Yes Yes 私人的
有损的 MPEG-1 Audio Layer III Yes Yes Yes No 需 OGMtools No Yes Yes Yes Yes Yes Yes No No Yes Yes No
有损的 MPEG-1 Audio Layer II Yes Yes Yes No No No Yes Yes Yes No No No No No No Yes Yes
有损的 MPEG-1 Audio Layer I Yes Yes Yes No No No Yes Yes Yes No No No No No No Yes No
有损的 MPEG-2 Audio No No No No No No No No No No No No No No No Yes Layer II
有损的 E-AC-3 Yes No No No No No No Yes Yes Yes No No No Yes No Yes No
有损的 ATRAC3 Yes No No Yes No No No Yes Yes No No No No No No No No
有损的 Opus Yes Yes No No Yes Yes No 模板:未实施 模板:未实施 No No No No No No No No
有损的 Vorbis Yes 私人的 No No Yes Yes No No Tricky No No No No No No No No
有损的 WMA ACM No No No No No No Yes Yes No No No No No No No No
有损的 QDesign Music 1 and 2 QuickTime No No No No No No No No Yes No No No No No No No
有损的 DTS Yes Yes 私人的 No No No No Yes Yes No No No No Yes Yes Yes 私人的
无损 DTS-HD Yes Yes No No No No No No No Yes No No No Yes No Yes No
无损 FLAC Yes 不标准 No No Yes No No Yes Yes No No No No No No No No
无损 Dolby TrueHD No Yes No No No No No No No No No No No Yes No Yes No
无损 ALAC Yes Yes No No No No No 模板:未实施 模板:未实施 Yes No No No No No No No
无损 ALS No Yes Yes No No No No No No No No No No No No No No
无损 MLP No Yes 私人的 No No No No No No No No No No No No Yes 私人的
无损 SLS No Yes Yes No No No No No No No No No No No No No No
无损 WMA Lossless ACM No No No No No No Yes 模板:未实施 No No No No No No No No
未压缩 LPCM Yes Yes 私人的 No Beta No Yes Yes Yes Yes Yes No No Yes Yes Yes 私人的
未压缩 A-law PCM ACM No No No Yes No Yes No Yes Yes Yes No No No No No No
未压缩 μ-law PCM ACM No No No Yes No No Yes Yes Yes Yes No No No No No No
未压缩 IEEE floating-point PCM Yes No No No Yes No No Yes Yes No No No No No No No No
未压缩 DV Audio No Yes No No No No Yes No No Yes No No No No No No No
未压缩 Microsoft ADPCM ACM No No No No No No Yes Yes Yes No No No No No No No
演讲 AMR No Yes No No No No No Yes Yes No No No Yes No No No No
演讲 G.728 No No No Yes No No No No Yes No No No No No No No No
演讲 QCELP No No No No No No No Yes No Yes No No No No No No No
演讲 Speex ACM No No No Yes No No No No No Yes No No No No No No

字幕/字幕格式支持
Type Format MKV MP4 PS, TS RMVB Ogg WebM MXF ASF AVI QTFF FLV F4V 3GP, 3G2 M2TS DMF EVO VOB
图片 VobSub Mature Yes No No No No No No 需改变 不标准 No No No As PGS No No Yes
图片 DVB-SUB Mature No Yes No No No Yes No No No No No No No No No No
图片 PGS Mature As VobSub No No No No No No No No No No No Blu-ray No HD DVD As VobSub
图片 XSUB No No No No No No No No 需改变 No No No No No Yes No No
图片或格式文本 Ogg Kate Beta No No No Yes No No No No No No No No No No No No
XML TTXT No Yes No No No No No No No Yes No Yes Yes No No No No
XML SMIL No No No RealText No No No No No QuickTime SMIL No No No No No No No
XML USF Planned No No No No No No No 需改变 No No No No No No No No



















HTML SAMI No No No No No No As SMPTE-TT Yes 需改变 No No No No No No No No
格式文本 SubRip Yes As TTXT No No As Ogg Kate As WebVTT As SMPTE-TT As SAMI 需改变 As TTXT No As TTXT As TTXT No No No No
格式文本 WebVTT Yes Yes No No No Yes As SMPTE-TT No No As TTXT Using ActionScript As TTXT As TTXT No No No No
格式文本 ASS, SSA Yes No No No No No As SMPTE-TT No 需改变 No No No No No No No No
文字串流 TextST Beta No No No No No No No No No No No No Yes No No No
文字串流 SMPTE-TT No No No No No No Yes No No No No No No No No No No
文字串流 Ogg Writ No No No No Beta No No No No No No No No No No No No
纯文本 MicroDVD No No No No As Ogg Writ No No No 需改变 No No No No No No No No

2. 视频编码格式 coding format

https://en.wikipedia.org/wiki/Video_coding_format
视频编码格式(视频压缩格式)是一种内容表示格式用于存储或传输数字 视频内容(例如,一个数据文件或比特流)。简单的理解就是用特定的压缩技术把视频放进容器。
视频编码格式的示例包括: H.262 (MPEG-2 Part 2), MPEG-4 Part 2, H.264 (MPEG-4 Part 10), HEVC (H.265), Theora, RealVideo RV40, VP9, AV1.

能够将特定视频编码格式压缩和/或解压缩的特定软件或硬件实现称为视频编解码器;Xvid是视频编解码器的一个示例,它是几种不同的编解码器之一,该编解码器以软件的形式实现以MPEG-4 Part 2视频编码格式对视频进行编码和解码。

“格式”和“编解码器”之间的区别(format/codec)
https://en.wikipedia.org/wiki/Video_coding_format#Distinction_between_%22format%22_and_%22codec%22

HTML5常用视频格式有:
容器格式 = 视频编码格式 + 音频编码格式
Ogg = Theora + Vorbis
MPEG4 = H.264 + AAC
WebM = VP8 + Vorbis

视频网站常用视频格式: 容器格式是mp4, 编码格式是H.264

3. 视频编解码器 codec

编解码器用于压缩然后解压缩视频文件。这种压缩可以是有损的也可以是无损的。
常见的视频编解码器:H.264、MPEG-4、DivX、MPEG-2、HEVC(H.265)

3.1 wiki:codec

编解码器
https://en.wikipedia.org/wiki/Codec
编解码器是一个设备或计算机程序用于 encoding 编码或 decoding 解码一个 (digital data stream)数字数据流或(signal)信号。编解码器是一个混成的编解码器。
编码器可能以加密形式对数据流或信号进行传输或存储进行编码,而解码器功能则将编码反向以进行回放或编辑。编解码器用于视频会议,流媒体和视频编辑应用程序。

视频编解码器
https://en.wikipedia.org/wiki/Video_codec
视频编解码器是一个电子电路或软件即压缩或解压缩的数字视频。它将未压缩的视频转换为压缩格式,反之亦然。在视频压缩的上下文中,“ 编解码器 ”是“编码器”和“解码器”的串联,通常仅压缩的设备称为编码器,而仅解压缩的设备是解码器。

3.2 编解码器列表

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

开源编解码器列表
https://en.wikipedia.org/wiki/List_of_open-source_codecs
这是媒体格式(通常称为编解码器)的开源实现的列表.
列出的许多编解码器都实现了受专利限制的媒体格式,因此不是开放格式.
例如,x264是专利密集的MPEG-4 AVC媒体格式的广泛使用的开源实现.
视频编解码器
  • x264 – H.264 / MPEG-4 AVC实现.X264是不是一个编解码器(带共 DER /癸奥德); 它只是一个编码器(它不能解码视频).
  • OpenH264 – H.264基线配置文件编码和解码
  • x265 –基于高效视频编码(HEVC / H.265)标准的编码器.
  • Xvid – MPEG-4 Part 2编解码器,与 DivX兼容
  • libvpx – VP8和 VP9实施;Google以前是由On2 Technologies开发的专有编解码器,于2010年5月由Google根据类似BSD的许可发布.
  • FFmpeg编解码器 –FFmpeg项目中的 libavcodec库中的编解码器( FFV1, Snow,MPEG-1,MPEG-2,MPEG-4第2部分,MSMPEG-4,WMV2, SVQ1,MJPEG,HuffYUV等).libavcodec中的解码器(H.264,SVQ3,WMV3,VP3,Theora,Indeo,Dirac,Lagarith等).
  • Lagarith –视频编解码器,旨在在RGB(A)色彩空间(类似于ZIP / RAR / etc)中实现强大的无损压缩.
  • libtheora -一个参考实现的的的Theora格式的基础上,VP3,对Ogg项目的一部分
  • Dirac是dirac-research,它是由BBC Research创建的基于小波的编解码器,而Schrödinger是David Schleef开发的实现.
  • Huffyuv – BenRG的无损编解码器
  • Daala –实验视频编解码器,由 Xiph.Org基金会开发,并最终合并到 AV1中.
  • Thor –由思科系统公司开发的实验性免版税视频编解码器,已将技术合并到 AV1中.
  • Turing -一个高效率视频编码通过实施(HEVC / H.265)编码器 BBC研究.
  • AV1 –由 AOMedia开放的免版税视频编解码器,继承了 VP9, Daala和 Thor的技术.
音频编解码器
  • FLAC –由Xiph.Org Foundation开发的无损编解码器.
  • LAME –有损压缩(MP3格式).
  • TooLAME / TwoLAME –有损压缩(MP2格式).
  • Musepack –有损压缩;基于MP2格式,并进行了许多改进.
  • Speex –低比特率压缩,主要是语音;由Xiph.Org基金会开发.根据www.speex.org,不赞成使用Opus.
  • CELT –低延迟音频通信的有损压缩
  • libopus – Opus格式的参考实现,CELT是IETF标准的后继版本.(Opus支持对于WebRTC实施是必需的.)
  • libvorbis –有损压缩,采用Vorbis格式;由Xiph.Org基金会开发.
  • iLBC –低比特率压缩,主要是语音
  • iSAC –低比特率压缩,主要是语音;(使用WebRTC代码库时免费)
  • TTA –无损压缩
  • WavPack –混合有损/无损
  • Bonk –混合有损/无损;由fre:ac支持(以前为BonkEnc)
  • 苹果无损 –无损压缩(MP4)
  • Fraunhofer FDK AAC –有损压缩(AAC)
  • libavcodec库中的FFmpeg编解码器,例如AC-3,AAC,ADPCM,PCM,Apple Lossless,FLAC,WMA,Vorbis,MP2等.
  • FAAD2 –用于高级音频编码的开源解码器.也有 FAAC,同一项目的编码器,但是它是专有的(但仍然免费).
  • libgsm –有损压缩( GSM 06.10)
  • opencore-amr –有损压缩(AMR和AMR-WB)
  • liba52 –免费的 ATSC A / 52流解码器(AC-3)
  • libdca –免费的DTS相干声学解码器
  • Codec2-低比特率压缩,主要是语音

3.3 视频编解码器比较

https://en.wikipedia.org/wiki/Comparison_of_video_codecs
Codec License 专利 压缩格式 压缩方式 基本算法 OpenCL nVidia CUDA ATI Stream
/AMD APP
Intel AVX Intel Quick Sync Video
FFmpeg (libavcodec) GNU LGPL MPEG-1, MPEG-2, MPEG-4 ASP, H.261, H.263, VC-3, WMV7, WMV8, MJPEG, MS-MPEG-4v3, DV, Sorenson codec, etc. 有损/无损 DCT No Yes No Yes Yes
x264 GNU GPL MPEG-4 AVC/H.264 有损/无损 DCT Yes No No Yes
x265 GNU GPL HEVC/H.265 有损/无损 DCT Yes Yes Yes Yes
Xvid GNU GPL MPEG-4 ASP 有损的 DCT




Schrödinger (Dirac) MPL 1.1, GNU GPL 2, GNU LGPL 2, MIT none 有损/无损 DWT
Yes


dirac-research (Dirac) MPL 1.1, GNU GPL 2, GNU LGPL 2.1 none 有损/无损 DWT




libtheora (Theora) BSD-style[4] Patented, but freely licensed[*] 有损的 DCT




FFavs (libavcodec) GNU LGPL MPEG-1, MPEG-2, MPEG-4 ASP, etc. 有损/无损 DCT




Huffyuv GNU GPL 2 none 无损 Huffman




Lagarith GNU GPL 2 none 无损 Huffman




libvpx (VP8) BSD-style Patented, but freely licensed 有损的 DCT




libvpx (VP9) BSD-style Patented, but freely licensed 有损/无损 DCT




VP3 BSD-style[4] Patented, but freely licensed[*] 有损的 DCT




AOM Video 1 (AV1) 2-clause BSD Patented, but freely licensed 有损/无损 DCT




OpenH264 2-clause BSD MPEG-4 AVC/H.264 有损的 DCT No No No No No
Blackbird Proprietary Blackbird 有损的 Unknown




RealVideo Proprietary H.263, RealVideo 有损的 DCT




3ivx Proprietary MPEG-4 ASP 有损的 DCT




Elecard Proprietary MPEG-1, MPEG-2, MPEG-4, AVC 有损的 DCT No Yes No Yes Yes
DivX Proprietary MPEG-4 ASP, H.264 有损的 DCT



Yes
DivX ;-) Proprietary Microsoft's MPEG-4v3 (not MPEG-4 compliant) 有损的 DCT




Cinepak Proprietary Unknown 有损的 VQ




Sorenson Video Proprietary Sorenson Video 有损的 DCT




Sorenson Spark Proprietary Sorenson Spark 有损的 DCT




MainConcept Proprietary MPEG-1, MPEG-2, H.264/AVC, H.263, VC-3, MPEG-4 Part 2, DV, MJPEG etc. 有损的 DCT Yes Yes

Yes
Nero Digital Proprietary MPEG-4 ASP, H.264[18] 有损的 DCT




ProRes 422 / ProRes 4444 Proprietary Unknown 有损的 DCT




VP4 Proprietary VP4 有损的 DCT




VP5 Proprietary VP5 有损的 DCT




VP6 Proprietary VP6 有损的 DCT




VP7 Proprietary VP7 有损的 DCT




DNxHD Proprietary VC-3 有损的 DCT




Cinema Craft Encoder SP2 Proprietary MPEG-1, MPEG-2 有损的 DCT




TMPGEnc Free Version Proprietary MPEG-1, MPEG-2 有损的 DCT




Windows Media Encoder Proprietary WMV, VC-1, (in early versions MPEG-4 Part 2 and not MPEG-4 compliant MPEG-4v3, MPEG-4v2) 有损的 DCT




Indeo Video Proprietary Indeo Video 有损的 DCT




TrueMotion S Proprietary TrueMotion S 有损的 Unknown





4. 其他概念

4.1 元文件

https://en.wikipedia.org/wiki/Metafile
元文件是可存储多种类型的数据,诸如文件格式的图形文件格式.
这些图形文件可以包含raster,vector和type数据.
这些文件的常见用途是为操作系统的计算机图形提供支持;例如,Microsoft Windows使用Windows图元文件,而Mac OS X使用PDF.
一些例子:
  • (PICT)Macintosh PICT资源,在Mac OS X中被PDF取代
  • (WMF)Windows图元文件 =(EMF)增强图元文件
  • (EPS)封装的PostScript
  • (CGM)计算机图形图元文件
  • (PDF)便携式文件格式
  • (CDR)Corel绘图文件
  • (SVG)可缩放矢量图形
  • (WPG)Word完美图形文件

4.2 多媒体框架

https://en.wikipedia.org/wiki/Multimedia_framework
一个多媒体框架是一个软件框架,处理媒介的计算机上,并通过网络.
好的多媒体框架提供了直观的API和模块化架构,可轻松添加对新的音频,视频和容器格式以及传输协议的支持.
它打算由媒体播放器和音频或视频编辑器之类的应用程序使用,但也可以用于建立视频会议.
应用程序,媒体转换器和其他多媒体工具.数据是在模块之间自动处理的,应用程序无需在连接的模块之间一个接一个地传递缓冲区.

与功能库相反,多媒体框架为媒体处理提供了运行时环境.
理想地,这样的环境为使用框架从应用程序分离的媒体处理块提供了执行上下文.
分离支持及时对多媒体数据进行独立处理.这些单独的上下文可以实现为线程.

GStreamer,一个跨平台基于管道的多媒体框架
https://en.wikipedia.org/wiki/GStreamer
GStreamer是一个基于管道的多媒体框架,可将各种媒体处理系统链接在一起以完成复杂的工作流程.
例如,GStreamer可用于构建一个以一种格式读取文件,对其进行处理并以另一种格式导出的系统.
可以以即插即用的方式更改格式和过程.

GStreamer支持多种媒体处理组件,包括简单的音频播放,音频和视频播放,录制,流媒体和编辑.
管道设计是创建多种类型的多媒体应用程序的基础,例如视频编辑器,代码转换器,流媒体广播器和媒体播放器.

它旨在在多种操作系统上工作,例如,基于Linux内核的操作系统,BSD,OpenSolaris,Android,macOS,iOS,Windows,OS / 400.

GStreamer是免费的开源软件,受GNU通用公共许可证(LGPL)条款的约束,并托管在freedesktop.org上.

https://en.wikipedia.org/wiki/GNOME_Videos
GNOME视频(以前称为Totem)是GNOME计算机桌面环境的媒体播放器(音频和视频).
GNOME视频使用Clutter和GTK +工具箱.从2.10版(2005年3月发布)开始,它正式包含在GNOME中,但实际上它已经包含在大多数GNOME环境中.
Totem利用GStreamer框架进行回放,尽管直到2.27.1版,它仍可以配置为使用Xine库而不是GStreamer.

直到最近,Totem仍然有两个不同的版本,尽管在用户界面级别看不到差异.
其中之一是基于GStreamer的,它是一个基于插件的多媒体框架.此版本具有出色的可扩展性,并支持多种媒体格式.
另一个基于xine,xine是常规的多媒体库.当时后者具有更好的加密DVD播放支持,DVD导航支持,并且可以播放GStreamer版本无法处理的某些文件.
由于GStreamer的增强功能(包括播放加密DVD的功能),Totem开发团队放弃了对xine后端的支持.

https://en.wikipedia.org/wiki/Xfce#Parole
基于GStreamer的媒体播放器,它重量轻,具有与旧GNOME视频类似的用户界面.
它由Ali Abdallah开发,是Xfce Goodies的一部分.
最初仅基于播放列表,现在包含一个选项,可以在打开要播放的文件时替换整个播放列表.

5. 更多链接

https://en.wikipedia.org/wiki/Category:Software_that_uses_GStreamer

开源编解码器和容器:
https://en.wikipedia.org/wiki/Open_source_codecs_and_containers

非线性编辑系统 https://en.wikipedia.org/wiki/Non-linear_editing_system
音频编码格式比较: https://en.wikipedia.org/wiki/Comparison_of_audio_coding_formats
容器格式比较: https://en.wikipedia.org/wiki/Comparison_of_container_formats
字幕(字幕): https://en.wikipedia.org/wiki/Subtitle_(captioning)
便携式媒体播放器比较: https://en.wikipedia.org/wiki/Comparison_of_portable_media_players
视频编码器比较: https://en.wikipedia.org/wiki/Comparison_of_video_encoders
PVR软件包比较: https://en.wikipedia.org/wiki/Comparison_of_PVR_software_packages
DVR软件包比较: https://en.wikipedia.org/wiki/Comparison_of_DVR_software_packages


https://zh.wikipedia.org/wiki/PDF軟體列表

https://zh.wikipedia.org/wiki/Category:软件比较
https://zh.wikipedia.org/wiki/Category:软件列表
https://zh.wikipedia.org/wiki/Category:媒体播放器

https://zh.wikipedia.org/wiki/计算机软件列表#多媒體應用軟體

Diode

导航 (返回顶部) 1. Diode 1.1 Diode 概述 1.2 肖克利二极管方程 1.3 缩写 Abbreviations 2. 主要功能 2.1 单向电流 (Unidirectional current flow) 2.2 阈值电压 (Threshold...