ffmpeg文档38-视频源

38 视频源

下面是当前有效的视频源

buffer

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

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

接受如下参数:

  • video_size

    指定视频尺寸,(同时指定width 和 height)。语法同于ffmpeg-utils手册中的视频尺寸章节。

  • width

    输入视频宽

  • height

    输入视频高

  • pix_fmt

    像素格式描述,可以是一个表征像素格式的号码或者名称

  • time_base

    指定时间戳时基

  • frame_rate

    指定帧率 stream.

  • pixel_aspect, sar

    输入视频的像素长宽比。

  • sws_param

    指定一个可选参数用于在自动检测到输入视频大小或者格式变化时插入放缩滤镜。

例如:

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选项被指定时,整个帧会被滚动填充。

接受如下选项:

  • filename, f

    用于读取细胞自动发生器初始状态的文件。在文件中第一行从行首开始每个非空字符被认为是活的细胞直到换行,更多行则被忽略

  • pattern, p

    用于定义细胞自动发生器初始状态,从指定字符串开始作为起始行

    每个非空字符作为一个细胞直到换行(或者字符串结束),更多的行被忽略

  • rate, r

    设置视频帧率,默认25

  • random_fill_ratio, ratio

    设置初始随机填充率,是浮点数,范围0-1,默认1/PHI

    此选项在指定了初始文件或模式时被忽略

  • random_seed, seed

    设置随机填充初始种子,必须是整数,范围0-UINT32_MAX。不指定或显式指定为-1,将尝试使用一个更好的随机种子

  • rule

    设置细胞自动发生规则,是0-255间数,默认110

  • size, s

    设置输出视频尺寸,语法同于ffmpeg-utils手册中的视频尺寸章节。

    如果filename或者pattern指定了,则尺寸默认为初始化行的宽度width,高为width * PHI

    如果尺寸被设置,其宽必须匹配pattern字符串中最大行。

    如果filenamepattern都没有指定,则默认为320x518(用作随机生成初始化)

  • scroll

    如果为1,向上滚出已经填满的行。如果为0 ,到最后一行后,新行将覆盖第一行,默认为1

  • start_full, full

    如果设置为1,则需要完全填满后才输出第一帧,这时默认行为,设置为0则禁用

  • stitch

    如果设置为1,左和右连接在一起,这是默认行为,为0则禁用

cellauto例子

  • pattern读取初始化,输出为 200x400.

    cellauto=f=pattern:s=200x400

  • 随机化输出初始化,宽200个细胞,填充率为2/3:

    cellauto=ratio=2/3:s=200x200

  • 以规则18创建一个由单细胞开始,初始化宽度为100的源:

    cellauto=p=@:s=100x400:full=0:rule=18

  • 指定一个详细的初始模式:

    cellauto=p='@@ @ @@':s=100x400:full=0:rule=18

mandelbrot

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

支持下列选项:

  • end_pts

    设置终端pts值,默认400.

  • end_scale

    设置终端缩放值,必须是浮点数,默认0.3.

  • inner

    设置内部着色模式,该算法用于绘制曼德布洛特分形内部区域.

    允许下面的值:

    black

      设置black模式. 
    

    convergence

      设置时间收缩模式 
    

    mincol

      设置基于点的颜色最接近的起源迭代 
    

    period

      设置时间模式 
    

    默认为mincol.

  • bailout

    设置bailout值,默认为10

  • maxiter

    设置最大迭代执行的渲染算法,默认7189.

  • outer

    设置外部着色模式,允许下面的值:

    iteration_count

      设置为迭代计算模式 
    

    normalized_iteration_count

      设置为规范化的迭代计算模式 
    

    默认为normalized_iteration_count.

  • rate, r

    设置帧率,可以是表达式和每秒帧数,默认为25

  • size, s

    设置帧尺寸,语法同于ffmpeg-utils手册中的视频尺寸章节. 默认"640x480".

  • start_scale

    设置初始化放大值,默认为3.0.

  • start_x

    设置初始化点的x坐标,必须是-100 到100间的浮点数,默认为 -0.743643887037158704752191506114774.

  • start_y

    设置初始化点的y坐标,必须是-100 到100间的浮点数,默认为-0.131825904205311970493132056385139.

mptestsrc

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

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

支持下面选项:

  • rate, r

    指定帧率,是默认每秒帧数数字。也可以以frame_rate_num/frame_rate_den格式设定整数和浮点数以及帧频短语都是有效值,默认25

  • duration, d

    设置持续时间秒数,语法同于持续时间章节,

    如果不指定或者指定为负数,表示持续不断

  • test, t

    设置测试项的数字或者名称,允许下面的值:

    dc_luma
    dc_chroma
    freq_luma
    freq_chroma
    amp_luma
    amp_chroma
    cbp
    mv
    ring1
    ring2
    all

    默认为"all",表示都要测试

