ffmpeg+mencoder环境搭建和视频处理总结

合集下载

mencoder常用参数总结、Mencoder常用视频转换参数

mencoder常用参数总结、Mencoder常用视频转换参数

mencoder常⽤参数总结、Mencoder常⽤视频转换参数使⽤mencoder ,最关键的是明⽩参数。

因为⾳频、视频格式太多,结果它的参数也是⼀⼤堆⼀⼤堆的。

这⾥总结⼀下。

0, -vf设置输出⽂件格式:默认为avi格式,mencoder的默认格式。

需要其它格式,可以⽤ lavf1, -oac输出⾳频编码copymp3lame -lameopts aq=7:vbr=2:q=6q , 质量(0 - 最好,9 - 最差)(仅⽤于VBR)aq,算法质量(0 - 最好/最慢,9 - 最差/最快)编码⽅式包括有abr(按平均码率编码)、cbr(指固定码率编码)、vbr(按动态码率编码)三种br=128 则指定编码码率为 128kbps。

2, -srate 32000输出⾳频的采样率⾳频的采样频率。

频率通常有 22050、32000、44100 等⼏种。

3,-vf <滤镜1[=参数1:参数2:...],滤镜2,...>设置⼀连串的视频滤镜scale=320:240rotate=mirrorflip4,-ovcxvid -xvidencopts fixed_quant=8:bitrate=500 //xvidlavc -lavcopts vcodec=mpeg2video:vbitrate=500 // mpg2lavc -lavcopts vcodec=mpeg4:vbitrate=500 // mpg4x264 -x264encopts bitrate=500 // x264在 -lavcopts中,主要有这么⼏个:vcodec: 视频编码格式vbitrate: 数据⽐特率mbd: 宏模块算法,0-2 ,默认为0,越⼤品质越好trell: 量⼦化⽹络搜索cbp: 只能与 trell⼀起使⽤dia=4 移动搜索范围cmp=35,-ofps 30:(output fps)指定输出媒体⽂件的帧速,30fps指每秒种播放 30 个画⾯6,6.1. 选择编解码器及容器格式编码使⽤的⾳频及视频编码器分别通过-oac及-ovc选项指定例如输⼊如下命令mencoder -ovc help可列出你机器上相应版本的MEncoder所⽀持的所有视频编码。

FFMPEG的移植与使用

FFMPEG的移植与使用

FFMPEG的移植与使用FFmpeg是一个自由软件,可以进行音频和视频的录制、转换和流传输。

它提供了许多功能丰富的库和命令行工具,可以在各种平台上使用。

本文将介绍如何进行FFmpeg的移植和使用。

首先,我们需要了解FFmpeg的移植过程。

FFmpeg可以在多个平台上移植,包括Windows、macOS、Linux和Android等。

移植过程可以分为以下几个步骤:2. 配置编译环境:根据所使用的平台选择合适的编译环境,例如Windows下可以使用MinGW或MSYS23. 配置编译选项:进入源代码目录,运行`./configure`命令来配置编译选项。

可以根据需求选择需要的库和功能,例如支持的编解码器、格式和协议等。

4. 编译和安装:运行`make`命令编译源代码,根据所使用的平台可能还需要运行其他命令进行安装。

完成了FFmpeg的移植后,我们可以开始使用它进行音频和视频处理。

FFmpeg提供了许多命令行工具,可以进行各种操作,例如转码、剪切、合并和抽取等。

以下是一些常用的FFmpeg命令示例:1.转码:将一个视频文件转换为另一种格式。

`ffmpeg -i input.mp4 output.avi`2.剪切:截取视频的一部分。

`ffmpeg -ss 00:00:10 -i input.mp4 -t 00:00:20 output.mp4`3.合并:将多个视频文件合并为一个。

4.抽取音频:从视频中抽取音频文件。

`ffmpeg -i input.mp4 -vn output.mp3`5.转换音频格式:将音频文件转换为另一种格式。

`ffmpeg -i input.mp3 output.wav`通过使用这些命令和其他一些选项,我们可以实现各种音频和视频处理需求。

FFmpeg还提供了强大的API,可以在自己的应用程序中使用。

API提供了各种功能和选项,可以进行更复杂的音视频处理。

总结起来,FFmpeg是一个功能强大的音视频处理工具,可以进行音频和视频的录制、转换和流传输等。

