翻译ffmpeg-all文档(38),视频源

1210阅读 0评论2015-07-28 xdsnet
分类:其他平台

视频源

下面是当前有效的视频源

buffer

缓冲视频帧,其可以作为滤镜链图的环节

它通常用于编程,特别是通过libavfilter/vsrc_buffer.h的接口。

接受如下参数:

例如:

buffer=width=320:height=240:pix_fmt=yuv410p:time_base=1/24:sar=1 

其指定源为320x240分辨率,采样yuv410p的像素格式,时基为1/24秒,采样1:1的像素比。因为yuv410p对应的像素格式序号为6libavutil/pixfmt.h中的AVPixelFormat枚举中定义),所以上面又等效于

buffer=size=320x240:pixfmt=6:time_base=1/24:pixel_aspect=1/1 

另外,选项可以字符串(以‘:’分隔)直接指定(没有选项名,按顺序给选项赋值(下面介绍选项的顺序)),但不建议使用这个语法:

width:height:pix_fmt:time_base.num:time_base.den:pixel_aspect.num:pixel_aspect.den[:sws_param] 

cellauto

创建一个模式生成的细胞自动发生器(就是细胞变化样的图)

细胞自动发送器的初始状态可以通过filename选项和pattern选项的模式来定义,如果不知道则是随机初始状态。

每个新帧中的一个新行视频充满了下一代细胞自动发生器的结果。当scroll选项被指定时,整个帧会被滚动填充。

接受如下选项:

cellauto例子

mandelbrot

生成一个曼德尔勃特(Mandelbrot)集合分形,它逐渐从点(start_x,start_y)放大

支持下列选项:

mptestsrc

生成各种测试模式,以作为MPlayer测试滤镜。

生成视频是固定的256x256分辨率。这个源用于在特定编码功能测试

支持下面选项:

例如:

mptestsrc=t=dc_luma 

将进行dc_luma测试

frei0r源

提供一个frei0r源

编译需要frei0r头以及配置项--enable-frei0r,接受如下参数:

例如:要产生一个200x200分辨率,帧率为10,产生一个frei0r源用作partik0l

frei0r_src=size=200x200:framerate=10:filter_name=partik0l:filter_params=1234 [overlay]; [in][overlay] overlay 

life

产生life模式

这个源基于John Conway’s life游戏

源输入一个网格、每个像素(代表细胞)可以有2个状态,活或者死。每个细胞有8个邻国水平、垂直或对角相邻。

根据采用的规则发展网格,它指定邻居活细胞的数量会使细胞生存或出生,这里rule选项在下面介绍。

这个源支持下面的选项:

life源例子

color, haldclutsrc, nullsrc, rgbtestsrc, smptebars, smptehdbars, testsrc

例如:

testsrc=duration=5.3:size=qcif:rate=10 

产生5.3秒的视频,视频尺寸是176x144,帧率为10

下面则产生红色源,有0.2透明度,尺寸为qcif(176x144),帧率为10

color=c=red@0.2:s=qcif:r=10 

如果输入内容会被忽略,nullsrc可以被使用,下面的命令通过geq滤镜产生飞机飞过水稻的噪音

nullsrc=s=256x256, geq=random(1)*255:128:128 

额外命令

color源还支持下面的命令:

上一篇:翻译ffmpeg-all文档(37),视频滤镜
下一篇:翻译ffmpeg-all文档(39),视频槽