例如:

mptestsrc=t=dc_luma

将进行dc_luma测试

frei0r源

提供一个frei0r源

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

  • size

    生成视频大小。语法同于ffmpeg-utils手册中的视频尺寸章节.

  • framerate

    设置帧率,值为数字字符串,或者num/den形式字符串或者帧率短语

  • filter_name

    这个名字frei0r源到负载。获得有关frei0r的更多信息以及如何设置参数,读取文档中的frei0r视频滤镜部分。

  • filter_params

    由’|’分隔的参数列表传递给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选项在下面介绍。

这个源支持下面的选项:

  • filename, f

    设置读取初始化网格的文件。在文件中每个非空字符代表存活的细胞,换行结束一行。

    如果没有指定则随机生成

  • rate, r

    设置视频帧率,默认25.

  • random_fill_ratio, ratio

    设置随机初始化随机网格填充率,值为0-1的浮点数,默认为1/PHI,在设置了filename时忽略

  • random_seed, seed

    设置随机种子,值为0 - UINT32_MAX如果设置为-1或者不设置,表示尽量用优化的种子

  • rule

    设置规则

    规则可以是指定代码的形式"SNS/BNB",这里NSNB是0-8的数字序数,NS在一个存活细胞周围还存活的细胞数,NB指定周围要新生的细胞数,sb分别是SB的替代

    另外一个规则可以被描述为18位的整数。其中高段9位表示存活细胞周围存活细胞状态数,低段9位则为要新生的细胞状态数。例如数字6153=(12<<9)+9,表示细胞周围有12个存活细胞,新生为9的规则,其等效于"S23/B03".

    默认为"S23/B3",它是原始的Conway’s 游戏规则。如果它周围有2或者3个细胞将新生细胞,否则将死亡细胞

  • size, s

    设置输出视频分辨率,语法同于ffmpeg-utils手册中的视频尺寸章节

    filename被设定,则默认会采用输入文件的最大行宽。如果设置了这个值则需与输入文件相匹配。

    如果没有设置filename则默认为 "320x240" (用于随机初始化模式).

  • stitch

    如果设置为1,则左右网格边和上下网格边缝合在一起(连续面),默认为1

  • mold

    设置细胞分解速度。如果设置,则为死细胞将从 death_colormold步骤内转变为 mold_color 的速度。范围0-255。

  • life_color

    设置存活的细胞颜色 (或新生)

  • death_color

    设置死亡细胞颜色。如果mold被设置,则为死亡后第一个颜色

  • mold_color

    设置分解后颜色,作为绝对死亡或已被分解的细胞颜色

    前面3个颜色选项其语法可同于ffmpeg-utils手册中的视频尺寸章节

life源例子

  • 从模板读取一个网格,分辨率为300x300:

    life=f=pattern:s=300x300

  • 填充率2/3的随机初始化,尺寸200x200, :

    life=ratio=2/3:s=200x200

  • 指定一个规则的随机初始化和生成:

    life=rule=S14/B34

  • 前面所有例子,且还伴有mold(分解)效果,在ffplay中播放:

    ffplay -f lavfi life=s=300x200:mold=10:r=60:ratio=0.1:death_color=#C83232:life_color=#00ff00,scale=1200:800:flags=16

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

  • color源提供一致的颜色输入

  • haldclutsrc源提供 哈尔德(Hald)CLUT输入,参考haldclut滤镜

  • nullsrc源返回未处理的视频帧,它主要用于分析/调试调试,或者作为滤镜中可以忽略的输入数据

  • rgbtestsrc源产生RGB测试模板,用于检测对比RGBBGR问题,应该可以看到一个红色、绿色和蓝色的从上到下条纹。

  • smptebars源产生颜色条模板,基于SMPTE Engineering Guideline EG 1-1990标准

  • smptehdbars源产生颜色条模板,基于SMPTE RP 219-2002标准

  • testsrc源产生测试视频模板,显示颜色模板和滚动的梯形以及时间戳。主要用于测试目的。