ffmpeg的用法

ffmpeg的用法

ffmpeg的用法FFmpeg是一个开源的跨平台多媒体处理工具,它可以用于处理音频、视频和图像文件。

以下是一些关于FFmpeg用法的描述:1. FFmpeg的安装和配置:在安装FFmpeg之前,需要确保系统已经安装了必要的编译工具和依赖库。

安装过程可能会因操作系统的不同而有所不同,但通常可以通过包管理器来安装FFmpeg。

2. 视频转码:FFmpeg可以用于将视频文件从一种格式转换为另一种格式。

例如,要将一个MP4视频转换为AVI格式,可以使用以下命令:`ffmpeg -i input.mp4 output.avi`3. 裁剪和合并视频:FFmpeg还可以用于裁剪视频的特定部分或合并多个视频文件。

例如,要从一个视频文件中提取出第10秒到第20秒的内容,可以使用以下命令: `ffmpeg -ss 00:00:10 -i input.mp4 -to 00:00:20 -c copy output.mp4`要合并两个MP4视频文件,可以使用以下命令:`ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex concat -c copy output.mp4`4. 音频提取和转换:FFmpeg可以提取音频文件中的音频轨道,并将其转换为其他音频格式。

要提取一个视频文件的音频轨道,可以使用以下命令:`ffmpeg -i input.mp4 -vn -acodec copy output.aac`该命令将提取出视频文件的音频轨道,并将其保存为AAC格式的音频文件。

5. 视频截图:FFmpeg可以用于从视频文件中抓取一帧作为静态图像。

以下命令将从视频文件中抓取第5秒的一帧图像:`ffmpeg -i input.mp4 -ss 00:00:05 -frames:v 1 output.jpg`这些只是FFmpeg提供的一小部分功能,它还有很多其他有用的功能,如调整视频的分辨率和帧率,添加字幕等。

编程与音视频处理:如何通过编程实现音视频的处理和编辑

编程与音视频处理:如何通过编程实现音视频的处理和编辑

编程与音视频处理:如何通过编程实现音视频的处理和编辑随着科技的发展,音视频处理和编辑成为了日常生活中不可或缺的一部分。

在过去,这一领域往往是由专业的工作室或者专业人士完成,但现在,随着编程技术的发展和普及,普通人也可以通过编程来实现音视频的处理和编辑。

本文将介绍一些常用的编程工具和技术,以及相关的应用场景。

一、编程工具和技术1. Python语言:Python是一种简单易学的编程语言,而且具有强大的音视频处理库,如MoviePy、OpenCV等。

使用Python可以轻松地读取、编辑和处理音视频文件。

2. FFmpeg库:FFmpeg是一个跨平台的多媒体处理工具库,提供了编码、解码、转码、流媒体处理等功能。

使用FFmpeg库,可以通过编程来实现音视频的合并、剪切、转码、提取音频等操作。

3. OpenCV库:OpenCV是一个用于计算机视觉和图像处理的开源库,也可以用于处理视频。

借助OpenCV库,可以实现音视频的帧提取、帧处理、图像特效等。

4. PyDub库:PyDub是一个用于音频处理的Python库,可以用于音频的剪辑、混音、合并、格式转换等操作。

使用PyDub,可以轻松地将音频进行编辑和处理。

二、应用场景1.视频剪辑和合并:通过编程,可以将多个视频文件进行剪辑,去除不需要的部分,并将它们合并成一个新的视频文件。

可以根据需要添加过渡效果、字幕等元素,制作出独特的视频作品。

2.视频转码和压缩:有时候我们需要将视频转换为不同的格式或者调整视频的分辨率、比特率等参数,以适应不同的设备或平台。

通过编程,可以简单地实现视频的转码和压缩。

3.音频剪辑和混音:通过编程,可以实现对音频进行剪辑、混音和效果编辑。

可以去除不需要的音频片段,将多个音频文件混合成一个,或者为音频添加特效和滤镜。

4.视频特效添加:通过编程,可以实现对视频的特效添加,如模糊、颜色调整、水印等。

可以根据需求为视频添加一些独特的视觉效果,使其更具艺术感和吸引力。

FFMPEG使用说明

FFMPEG使用说明

FFMPEG使用说明FFmpeg是一个跨平台的开源多媒体框架,可以实现音视频的录制、转码、剪辑、合并等功能。

