FFplay文档解读-6-解码器,视频解码器,音频解码器,字幕解码器
7. 解码器
解码器是FFmpeg
中配置的元素,允许解码多媒体流。
配置FFmpeg
构建时,默认情况下会启用所有受支持的本机解码器。 必须通过相应的--enable-lib
选项手动启用需要外部库的解码器。 可以使用configure
选项--list-decoders
列出所有可用的解码器。
可以使用configure
选项--disable-decoders
禁用所有解码器,并使用选项--enable-decoder = DECODER / --disable-decoder = DECODER
选择性地启用/禁用单个解码器。
ff *
工具的选项-decoders
将显示已启用的解码器列表。
8. 视频解码器
下面是一些当前可用的视频解码器的描述。
8.1 rawvideo
原始视频解码器。
该解码器解码原始视频流。
8.1.1选项
top top_field_first
指定输入视频的假定字段类型。
类型 | 解释 |
---|---|
-1 | 视频被假定为渐进式(默认) |
0 |
假设是bottom-field-first
|
1 |
假设是top-field-first
|
9.音频解码器
9.1 ac3
AC-3
音频解码器。
该解码器实现了ATSC A / 52:2010和ETSI TS 102 366
的一部分,以及未记载的RealAudio 3(a.k.a.dnet)
。
学习地址:音视频新手快速入门必备系列-FFmpeg+SDL播放器开发实现-学习视频教程-腾讯课堂
【文章福利】免费领取更多音视频学习资料包、大厂面试题、技术视频和学习路线图,资料包括(C/C++,Linux,FFmpeg webRTC rtmp hls rtsp ffplay srs 等等)有需要的可以点击1079654574加群领取哦~
9.1.1 AC-3 解码器选项
-drc_scale value
动态范围比例因子。 应用于AC-3
流的动态范围值的因子。 该因子以指数方式应用。 有3
个值得注意的比例因子范围:
比例因子 | 解释 |
---|---|
drc_scale == 0 |
DRC 不可用。 产生全频音频。
|
0 < drc_scale <= 1 |
DRC 可用。 应用流DRC 值的一小部分。 音频再现在全范围和完全压缩之间。
|
drc_scale > 1 |
DRC可用。 不对称地应用drc_scale 。 响亮的声音被完全压缩。 柔和的声音得到增强。
|
9.2 flac
FLAC
音频解码器。
该解码器旨在实现Xiph
的完整FLAC
规范。
9.2.1 FLAC 解码器选项
-use_buggy_lpc
lavc FLAC
编码器用于生成具有高lpc
值的错误流(如默认值)。 此选项可以通过使用lavc
的旧错误lpc
逻辑进行解码来正确解码此类流。
9.3 ffwavesynth
内波合成器。
该解码器根据预定义的序列生成波形图案。 它的使用纯粹是内部的,它接受的数据格式没有公开记录。
9.4 libcelt
libcelt
解码器包装器。
libcelt
允许libavcodec
解码Xiph CELT
超低延迟音频编解码器。 配置期间需要存在libcelt
头文件和库。 需要使用--enable-libcelt
显式配置构建。
9.5 libgsm
libgsm
解码器包装器。
libgsm
允许libavcodec
解码GSM
全速率音频编解码器。 在配置期间需要存在libgsm
头文件和库。 您需要使用--enable-libgsm
显式配置构建。
该解码器支持普通GSM
和Microsoft
变体。
9.6 libilbc
libilbc
解码器包装器。
libilbc
允许libavcodec
解码因特网低比特率编解码器(iLBC)音频编解码器。 在配置期间需要存在libilbc
头文件和库。 您需要使用--enable-libilbc
显式配置构建。
9.6.1 Options
libilbc
包装器支持以下选项。
enhance
设置为1时启用解码音频的增强。默认值为0
(禁用)。
9.7 libopencore-amrnb
libopencore-amrnb
解码器包装器。
libopencore-amrnb
允许libavcodec
解码自适应多速率窄带音频编解码器。 使用它需要在配置期间存在libopencore-amrnb
头文件和库。 您需要使用--enable-libopencore-amrnb
显式配置构建。
存在用于AMR-NB
的FFmpeg
本机解码器,因此用户可以在没有该库的情况下解码AMR-NB
。
9.8 libopencore-amrwb
libopencore-amrwb
解码器包装器。
libopencore-amrwb
允许libavcodec
解码自适应多速率宽带音频编解码器。 使用它需要在配置期间存在libopencore-amrwb
头文件和库。 需要使用--enable-libopencore-amrwb
显式配置构建。
存在用于AMR-WB
的FFmpeg
本机解码器,因此用户可以在没有该库的情况下解码AMR-WB
。
9.9 libopus
libopus
解码器包装器。
libopus
允许libavcodec
解码Opus Interactive Audio Codec
。 在配置期间需要存在libopus
标头和库。 需要使用--enable-libopus
显式配置构建。
Opus
的FFmpeg
原生解码器存在,因此用户可以在没有此库的情况下解码Opus
。
10.字幕解码器
10.1 dvbsub
10.1.1 选项
compute_clut
值 | 解释 |
---|---|
-1 |
如果流中没有匹配的CLUT ,则计算clut
|
0 |
永远不要计算CLUT
|
1 |
始终计算CLUT 并覆盖流中提供的CLUT
|
dvb_substream
选择dvb
子流,或者所有子流(如果为-1),-1是默认值。
10.2 dvdsub
该编解码器解码DVD
中使用的位图字幕; 在VobSub
文件对和一些Matroska
文件中也可以找到相同的字幕。
10.2.1 选项
palette
指定位图使用的全局调色板。 当存储在VobSub
中时,通常在索引文件中指定调色板; 在Matroska
中,调色板以与VobSub
相同的格式存储在编解码器额外数据中。 在DVD
中,调色板存储在IFO
文件中,因此在从转储的VOB
文件中读取时不可用。
此选项的格式是包含由逗号分隔的16
个24
位十六进制数字(不带0x前缀)的字符串,例如0d00ee,ee450d,101010,eaeaea,0ce60b,ec14ed,ebff0b,0d617a,7b7b7b,d1d1d1,7b2a0e,0d950c, 0f007b,cf0dec,cfa80c,7c127b
。
ifo_palette
指定从中获取全局调色板的IFO
文件(还处于试验阶段)。
forced_subs_only
仅解码标记为强制的字幕条目。 有些标题在同一曲目中有强制和非强制字幕。 将此标志设置为1将仅保留强制字幕。 默认值为0
。
10.3 libzvbi-teletext
Libzvbi
允许libavcodec
解码DVB
图文电视页面和DVB
图文电视字幕。 在配置期间需要存在libzvbi
头文件和库。 您需要使用--enable-libzvbi
显式配置构建。
10.3.1 选项
txt_page
要解码的图文电视页码列表。 您可以使用特殊*
字符串来匹配所有页面。 删除与指定列表不匹配的页面。 默认值为*
。
txt_chop_top
丢弃顶部的teletext
线。 默认值为1
。
txt_format
指定已解码字幕的格式。 图文电视解码器能够将图文电视页面解码为bitmap
(位图)或简单文本,应该将bitmap
用于图文电视页面,因为某些图形和颜色不能用简单文本表示。 如果应用程序可以处理基于文本的简单字幕,则可以使用text
作为基于图文电视的字幕。 默认值是bitmap
。
txt_left
生成的位图的X
偏移量,默认为0
。
txt_top
生成的位图的Y
偏移量,默认为0
。
txt_chop_spaces
切换前导和尾随空格并从生成的文本中删除空行。 该选项对于基于图文电视的字幕是有用的,其中在行的开始或结尾处可能存在空白空间,或者由于双倍尺寸的图文电视字符而在字幕行之间可能存在空行。 默认值为1
。
txt_duration
设置已解码的图文电视页面或字幕的显示持续时间(以毫秒为单位)。 默认值为30000
,即30
秒。
txt_transparent
强制生成的图文电视位图的透明背景。 默认值为0
表示不透明背景。
txt_opacity
设置图文电视背景的不透明度(0-255
)。 如果未设置txt_transparent
,则它仅影响开始框和结束框之间的字符,通常是字幕。 如果设置了txt_transparent
,则默认值为0
,否则为255
。
FFplay文档解读-6-解码器,视频解码器,音频解码器,字幕解码器相关推荐
- FFplay文档解读-25-音频源,音频接收器
27. 音频源 以下是当前可用音频源的说明. 27.1 abuffer 缓冲音频帧,并使其可用于过滤器链. 该源主要用于编程用途,特别是通过'libavfilter / asrc_abuffer.h' ...
- FFplay文档解读-46-视频源,视频接收器
30. 视频源 以下是当前可用视频源的说明. 30.1 buffer 缓冲视频帧,并使其可用于过滤器链. 该源主要用于编程用途,特别是通过'libavfilter/vsrc_buffer.h'中定义的 ...
- FFplay文档解读-13-设备选项,输入设备一
17.设备选项 libavdevice库提供与libavformat相同的接口. 即,输入设备被视为分路器,输出设备如复用器,接口和通用设备选项与libavformat相同(参见ffmpeg-form ...
- FFplay文档解读-22-音频过滤器七
26.60 loudnorm EBU R128响度归一化.包括动态和线性归一化模式.支持单通道(直播,文件)和双通(文件)模式.该算法可以针对IL,LRA和最大真实峰值.为了准确地检测真实峰值,音频流 ...
- FFplay文档解读-41-视频过滤器十六
29.150 selectivecolor 将青色,品红色,黄色和黑色(CMYK)调整为特定颜色范围(例如"reds","yellows","gree ...
- FFplay文档解读-47-多媒体过滤器一
32. 多媒体过滤器 以下是当前可用的多媒体过滤器的说明. 32.1 abitscope 将输入音频转换为视频输出,显示音频位范围. 过滤器接受以下选项: rate,r 设置帧速率,表示为每秒帧数. ...
- FFplay文档解读-5-编解码器选项二
设置sub pel me比较功能. 可能的取值如下: 值 解释 sad 绝对差值之和,fast(默认) sse 平方误差之和 satd 绝对Hadamard的总和改变了差异 dct 绝对DCT转换差异 ...
- FFplay文档解读-7-比特流过滤器
11.比特流过滤器 配置FFmpeg构建时,默认情况下会启用所有支持的比特流过滤器. 您可以使用configure选项--list-bsfs列出所有可用的列表. 可以使用configure选项--di ...
- FFplay文档解读-45-视频过滤器二十
29.190 w3fdif 对输入视频进行去交错(w3fdif代表Weston 3 Field Deinterlacing Filter). 基于Martin Weston为BBC R&D描述 ...
最新文章
- Angular 7 版本
- IIS状态代码的含义
- 软考-信息系统项目管理师-组织级项目管理
- python中@staticmethod_Python中的@staticmethod和@classmethod的区别
- leetcode 28. 实现 strStr()(kmp)
- sqlserver 把SELECT结果集中一列的所有的值 用逗号隔开放进一个字段内
- 安装Android studio打不开,提示the environment variable HAVA_HOME does not point to a val
- github 思维导图开元软件_Windows上有哪些很棒思维导图的软件
- java操作Linux 调用shell命令,shell脚本
- rez注入器源码_CF-rez-Tool crossfire的REZ文件全套修改工具 - 下载 - 搜珍网
- 客户端连接openfire报错解决
- HSImageSidebarView
- android模拟器root权限获取,如何在Android模拟器上获得root访问权限?
- 无忧看片,Python黑科技神奇去除马赛克
- 网站运行原理及开发流程
- RPGMV修炼手册1——RPGMV的基本了解
- 从个人软件到企业软件
- unity 3d如何隐藏物体
- sublime text3插件使用
- 手机短信验证码发送(106短信验证码发送)