这些源支持下面一些参数:

  • color, c

    指定源颜色,仅作color源中有效,语法同于颜色

  • level

    指定Hald CLUT的层次。仅在haldclutsrc有效S。level中的N用于生成一个N*N*N像素为单位矩阵用于三维查找表。每个组件都是编码在1 /(N * N)范围内。

  • size, s

    指定源视频尺寸。语法同于ffmpeg-utils手册中的视频尺寸章节,默认值为320x240.

    这个选项在haldclutsrc中无效

  • rate, r

    设置帧率,语法同于ffmpeg-utils手册中的视频帧率章节,默认为25

  • sar

    设置样品长宽比(像素点长宽比)

  • duration, d

    设置源视频持续时间,语法同于持续时间章节.

    如果不设置或者设置为负数,表示持续存在。

  • decimals, n

    设置屏幕时间戳的小数数字显示,仅在testsrc源有效

    显示的时间戳值将对应于原来的时间戳值乘以10的X次方数的指定值。默认为0

例如:

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源还支持下面的命令:

  • c, color

    设置颜色来创建一个图像。其支持的语法同于颜色中的介绍。

转载于:https://www.cnblogs.com/xdsnet/p/5196600.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/373649.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

系统架构的演变 -----自 罗文浩

转自&#xff1a;https://my.oschina.net/lwhmdj0823/blog/617713版权声明&#xff1a;罗文浩所有摘要: 一个成熟的大型网站&#xff08;如淘宝、京东等&#xff09;的系统架构并不是开始设计就具备完整的高性能、高可用、安全等特性&#xff0c;它总是随着用户量的增加&#x…

前端请求接口post_前端如何优雅地模拟接口请求?(给你的代码加点小意外)

前言&#xff1a;作为一名前端开发程序猿&#xff0c;每天都被产品经理催着开发&#xff0c;项目一启动&#xff0c;产品就过来了。嘘寒问暖&#xff1a;大胸弟&#xff0c;你啥时开始做啊&#xff1f;一般我们都会直接告诉TA&#xff0c;你先找接口解决数据问题。而我们也会经…

cron表达式详解

Cron表达式是一个字符串&#xff0c;字符串以5或6个空格隔开&#xff0c;分为6或7个域&#xff0c;每一个域代表一个含义&#xff0c;Cron有如下两种语法格式&#xff1a; Seconds Minutes Hours DayofMonth Month DayofWeek Year或 Seconds Minutes Hours DayofMonth Month …

将Ehcache添加到Openxava应用程序

介绍 本文介绍如何在Openxava应用程序上快速启用Ehcache&#xff0c;从而提高性能。 查看实体及其图时&#xff0c;将加载关系。 添加第二级缓存可加快关联元素的检索速度&#xff0c;因为已加载的元素是从缓存而不是数据库中检索的。 最终&#xff0c;该页面解释了分钟项目如…

java mongodb 返回所有field_JAVA高级之反射

更多精彩&#xff0c;请点击上方蓝字关注我们&#xff01;今天跟大家分享JAVA高级之反射的知识。一、什么是反射反射就是把Java类中的各个成分映射成一个个的Java对象。即在运行状态中&#xff0c;对于任意一个类&#xff0c;都能够知道这个类的所以属性和方法&#xff1b;对于…

Linux入门笔记——cal、date、free、clear、history、man、whatis、uname

1、cal 显示日历2、date 显示系统当前的日期和时间3、df查看磁盘剩余空间的数量&#xff0c;常用参数 -h &#xff08;human&#xff09;人性化显示内容4、free显示空闲内存的数量&#xff0c;常用参数 -h &#xff08;human&#xff09;人性化显示内容5、clear清除控制终端显示…

使用ASM 4处理Java类文件–第一部分:世界,您好!

什么是ASM &#xff1a;ASM是一个用于处理Java字节码的开源Java库。 因此&#xff0c;它具有与Apache BCEL相同的目的。 由于本文假定读者具有Java类文件格式的某些知识&#xff0c;因此建议在此处进行阅读。 那么它与BCEL有何不同&#xff1f; 首先&#xff0c;它允许使用事件…

(转)C#程序开发中经常遇到的10条实用的代码

原文地址&#xff1a;http://www.cnblogs.com/JamesLi2015/p/3147986.html 1 读取操作系统和CLR的版本 OperatingSystem os System.Environment.OSVersion; Console.WriteLine(“Platform: {0}”, os.Platform); Console.WriteLine(“Service Pack: {0}”, os.ServicePack); …

Ueditor的配置及使用

Ueditor官网&#xff1a;http://ueditor.baidu.com/website/ &#xff08;项目需要JSP版本&#xff1a;UTF-8版&#xff09; 1.配置 <script type"text/javascript" charset"utf-8">window.UEDITOR_HOME_URL "${ctx}/assets/plugins/uedi…