它支持各种音视频格式、编码器和滤镜,是媒体处理领域中的重要工具之一、本文将对FFmpeg的基本使用进行详细介绍。

安装FFmpeg在开始使用FFmpeg之前,我们首先需要将其安装到电脑上。

FFmpeg支持Windows、Mac OS和Linux等多个操作系统,可以根据自己的需求选择合适的版本。

Mac OS系统下,可以使用Homebrew或者MacPorts进行安装。

使用Homebrew安装时,只需要在终端中执行以下命令:brew install ffmpeg。

Linux系统下,可以使用包管理器(如apt、yum等)安装FFmpeg。

执行相应的命令即可完成安装。

基本命令安装完成后,我们就可以开始使用FFmpeg进行音视频处理了。

以下是一些常用的FFmpeg命令的介绍:1. 查看FFmpeg版本ffmpeg -version2. 查看FFmpeg帮助文档ffmpeg -h3.转码音视频文件ffmpeg -i input.mp4 output.avi在这个例子中,将input.mp4文件转码为output.avi文件。

FFmpeg 会根据文件扩展名推断文件的格式,如果需要指定输出格式,可以使用“-f”参数。

4.合并音视频文件ffmpeg -i input1.mp4 -i input2.mp3 -c:v copy -c:a copy output.mp4这个例子中,将input1.mp4和input2.mp3文件合并成一个输出文件output.mp4、其中“-c:v copy”表示视频流不需要重新编码,直接复制到输出文件中,“-c:a copy”表示音频流不需要重新编码。

5.裁剪视频ffmpeg -i input.mp4 -ss 00:01:00 -t 00:00:10 -c:v copy -c:a copy output.mp4在这个例子中,从input.mp4视频文件中裁剪出从01:00开始时长10秒的视频片段,并保存为output.mp4文件。

网易视频云技术之视频预处理技术

网易视频云技术之视频预处理技术

网易视频云技术之视频预处理技术一、概述视频编码包括分离、解码、编码、合成四部分,在分离与解码、合成部分可以认为是一种无损操作,而通常采用的编码如H264、MPEG-4等(无损压缩除外)是一种有损压缩。

为了提高视频编码后的质量,我们尝试在Encoder的数据输入之前增加一种预处理,用来弥补在编码过程中的亮度和色度的损失。

从而提高视频的清晰度。

二、预处理方法通过改变视频的亮度、对比度、饱和度(色度)来进行锐化,使其边缘的过度产生较大的改变,从而增加视频的清晰度。

锐化会产生噪声,因此增加去噪滤镜。

目前只是通过调整亮度和对比度来增加边缘的锐化,饱和度并未进行调整。

因为饱和度的调整会引入一些新的问题,比如产生色块,色彩的失真。

2.1 ffmpeg的预处理:增加亮度ffmpeg -i E:\music\1\1.mov -vcodec libx264 -profile baseline -level 3.1 -preset slow -b 2400k -maxrate 6000k -bufsize 9000k -vf"scale=-1:720,unsharp=luma_msize_x=7:luma_msize_y=7:luma_amount=1.5" -t hreads 12 -nr 6 -an -y -f mp4 E:\music\1\out_2400k_sharpen.mp42.2 avs的预处理avs通过增加锐化滤镜,调整饱和度和对比度进行编码前的预处理。

DirectShowSource("E:\music\1\1.mov").LanczosResize(1280,720).sharpen( 0.2)2.3 mencoder的预处理:增加亮度和对比度mencoder.exe -sws 9 -oac mp3lame -vfscale=1280:720,unsharp=l7x7:1.5,eq=1:15 -ovc x264 -ffourcc H264-x264encopts bitrate=2400:turbo=2:frameref=6:me=umh:me_range=16 E:\mu sic\1\1.mov -o E:\music\1\mencoder_out_1_4.avi三、效果对比画面摆放顺序依次为片源、ffmpeg编码、mencoder编码3.1 对比图1ffmpeg与mencoder预处理之后与片源相比,边缘更加锐利。

ffmpeg cuda 使用技巧

ffmpeg cuda 使用技巧

ffmpeg cuda 使用技巧在视频处理领域,FFmpeg 是一款功能强大的开源工具,而CUDA 则是NVIDIA 提供的并行计算平台和编程模型。

将FFmpeg 与CUDA 结合使用,可以充分利用GPU 的计算能力,大幅提高视频处理速度。