努比亚z17s刷原生安卓_电脑运行手机APP,不会没关系,我推荐你使用显卡服务器运行安卓模拟器...

很多人都想用电脑端运行手机APP&#xff0c;但是又不知道怎么操作。纵横170yun小编推荐大家使用显卡服务器&#xff0c;在显卡服务器上运行安卓模拟器。让你轻轻松松在电脑端运行手机APP&#xff0c;甚至还可以多开噢 。如果你的电脑没有显卡&#xff0c;也没有关系&#xff0c…

Linux入门笔记——系统目录结构

目录 评论 / 根目录&#xff0c;万物起源。 /bin 包含系统启动和运行所必须的二进制程序。 /boot 包含 Linux 内核&#xff0c;最初的 RAM 磁盘映像&#xff08;系统启动时&#xff0c;由驱动程序所需&#xff09;&#xff0c;和 启动加载程序。 有趣的文件&#xff1a; /boot/…

线程故事:关于健壮的线程池

我的主题系列的另一个博客。 这次是关于线程池&#xff0c;尤其是可靠的线程池设置。 在Java中&#xff0c;线程池由Java 5中引入的ThreadPoolExecutor类实现。该类的Javadoc组织得很好。 因此&#xff0c;我不遗余力地在此处进行概述。 基本上&#xff0c; ThreadPoolExecutor…

css缩写

颜色&#xff1a; 16进制的色彩值为六位数&#xff0c;如果每两位的值相同&#xff0c;可以缩写一半。 如&#xff1a;#000000#000&#xff1b; #223344#234&#xff1b; 盒子的尺寸&#xff1a; 如margin:value; 一个值表示所有边&#xff0c;两个值表示上下&#xff0c;左右&…

win10改成ubundu主题_如何将ubuntu引导win10,修改为win10引导ubuntu

、首先用LiveCD进入ubuntu2、打开终端&#xff0c;输入&#xff1a;fdisk -l 查看自己linux的分区情况&#xff0c;我的分了4个区&#xff0c;swap&#xff0c;boot&#xff0c;/&#xff0c;home&#xff0c;对应的分别是&#xff1a;/dev/sda9 swap/dev/sda10 boot/dev/sda11…

Linux入门笔记——文件操作命令1

pwd Print name of current working directory&#xff08;打印出当前工作目录名&#xff09; cd Change directory&#xff08;更改目录&#xff09;例子&#xff1a;cd 更改工作目录到你的家目录&#xff08;和cd ~命令的运行结果是等同的 &#xff09;cd - 更…

使用MJRefresh自定义下拉刷新,上拉加载动画

有时候我们需要自己设置下拉刷新,上拉加载动画的实现,这里主要是记录下使用MJRefresh自定义下拉刷新,上拉加载动画..... 下拉刷新我们只需要继承MJRefreshGifHeader即可: 实现代码如下: - (void)prepare{[super prepare];self.stateLabel.hidden NO;self.lastUpdatedTimeLabel…

2.mybatis入门实例 连接数据库进行查询

1.新建项目&#xff0c;添加mybatis和mysql的jar包 2.在mysql中新建表user[id,name,age] CREATE TABLE users (id int(11) NOT NULL auto_increment,NAME varchar(50) default NULL,age int(11) default NULL,PRIMARY KEY (id)) ENGINEInnoDB DEFAULT CHARSETutf8 3.新建User类…

使用JacpFX和JavaFX2构建富客户端

创建快速且可扩展的桌面客户端始终是一个挑战&#xff0c;特别是在处理大量数据和长时间运行的任务时。 尽管Eclipse RCP和Netbeans RCP是已建立的平台&#xff0c;但其想法是建立一个轻量级的框架来异步处理组件&#xff0c;类似于Web组件。 开发人员在线程主题上的工作应较少…

lob移表空间 oracle_Oracle数据库(1)Oracle体系结构概述(一)

Oracle数据库的体系结构主要包括&#xff1a;物理存储结构、逻辑存储结构、内存结构和实例进程结构。了解了Oracle的体系结构&#xff0c;就可以对Oracle数据库有一个整体认识&#xff0c;这样有利于后续Oracle的学习。下面我们分别来了解逻辑存储结构、物理存储结构、内存结构…

Linux入门笔记——文件操作命令2

cp Copy files and directories&#xff08;复制文件和目录&#xff09; cp 选项&#xff1a; 选项 意义 -a, --archive 复制文件和目录&#xff0c;以及它们的属性&#xff0c;包括所有权和权限。 通常&#xff0c;复本具有用户所操作文件的默认属性。 -i, --interactive 在…