本文将为您介绍一些FFmpeg CUDA 的使用技巧,帮助您更好地发挥这一组合的潜力。

一、安装与配置1.确保您的系统已安装NVIDIA GPU 驱动程序,并支持CUDA。

2.安装FFmpeg,推荐使用源码编译安装,以便启用CUDA 支持。

3.编译FFmpeg 时,确保添加以下参数以启用CUDA 支持:```--enable-cuda --enable-cuvid --enable-nvenc```4.配置环境变量,确保CUDA 的路径已添加到`LD_LIBRARY_PATH` 和`PATH`。

二、使用技巧1.利用CUDA 加速解码使用FFmpeg 的`-hwaccel cuvid` 参数,可以启用CUDA 硬件加速解码。

例如:```ffmpeg -hwaccel cuvid -i input.mp4 -c:v h264_cuvid output.mp4```这将使用GPU 进行H.264 解码,提高处理速度。

2.使用CUDA 加速编码使用`-c:v h264_nvenc` 或`-c:v hevc_nvenc` 参数,可以启用NVIDIA GPU 的硬件加速编码。

例如:```ffmpeg -i input.mp4 -c:v h264_nvenc output.mp4```这将使用GPU 进行H.264 编码,提高编码速度。

3.利用CUDA 处理多路视频FFmpeg 支持使用CUDA 同时处理多路视频。

例如,将两个视频合成一个画面:```ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex"[0:v]pad=iw*2:ih[bg];[bg][1:v]overlay=w" -c:v h264_nvenc output.mp4 ```这将使用CUDA 加速处理多路视频,提高合成速度。

UbuntuLinux下Ffmpeg及Mencoder安装使用小结

UbuntuLinux下Ffmpeg及Mencoder安装使用小结

UbuntuLinux下Ffmpeg及Mencoder安装使用小结近段时间在学习Ffmpeg、Mencoder音视频转换,大概在Ubuntu 10.04、Ubuntu 10.10、Ubuntu Natty 测试版上安装和使用过。

重点是针对低分辨率的普通手机视频,测试的手机为Bird V780,主要参数为,视频编码:mpeg4、h263,音频编码:faac、amrnb,容器格式:mp4、3gp,分辨率:176×144;音乐文件格式:mp3 。

下面对 Ubuntu Linux 下 Ffmpeg 及 Mencoder 安装使用作个小结。

1、安装:安装Ubuntu 软件仓库里的版本是很容易的,用sudo apt-get install 命令就可以自动安装上。

但是官方仓库里面的版本比较陈旧,可能缺失一些功能和存在一些bug 没有解决,更重要的是,一些需要的编码支持没有被官方版本编译进去,如用于普通手机视频的faac、amr 音频编码支持等。

而且,两个软件官方网站均推荐使用其svn 或git 开发版本。

所以,下面着重总结编译安装 ffmpeg 和 mencoder。

为了避免可能的冲突,在开始之前,我卸载了仓库版本的相关软件:sudo apt-get remove ffmpeg mencoder mplayer获取Ffmpeg 开发版本:git clone git:///ffmpeg.git ffmpeg获取Mplayer 开发版本(包含了mencoder):svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer实际上 ./configure 配置 Mplayer 时会自动从 Ffmpeg 的开发库中下载 ffmpeg 最新开发版源码供编译 Mplayer 使用,因为 Mplayer 和 Mencoder 会调用 Ffmpeg 的库。

而且,在当前的 Mplayer 编译中,如果没有特别设定,Mplayer 会把 Ffmpeg 的库编译成静态库编入Mplayer 或Mencoder 的二进制文件中,使这两个文件达到约14M左右。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ffmpeg+mencoder环境搭建和视频处理总结ffmpeg+mencoder几乎可以完成目前基于web的播客平台任何音视频处理的操作.如果还需要添加一些什么的话,那么就是视频在线录制功能了,这个也可以用ffmpeg+fms来完成,因此一般的类似于YouTube的一些可见功能都可以在ffmpeg+mencoder+fms来做后台实现.由于fms没有实践,因此这里不描述.本文档有三部分:1)ffmpeg+mencoder环境搭建2)常见操作说明3)个人的一些使用心得1.ffmpeg+mencoder环境搭建1)概论视频界众多的编解码协议和各个公司定义的专用格式导致目前的视频音频文件纷繁复杂,单纯的ffmpeg支持的格式并不完全包括所有种类,至少swf,rmvb(rv4)目前的版本是不支持的.同时wma9似乎可以支持了.但没有测试.同时mencoder能支持rm,rmvb等格式,但是从视频中获取某帧截图的工作只能由ffmpeg完成.因此可以采用ffmpeg+mencoder完成目前所有流行格式的视频压缩转换,设置视频信息,截取视频中的图片等功能了,同时,采用其他的一些开源工具如MediaInfo可以获取视频的元数据信息.2)ffmpeg篇首先获取软件包:ffmpeg,lame(支持mp3),ogg vorbis,x264(h264 codec),xvid,3gp,libdts,mpeg4 aac.这些软件包在71.21的/home/zhengyu/tools里面都能找到.如果需要网上下载的话,可以提供下载地址.ffmpeg官网下载:http://ffmpeg.mplayerhq.hu...如果官网下载有问题的,xplore也提供了1月30的snapshot:下载ffmpeg.lame下载:当前版本为3.97,/pro...或者到xplore下载lame.ogg vorbis:这个一般的redhat自带,不需要下载.可以去看看/usr/lib/libvorbis.a在不在,如果不在可以yum install 或apt-get install.xvid下载:/..., xplore下载xvid.x264下载:这个可以去ftp:///下寻找最近的snapshot下载,或者svn获取,注意如果ffmpeg是什么时候的,x264的snapshot也应该是什么时候的,不然编译的时候容易报错.ftp:///pub...xplore下载x264的1月29日的snapshot.libdts:http://download.chinaunix...., xplore下载libdts:上面的软件包除了ffmpeg之外,在下载完成后解包,编译的参数都是./configure --prefix=/usr --enable-shared;make;sudo make installmpeg4 aac/aad2:...,...faac和faad2在下载解包之后需要自己automake生成编译文件.其中faac的1.25版本需要将内置的configure.in 文件最后的AM_OUTPUT中的几个续行去掉,并取消分行.然后按照bootstrap里面的操作进行,无非是aclocal -I .;autoheader;libtoolize --automake;automake -a --copy;autoconfig(或者前面的由autoreconf -vif替代);./configure --prefix=/usr --enable-shared;make;sudo make install;faad2的2.5版本需要修改内置的configure.in文件,不然会在没有libbmp时编译会通不过.找到configure.in中下面一段:引用if test x$WITHBMP = xyes; thenAC_DEFINE([HAVE_BMP], 1, [User wants beep media player plugin built])AM_CONDITIONAL([HAVE_XMMS], true)AM_CONDITIONAL([HAVE_BMP], true)fiif test x$WITHDRM = xyes; then改成if test x$WITHBMP = xyes; thenAC_DEFINE([HAVE_BMP], 1, [User wants beep media player plugin built])AM_CONDITIONAL([HAVE_XMMS], true)AM_CONDITIONAL([HAVE_BMP], true)elseAC_MSG_NOTICE(no bmp build configured)AM_CONDITIONAL([HAVE_BMP], false)fiif test x$WITHDRM = xyes; then然后autoreconf -vif;./configure --prefix=/usr --enable-shared;make;sudo make install;这里提供两个已经修改好的.只需要make clean;make;sudo make install;的tar包.faac1.25下载,faad2.5下载.3gp支持:在编译ffmpeg加入--enable-amr_nb --enable-amr_wb的时候,会有提示,下载:/ftp/Sp...,解压的源代码文件以后把里面的文件都拷贝到ffmpeg的源代码目录下libavcodec/amrwb_float;然后下载:/ftp/Sp...,解压得源代码文件以后把里面的文件都拷贝到ffmpeg解包目录下的libavcodec/amr_float,然后交给ffmpeg编译去做了.也可以在这里下载这两个包:amrwb_float下载,amr_float下载.这些codec都安装完毕之后便可以编译ffmpeg了,编译参数如下:./configure --prefix=/usr/local --enable-gpl --enable-shared --enable-mp3lame --enable-amr_nb --enable-amr_wb --enable-amr_if2 --enable-libogg --enable-vorbis --enable-xvid --enable-a52 --enable-a52bin --enable-faadbin --enable-dts --enable-pp --enable-faad --enable-faac --enable-x264 --enable-pthreads --disable-ffserver --disable-ffplaymake(sudo make install)然后就可以尝试用ffmpeg做视频转换截图了.当然,上面那些codec的编译是相当乏味的.你也可以根本不理会这些.因为最新版本的ffmpeg已经比以前支持更多的格式了.因此也可以只安装lame,xvid,x264就可以了.下面是两种配置下支持的格式diff -w的结果:引用2c2< configuration: --prefix=/usr --enable-gpl --enable-shared --enable-mp3lame --enable-amr_nb --enable-amr_wb --enable-amr_if2 --enable-libogg --enable-vorbis --enable-xvid --enable-a52 --enable-a52bin --enable-faadbin --enable-dts --enable-pp --enable-faad --enable-faac --enable-x264 --enable-pthreads --disable-ffserver --disable-ffplay---> configuration: --prefix=/usr/local --enable-mp3lame6c6< built on Jan 30 2007 17:55:22, gcc: 4.1.1 20061011 (Red Hat 4.1.1-30)---> built on Jan 30 2007 17:46:19, gcc: 4.1.1 20061011 (Red Hat 4.1.1-30)40c40< DE gxf GXF format---> D gxf GXF format72c72< DE ogg Ogg Vorbis---> D ogg Ogg111d110< DEA aac113c112< DEA ac3---> EA ac3132,133d130< DEA amr_nb< DEA amr_wb147d143< D A dts164c160< DEV DT h264---> D V DT h264190d185< D A mpeg4aac275d269< EV xvid3)mencoder篇首先获取mplayer软件包极其mplayer官网上自带的codecs.如果喜欢mplayer,也可以下载gui和font.关于mplayer-1.0rc1在71.21的/home/zhengyu/tools中能找到.如果需要网上下载,可以去官网:http://www.mplayerhq.hu/de...下载rc1地址如下:http://www1.mplayerhq.hu/M...最新的svn版本:http://www1.mplayerhq.hu/M...官网同时也给出了一些codec,其中就有rm格式的codec:http://www1.mplayerhq.hu/M...xplore也提供下载,mplayer1.0rc1下载,codec下载.下载完成之后,将tar vxjf essential-20061022.tar.bz2;sudo mkdir -p /usr/lib/codecs;sudo cp -rf essential-20061022/* /usr/lib/codecs;然后解包mplayer,按如下方式编译:./configure --prefix=/usr/local --enable-gui --enable-largefiles --enable-gif --enable-png --enable-jpeg--language=zh_CN --with-codecsdir=/usr/lib/codecs/make(sudo make install)然后就可以使用mencoder,当然也有一个没有gui的mplayer可以播放各种视频了.不过我们需要的是mencoder.至此,ffmpeg+mencoder搭建完成.2.常见操作说明对于ffmpeg,可以将除swf,rmvb,wmav9以外的视频/音频格式转换成flv/mp3,同时可以截取这些视频文件中的某个时间的该帧图片.这些实际上就是一个视频播客显示的部分.对于mencoder,支持各种常见格式的视频/音频转换成flv/mp3.或者转换成avi.1)ffmpeg篇:ffmpeg的命令行参数因为太多,这里不列出,可以用ffpmeg -h可以查看到.列出非高级参数如下:引用Main options:-L show license-h show help-version show version-formats show available formats, codecs, protocols, ...-f fmt force format-i filename input file name-y overwrite output files-t duration set the recording time-fs limit_size set the limit file size-ss time_off set the start time offset-itsoffset time_off set the input ts offset-title string set the title-timestamp time set the timestamp-author string set the author-copyright string set the copyright-comment string set the comment-album string set the album-v verbose control amount of logging-target type specify target file type ("vcd", "svcd", "dvd", "dv", "dv50", "pal-vcd", "ntsc-svcd", ...)-dframes number set the number of data frames to record-scodec codec force subtitle codec ('copy' to copy stream)-newsubtitle add a new subtitle stream to the current output stream-slang code set the ISO 639 language code (3 letters) of the current subtitle streamVideo options:-vframes number set the number of video frames to record-r rate set frame rate (Hz value, fraction or abbreviation)-s size set frame size (WxH or abbreviation)-aspect aspect set aspect ratio (4:3, 16:9 or 1.3333, 1.7777)-croptop size set top crop band size (in pixels)-cropbottom size set bottom crop band size (in pixels)-cropleft size set left crop band size (in pixels)-cropright size set right crop band size (in pixels)-padtop size set top pad band size (in pixels)-padbottom size set bottom pad band size (in pixels)-padleft size set left pad band size (in pixels)-padright size set right pad band size (in pixels)-padcolor color set color of pad bands (Hex 000000 thru FFFFFF)-vn disable video-vcodec codec force video codec ('copy' to copy stream)-sameq use same video quality as source (implies VBR)-pass n select the pass number (1 or 2)-passlogfile file select two pass log file name-newvideo add a new video stream to the current output streamSubtitle options:-scodec codec force subtitle codec ('copy' to copy stream)-newsubtitle add a new subtitle stream to the current output stream-slang code set the ISO 639 language code (3 letters) of the current subtitle streamAudio/Video grab options:-vd device set video grab device-vc channel set video grab channel (DV1394 only)-tvstd standard set television standard (NTSC, PAL (SECAM))-ad device set audio device-grab format request grabbing using-gd device set grab deviceAdvanced options:-map file:stream[:syncfile:syncstream] set input stream mapping-map_meta_data outfile:infile set meta data information of outfile from infile-benchmark add timings for benchmarking-dump dump each input packet-hex when dumping packets, also dump the payload-re read input at native frame rate-loop_input loop (current only works with images)-loop_output number of times to loop output in formats that support looping (0 loops forever) -threads count thread count-vsync video sync method-async audio sync method-vglobal video global header storage type-copyts copy timestamps-shortest finish encoding within shortest input-dts_delta_threshold timestamp discontinuity delta threshold-ps size set packet size in bits-muxdelay seconds set the maximum demux-decode delay-muxpreload seconds set the initial demux-decode delay如果这些都明白了,并且有编程基础,你就可以去参与ffmpeg开发了.其实这些堆积起来的命令95%一般是用不上的.这里介绍一些简单的常见的命令:-fromats 显示可用的格式-f fmt 强迫采用格式fmt-I filename 输入文件-y 覆盖输出文件-t duration 设置纪录时间hh:mm:ss[.xxx]格式的记录时间也支持(截图需要)-ss position 搜索到指定的时间[-]hh:mm:ss[.xxx]的格式也支持-title string 设置标题-author string 设置作者-copyright string 设置版权-comment string 设置评论-target type 设置目标文件类型(vcd,svcd,dvd),所有的格式选项(比特率,编解码以及缓冲区大小)自动设置,只需要输入如下的就可以了:ffmpeg -i myfile.avi -target vcd /tmp/vcd.mpg-hq 激活高质量设置-b bitrate 设置比特率,缺省200kb/s-r fps 设置帧频,缺省25-s size 设置帧大小,格式为WXH,缺省160X128.下面的简写也可以直接使用:Sqcif 128X96 qcif 176X144 cif 252X288 4cif 704X576-aspect aspect 设置横纵比4:3 16:9 或1.3333 1.7777-croptop/botton/left/right size 设置顶部切除带大小,像素单位-padtop/botton/left/right size 设置顶部补齐的大小,像素单位-padcolor color 设置补齐条颜色(hex,6个16进制的数,红:绿:蓝排列,比如000000代表黑色)-vn 不做视频记录-bt tolerance 设置视频码率容忍度kbit/s-maxrate bitrate设置最大视频码率容忍度-minrate bitreate 设置最小视频码率容忍度-bufsize size 设置码率控制缓冲区大小-vcodec codec 强制使用codec编解码方式. 如果用copy表示原始编解码数据必须被拷贝.(很重要)-ab bitrate 设置音频码率-ar freq 设置音频采样率-ac channels 设置通道,缺省为1-an 不使能音频纪录-acodec codec 使用codec编解码-vd device 设置视频捕获设备,比如/dev/video0-vc channel 设置视频捕获通道DV1394专用-tvstd standard 设置电视标准NTSC PAL(SECAM)-dv1394 设置DV1394捕获-av device 设置音频设备比如/dev/dsp-map file:stream 设置输入流映射-debug 打印特定调试信息-benchmark 为基准测试加入时间-hex 倾倒每一个输入包-bitexact 仅使用位精确算法用于编解码测试-ps size 设置包大小,以bits为单位-re 以本地帧频读数据,主要用于模拟捕获设备-loop 循环输入流。

相关文档
最新文档