当前位置:文档之家› 如何用FFmpeg命令分离3D格式的视频

如何用FFmpeg命令分离3D格式的视频

如何用FFmpeg命令分离3D格式的视频
如何用FFmpeg命令分离3D格式的视频

市面上流行的3D视频,主要有3D左右、3D上下格式,封装格式有mp4、mkv、AVI、mov等。有些网友习惯采用Edius、AE分离3D视频,本文另辟溪径,讲述如何用FFmpeg命令进行分离,通过批处理方式批量分离。

下面准备了3D左右、3D上下格式的素材各一个,用来示范,并提供多种方法。

一、将TOPGIRL_3D.mp4的左右眼,分离成左眼视频和右眼视频

要求:分离后的左右眼视频,分辩率、帧速率跟源视频相同,视频码率、音频码率跟源视频相同或相近。

提示:FFmpeg命令比较长,有些参数严格区分大小写,请不要手工输入,容易出错,建议直接从本文中复制一下命令行,把本文范例中的文件名替换成您自已的文件名,然后粘贴到DOS窗口(在黑色窗口里点右键,选“粘贴”),或者通过批处理方式执行。

ffmpeg -i TOPGIRL_3D.mp4 -vf "stereo3d=sbsl:ml,scale=iw*2:ih" -x264-params "crf=22" -c:a copy -y TOPGIRL_L.mp4

ffmpeg -i TOPGIRL_3D.mp4 -vf "stereo3d=sbsl:mr,scale=iw*2:ih" -x264-params "crf=22" -c:a copy -y TOPGIRL_R.mp4

ffmpeg -i TOPGIRL_3D.mp4 -vf "crop=iw/2:ih: 0:0,scale=iw*2:ih" -x264-params "crf=22" -c:a copy -y TOPGIRL_L.mp4

ffmpeg -i TOPGIRL_3D.mp4 -vf "crop=iw/2:ih:iw/2:0,scale=iw*2:ih" -x264-params "crf=22" -c:a copy -y TOPGIRL_R.mp4

备注:以上可以通过 -x264-params 后面的参数"crf=xx"来控制码率。

ffmpeg -i TOPGIRL_3D.mp4 -filter:v "crop='w=iw/2:x=0',scale='w=iw*2:h=0',setsar='r=1'" -c:a copy -y TOPGIRL_L.mp4

ffmpeg -i TOPGIRL_3D.mp4 -filter:v "crop='w=iw/2:x=ow',scale='w=iw*2:h=0',setsar='r=1'" -c:a copy -y TOPGIRL_R.mp4

备注:可以添加 -x264-params "crf=xx"来控制码率。

ffmpeg -i TOPGIRL_3D.mp4 -an-filter:v "crop='w=iw/2:x=ow',scale='w=iw*2:h=0',setsar='r=1'" TOPGIRL_R.mp4

备注:如果分离后的右眼,不需要带音频,可以加上-an表示不输出音频,只输出视频。

二、将TOPGIRL_3D.mp4的左右眼,输出为左眼tiff和右眼tiff

要求:输出的tiff序列,位深为16bit,Raw无损格式,RGB色彩空间

ffmpeg -i TOPGIRL_3D.mp4 -vf "stereo3d=sbs2l:ml,scale=iw*2:ih" -compression_algo raw -pix_fmt rgb48le -r 24 -an -f image2 -y "Left/TOPGIRL_L_%%05d.tiff"

ffmpeg -i TOPGIRL_3D.mp4 -vf "stereo3d=sbs2l:mr,scale=iw*2:ih" -compression_algo raw -pix_fmt rgb48le -r 24 -an -f image2 -y "Right/TOPGIRL_R_%%05d.tiff"

注意:批处理里面写成%%05d ,有一个%会被转义掉,shell里%不会被转义。意思是:在批处理里运行,要写两个%% ,在命令行里运行,只需写一个% (另外,运行命令之前,要在Output目录下事先创建好Left和Right这两个子文件夹,参见后面的目录规划)

一、将FANTASY_3D.mp4的上下眼,分离成上眼视频和下眼视频(上眼即左眼,下眼即右眼)

要求:分离后的上下眼视频,分辩率、帧速率跟源视频相同,视频码率、音频码率跟源视频相同或相近。

ffmpeg -i FANTASY_3D.mp4 -vf "stereo3d=ab2l:ml,scale=iw:ih*2" -x264-params "crf=23.6" -c:a copy -y FANTASY_UP.mp4

ffmpeg -i FANTASY_3D.mp4 -vf "stereo3d=ab2l:mr,scale=iw:ih*2" -x264-params "crf=23.6" -c:a copy -y FANTASY_DOWN.mp4

ffmpeg -i FANTASY_3D.mp4 -vf "crop=iw:ih/2:0:0,scale=iw:ih*2,setdar=dar/2" -x264-params "crf=23.6" -c:a copy -y FANTASY_UP.mp4

ffmpeg -i FANTASY_3D.mp4 -vf "crop=iw:ih/2:0:ih/2,scale=iw:ih*2,setdar=dar/2" -x264-params "crf=23.6" -c:a copy -y FANTASY_DOWN.mp4

ffmpeg -i FANTASY_3D.mp4 -filter:v "crop='h=ih/2:y=0',scale=iw:ih*2,setsar='r=1'" -c:a copy -y FANTASY_UP.mp4

ffmpeg -i FANTASY_3D.mp4 -filter:v "crop='h=ih/2:y=oh',scale=iw:ih*2,setsar='r=1'" -c:a copy -y FANTASY_DOWN.mp4

备注:可以添加 -x264-params "crf=xx"来控制码率。

ffmpeg -i FANTASY_3D.mp4 -an-filter:v "crop='h=ih/2:y=oh',scale=iw:ih*2,setsar='r=1'" -y FANTASY_DOWN.mp4

备注:如果分离后的下眼(即右眼),不需要带音频,可以加上-an表示不输出音频,只输出视频。

二、将FANTASY_3D.mp4的上下眼,输出为上眼tiff和下眼tiff(上眼即左眼,下眼即右眼)

要求:输出的tiff序列,位深为16bit,Raw无损格式,RGB色彩空间

ffmpeg -i FANTASY_3D.mp4 -vf "stereo3d=ab2l:ml,scale=iw:ih*2" -compression_algo raw -pix_fmt rgb48le -r 24 -an -f image2 -y "Left/FANTASY_L_%%05d.tiff"

ffmpeg -i FANTASY_3D.mp4 -vf "stereo3d=ab2l:mr,scale=iw:ih*2" -compression_algo raw -pix_fmt rgb48le -r 24 -an -f image2 -y "Right/FANTASYL_R_%%05d.tiff"

注意:批处理里面写成%%05d ,有一个%会被转义掉,shell里%不会被转义。意思是:在批处理里运行,要写两个%% ,在命令行里运行,只需写一个% (另外,运行命令之前,要在Output目录下事先创建好Left和Right这两个子文件夹,参见后面的目录规划)

本文使用FFmpeg命令分离左右眼,一条命令分离左眼,另一条命令分离右眼,上下眼的视频,也是如此。

如果有很多3D视频需要分离,可以采用批处理方式,进行批量分离,以提高工作效率。

1、目录规划。在ffmpeg目录下,新建一个子文件夹,把需要分离的3D视频全部拷贝到该文件夹下。

顺便把C:\ffmpeg下面的ffmpeg.exe文件,拷一份到Output文件夹里。如下图所示:

备注:如果需要输出tiff序列,必须在Output目录下事先创建好Left和Right这两个子文件夹,如果不需要输出tiff,则不用创建。

2、“组织”->“文件夹和搜索选项”->查看,去掉“隐藏私已知文件类型的扩展名”前面的勾,让扩展名显示出来,<确定>。

3、在右侧窗口点右键,“新建”->“文本文档”,把新建文本文档.txt 改成RUN.bat ,出现警告提示,按<是>

4、选中RUN.bat文件,按右键,选“编辑”,用记事本进行编辑(或者用Notepad++软件对它进行编辑)

5、从本文的范例中,把相关的命令拷贝到记事本或Notepad++里(本文提供了三种方法,随便选一种方法就行)

把本文范例中的文件名(包括主名和扩展名),改成您自已的文件名,其它参数不要动,只改文件名。

仔细检查几遍,确认无误后,按ctrl+S,进行保存。

提示:分离一个3D视频,需要两条配套的命令,一条分离左眼或上眼,另一条分离右眼或下眼。有多少视频需要转换,就添加多少条命令,命令行的数目不限。

文件的扩展名需要注意一下,如果您的3D源视频是mp4格式,分离后的视频,建议也输出为mp4格式;如果是MKV 格式,那么分离后的视频,也输出为MKV格式,依此类推。(源视频与分离后的视频,最好采用相同的封装格式)

6、双击RUN.bat文件,开始批量转换。会弹出一个黑色的DOS窗口,正在执行批处理命令,请不要关闭。

转换需要一定的时间,请耐心等候…

注意:ffmpeg.exe程序,RUN.bat批处理文件,必须跟3D视频摆在一起,摆在同一个文件夹里。

7、操作结束。

ffmpeg编译、使用与常见问题

FFMPEG编译、使用与常见问题 一. Linux下FFMPEG的安装与测试 (1) 二. FFMPEG编译中出现的一些问题与解决方法 (4) 三. FFMpeg简介及命令选项参数 (8) 四. FFMPEG与x264的编译 (13) 一.Linux下FFMPEG的安装与测试 a. 先装mp3在linux下的包:lame-3.97.tar.gz; tar -xvzf lame-3.97.tar.gz; cd lame-3.97; ./configure --enable-shared --prefix=/usr/; make; make install; b. 支持Ogg Vorbis: as4自带相应的rpm包,你可以安装一下如下rpm包: libvorbis, libvorbis-devel,libogg, libogg-devel 一般情况下as4都会安装 c. 支持xvid x264,现在最流行的两种高质量的压缩格式 xvid的编译安装 wget https://www.doczj.com/doc/b014974266.html,/downloads/xvidcore-1.1.0.tar.gz tar zvxf xvidcore-1.1.0.tar.gz cd xvidcore-1.1.2/build/generic ./configure --prefix=/usr --enable-shared make make install x264的获取用git: git clone git://https://www.doczj.com/doc/b014974266.html,/x264.git cd x264 ./configure --prefix=/usr --enable-shared make make install3 d. AC3和dts编码的支持

MATLAB常用函数大全

一、MATLAB常用的基本数学函数 abs(x):纯量的绝对值或向量的长度 angle(z):复数z的相角(Phase angle) sqrt(x):开平方 real(z):复数z的实部 imag(z):复数z的虚部 conj(z):复数z的共轭复数 round(x):四舍五入至最近整数 fix(x):无论正负,舍去小数至最近整数 floor(x):地板函数,即舍去正小数至最近整数ceil(x):天花板函数,即加入正小数至最近整数rat(x):将实数x化为分数表示 rats(x):将实数x化为多项分数展开 sign(x):符号函数 (Signum function)。 当x<0时,sign(x)=-1; 当x=0时,sign(x)=0; 当x>0时,sign(x)=1。 rem(x,y):求x除以y的馀数 gcd(x,y):整数x和y的最大公因数 lcm(x,y):整数x和y的最小公倍数 exp(x):自然指数 pow2(x):2的指数 log(x):以e为底的对数,即自然对数或 log2(x):以2为底的对数 log10(x):以10为底的对数 二、MATLAB常用的三角函数 sin(x):正弦函数 cos(x):余弦函数

tan(x):正切函数 asin(x):反正弦函数 acos(x):反馀弦函数 atan(x):反正切函数 atan2(x,y):四象限的反正切函数 sinh(x):超越正弦函数 cosh(x):超越馀弦函数 tanh(x):超越正切函数 asinh(x):反超越正弦函数 acosh(x):反超越馀弦函数 atanh(x):反超越正切函数 三、适用於向量的常用函数有: min(x): 向量x的元素的最小值 max(x): 向量x的元素的最大值 mean(x): 向量x的元素的平均值 median(x): 向量x的元素的中位数 std(x): 向量x的元素的标准差 diff(x): 向量x的相邻元素的差 sort(x): 对向量x的元素进行排序(Sorting)length(x): 向量x的元素个数 norm(x): 向量x的欧氏(Euclidean)长度sum(x): 向量x的元素总和 prod(x): 向量x的元素总乘积 cumsum(x): 向量x的累计元素总和 cumprod(x): 向量x的累计元素总乘积 dot(x, y): 向量x和y的内积 cross(x, y): 向量x和y的外积 四、MATLAB的永久常数

matlab 常用函数汇总

matlab 常用函数汇总 编程2008-07-10 21:45:20 阅读46 评论0 字号:大中小订阅matlab常用函数 图形注释 Title 图形标题 Xlabel X轴标记 Ylabel Y轴标记 Text 文本注释 Gtext 用鼠标放置文本 Grid 网格线 MATLAB编程语言 Function 增加新的函数 Eval 执行由MA TLAB表达式构成的字串 Feval 执行由字串指定的函数 Global 定义全局变量 程序控制流 If 条件执行语句 Else 与if命令配合使用 Elseif 与if命令配合使用 End For,while和if语句的结束 For 重复执行指定次数(循环) While 重复执行不定次数(循环) Break 终止循环的执行 Return 返回引用的函数 Error 显示信息并终止函数的执行 交互输入 Input 提示用户输入 Keyboard 像底稿文件一样使用键盘输入 Menu 产生由用户输入选择的菜单 Pause 等待用户响应 Uimenu 建立用户界面菜单 Uicontrol 建立用户界面控制 一般字符串函数 Strings MATLAB中有关字符串函数的说明 Abs 变字符串为数值 Setstr 变数值为字符串 Isstr 当变量为字符串时其值为真 Blanks 空串 Deblank 删除尾部的空串 Str2mat 从各个字符串中形成文本矩阵 Eval 执行由MA TLAB表达式组成的串 字符串比较 Strcmp , , , 比较字符串 Findstr 在一字符串中查找另一个子串

Upper 变字符串为大写 Lower 变字符串为小写 Isletter 当变量为字母时,其值为真 Isspace 当变量为空白字符时,其值为真 字符串与数值之间变换 Num2str 变数值为字符串 Int2str 变整数为字符串 Str2num 变字符串为数值 Sprintf 变数值为格式控制下的字符串 Sscanf 变字符串为格式控制下的数值 十进制与十六进制数之间变换 Hex2num 变十六进制为IEEE标准下的浮点数Hex2dec 变十六制数为十进制数 Dec2hex 变十进制数为十六进制数 建模 Append 追加系统动态特性 Augstate 变量状态作为输出 Blkbuild 从方框图中构造状态空间系统Cloop 系统的闭环 Connect 方框图建模 Conv 两个多项式的卷积 Destim 从增益矩阵中形成离散状态估计器Dreg 从增益矩阵中形成离散控制器和估计器Drmodel 产生随机离散模型 Estim 从增益矩阵中形成连续状态估计器Feedback 反馈系统连接 Ord2 产生二阶系统的A、B、C、D Pade 时延的Pade近似 Parallel 并行系统连接 Reg 从增益矩阵中形成连续控制器和估计器Rmodel 产生随机连续模型 Series 串行系统连接 Ssdelete 从模型中删除输入、输出或状态ssselect 从大系统中选择子系统 模型变换 C2d 变连续系统为离散系统 C2dm 利用指定方法变连续为离散系统 C2dt 带一延时变连续为离散系统 D2c 变离散为连续系统 D2cm 利用指定方法变离散为连续系统 Poly 变根值表示为多项式表示 Residue 部分分式展开 Ss2tf 变状态空间表示为传递函数表示 Ss2zp 变状态空间表示为零极点表示

ffmpeg开发指南(使用 libavformat 和 libavcodec)

ffmpeg开发指南(使用libavformat 和libavcodec) ffmpeg开发指南(使用libavformat 和libavcodec) ffmpeg开发指南(使用libavformat 和libavcodec)Ffmpeg 中的Libavformat 和libavcodec库是访问大多数视频文件格式的一个很好的方法。不幸的是,在开发您自己的程序时,这套库基本上没有提供什么实际的文档可以用来作为参考(至少我没有找到任何文档),并且它的例程也并没有太多的帮助。这种情况意味着,当我在最近某个项目中需要用到libavformat/libavcodec 库时,需要作很多试验来搞清楚怎样使用它们。这里是我所学习的--希望我做的这些能够帮助一些人,以免他们重蹈我的覆辙,作同样的试验,遇到同样的错误。你还可以从这里下载一个demo程序。我将要公开的这部分代码需要0.4.8 版本的ffmpeg库中的 libavformat/libavcodec 的支持(我正在写最新版本)。如果您发现以后的版本与我写的程序不能兼容,请告知我。在这个文档里,我仅仅涉及到如何从文件中读入视频流;音频流使用几乎同样的方法可以工作的很好,不过,我并没有实际使用过它们,所以,我没于办法提供任何示例代码。或许您会觉得奇怪,为什么需要两个库文件libavformat 和libavcodec :许多视频文件格式(AVI就是一个最好的例子)

实际上并没有明确指出应该使用哪种编码来解析音频和视 频数据;它们只是定义了音频流和视频流(或者,有可能是多个音频视频流)如何被绑定在一个文件里面。这就是为什么有时候,当你打开了一个AVI文件时,你只能听到声音,却不能看到图象--因为你的系统没有安装合适的视频解 码器。所以,libavformat 用来处理解析视频文件并将包含在其中的流分离出来,而libavcodec 则处理原始音频和视频流的解码。打开视频文件: 首先第一件事情--让我们来看看怎样打开一个视频文件 并从中得到流。我们要做的第一件事情就是初始化libavformat/libavcodec:av_register_all(); 这一步注册库中含有的所有可用的文件格式和编码器,这样当打开一个文件时,它们才能够自动选择相应的文件格式和编码器。要注意你只需调用一次av_register_all(),所以,尽可能的在你的初始代码中使用它。如果你愿意,你可以仅仅注册个人的文件格式和编码,不过,通常你不得不这么做却没有什么原因。下一步,打开文件: AVFormatContext *pFormatCtx;

MATLAB常用指令

MATLAB常用指令 1.常用命令-->管理命令和函数 addpath 添加目录到MATLAB搜索路径 doc 在Web浏览器上现实HTML文档 help 显示Matlab命令和M文件的在线帮助 helpwin helpdesk help lookfor 在基于Matlab搜索路径的所有M文件中搜索关键字partialpath 部分路径名 path 所有关于路径名的处理 pathtool 一个不错的窗口路径处理界面 rmpath 删除搜索路径中指定目录 type 显示指定文件的内容 ver 版本信息 version 版本号 web 打开web页 what 列出当前目录吓所有的M文件Mat文件和Mex文件whatsnew 显示readme文件 which 显示文件位置 (返回) 2.常用命令-->管理变量和工作区(输入输出、内存管理等) clear 从内存中删除 disp 显示文本或数组内容 length 数组长度(最长维数) load 重新载入变量(从磁盘上) mlock 锁定文件,防止文件被错误删除 munlock 解锁文件 openvar 在数组编辑器中打开变量 pack 整理内存空间 save 保存变量到文件8*) size 数组维数 who 列出内存变量 whos 列出内存变量,同时显示变量维数 workspace 显示工作空间窗口 (返回) 3.常用命令-->管理命令控制窗口(command窗口) clc 清空命令窗口 echo 禁止或允许显示执行过程 format 设置输出显示格式 home 光标移动到命令窗口左上角 more 设置命令窗口页输出格式 (返回)

ffmpeg之参数详解29

本文讲述参数详解 1. ffmpeg.exe -i F:\闪客之家\闪客之 歌.mp3 -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 f:\11.flv ffmpe g -i F:\01.wmv -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 f:\tes t.flv 使用-ss参数作用(time_off set the start time offset),可以从指定时间点开始转换任务。如: 转换文件格式的同时抓缩微图: ffmpeg -i "test.avi " -y -f image2 -ss 8 -t 0.001 -s 350x240 'test.jpg ' 对已有flv抓图: ffmpeg -i "test.flv " -y -f image2 -ss 8 -t 0.001 -s 350x240 'test.jpg ' -ss后跟的时间单位为秒Ffmpeg转换命令 ffmpeg -y -i test.mpeg -bitexact -vcodec h263 -b 128 -r 15 -s 17 6x144 -acodec aac -ac 2 -ar 22500 -ab 24 -f 3gp test.3gp 或者 ffmpeg -y -i test.mpeg -ac 1 -acodec amr_nb -ar 8000 -s 176x144 -b 128 -r 15 test.3gp ffmpeg参数设定解说 -bitexact 使用标准比特率 -vcodec xvid 使用xvid压缩 -s 320x240 指定分辨率 -r 29.97 桢速率(可以改,确认非标准桢率会导致音画不同步,所以只能设定为15或者29.97) 画面部分,选其一 -b <比特率> 指定压缩比特率,似乎ffmpeg是自动VBR的,指定了就大概是平均比特率,比如768,1500这样的就是原来默认项目中有的 -qscale <数值> 以<数值> 质量为基础的VBR,取值0.01-255,约小质量越好 -qmin <数值> 设定最小质量,与-qmax(设定最大质量)共用,比如-qmin 10 -qmax 31 -sameq 使用和源同样的质量声音部分 -acodec aac 设定声音编码 -ac <数值> 设定声道数,1就是单声道,2就是立体声,转换单声道的TVrip可以用1(节省一半容量),高品质的DVDrip就可以用2 -ar <采样率> 设定声音采样率,PSP只认24000 -ab <比特率> 设定声音比特率,前面-ac设为立体声时要以一半比特率来设置,比如192kbps的就设成96,转换君默认比特率都较小,要听到较高品质声音的话建议设到160kbps(80)以上 -vol <百分比> 设定音量,某些DVDrip的AC3轨音量极小,转换时可以用这个提高音量,比如200就是原来的2倍这样,要得到一个高画质音质低容量的MP4的话,首先画面最好不要用固定比特率,而用VBR参数让程序自己去判断,而音质参数可以在原来的基础上提升一点,听起来要舒服很多,也不会太大(看情况调整例子:ffmpeg -y -i "1.avi " -title "Test

用ffmpeg转换视频格式

用?mpeg转换视频格式deanraccoon@https://www.doczj.com/doc/b014974266.html, 2011年5月9日 目录

1实用?fmpeg命令 转自 https://www.doczj.com/doc/b014974266.html,/blog/19-ffmpeg-commands-for-all-needs 转自 https://www.doczj.com/doc/b014974266.html,/spip.php?article36 1.1查看视频文件信息 ffmpeg-i video.avi 1.2N个图片转化视频 ffmpeg-f image2-i image%d.jpg video.mpg 这个命令把当前文件夹下所有图片转成视频文件 1.3视频转化图片 ffmpeg video.mpg image%d.jpg 图片格式包括:PGM,PPM,PAM,PGMYUV,JPEG,GIF,PNG,TIFF,SGI 1.4视频转为iphone可播放的格式 ffmpeg source_video.avi input-acodec aac-ab128kb-vcodec mpeg4-b1200kb-mbd2-flags +4mv+trell-aic2-cmp2-subcmp2-s320x180-title X final_video.mp4 参数含义: ?源文件:source video.avi ?音频编码:aac ?音频的比特率:128kb/s ?视频编码:mpeg4 ?视频比特率:1200kb/s ?视频大小:320px par180px ?结果文件:?nal video.mp4 1.5视频转换成psp格式 ffmpeg-i source_video.avi-b300-s320x240-vcodec xvid-ab32-ar24000-acodec aac final_video.mp4参数含义: ?源文件:source video.avi

ffmpeg用法

ffmpeg.exe -i F:\闪客之家\闪客之歌.mp3 -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 f:\11.flv ffmpeg -i F:\01.wmv -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 f:\test.flv 使用-ss参数作用(time_off set the start time offset),可以从指定时间点开始转换任务。如: 转换文件格式的同时抓缩微图: ffmpeg -i "test.avi " -y -f image2 -ss 8 -t 0.001 -s 350x240 'test.jpg ' 对已有flv抓图: ffmpeg -i "test.flv " -y -f image2 -ss 8 -t 0.001 -s 350x240 'test.jpg ' -ss后跟的时间单位为秒Ffmpeg转换命令 ffmpeg -y -i test.mpeg -bitexact -vcodec h263 -b 128 -r 15 -s 176x1 44 -acodec aac -ac 2 -ar 22500 -ab 24 -f 3gp test.3gp 或者 ffmpeg -y -i test.mpeg -ac 1 -acodec amr_nb -ar 8000 -s 176x144 -b 128 -r 15 test.3gp ffmpeg参数设定解说 -bitexact 使用标准比特率 -vcodec xvid 使用xvid压缩 -s 320x240 指定分辨率 -r 29.97 桢速率(可以改,确认非标准桢率会导致音画不同步,所以只能设定为15或者29.97) 画面部分,选其一 -b <比特率> 指定压缩比特率,似乎ffmpeg是自动VBR的,指定了就大概是平均比特率,比如768,1500这样的就是原来默认项目中有的 -qscale <数值> 以<数值> 质量为基础的VBR,取值0.01-255,约小质量越好 -qmin <数值> 设定最小质量,与-qmax(设定最大质量)共用,比如-qmin 10 -qmax 31 -sameq 使用和源同样的质量声音部分 -acodec aac 设定声音编码 -ac <数值> 设定声道数,1就是单声道,2就是立体声,转换单声道的TV rip可以用1(节省一半容量),高品质的DVDrip就可以用2 -ar <采样率> 设定声音采样率,PSP只认24000 -ab <比特率> 设定声音比特率,前面-ac设为立体声时要以一半比特率来设置,比如192kbps的就设成96,转换君默认比特率都较小,要听到较高品质声音的话建议设到160kbps (80)以上 -vol <百分比> 设定音量,某些DVDrip的AC3轨音量极小,转换时可以用这个提高音量,比如200就是原来的2倍这样,要得到一个高画质音质低容量的MP4的话,首先画面最好不要用固定比特率,而用VBR参数让程序自己去判断,而音质参数可以在原来的基础上提升一点,听起来要舒服很多,也不会太大(看情况调整例子:ffmpeg -y -i "1.avi " -title "Test " -vcodec xvid -s 368x208 -r 29.97 -b 1500 -acodec aac -ac 2 -ar 24000 -ab 128 -vol 200 -f psp -muxvb 768 "1.*** "

MATLAB常用命令检索大全

MATLAB命令 MATLAB COMMANDS AND FUNCTIONS LIST A A ABS 绝对值、模、字符的ASCII码值 ACOS 反余弦 ACOSH 反双曲余弦 ACOT 反余切 ACOTH 反双曲余切 ACSC 反余割 ACSCH 反双曲余割 ALIGN 启动图形对象几何位置排列工具 ALL 所有元素非零为真 ANGLE 相角 ANS 表达式计算结果的缺省变量名 ANY 所有元素非全零为真 AREA 面域图 ARGNAMES 函数M文件宗量名 ASEC 反正割 ASECH 反双曲正割 ASIN 反正弦 ASINH 反双曲正弦 ASSIGNIN 向变量赋值 ATAN 反正切 ATAN2 四象限反正切 ATANH 反双曲正切 AUTUMN 红黄调秋色图阵 AXES 创建轴对象的低层指令 AXIS 控制轴刻度和风格的高层指令 B B BAR 二维直方图 BAR3 三维直方图 BAR3H 三维水平直方图 BARH 二维水平直方图 BASE2DEC X进制转换为十进制 BIN2DEC 二进制转换为十进制 BLANKS 创建空格串 BONE 蓝色调黑白色图阵 BOX 框状坐标轴 BREAK WHILE 或FOR 环中断指令

BRIGHTEN 亮度控制 C C CAPTURE (3版以前)捕获当前图形 CART2POL 直角坐标变为极或柱坐标 CART2SPH 直角坐标变为球坐标 CAT 串接成高维数组 CAXIS 色标尺刻度 CD 指定当前目录 CDEDIT 启动用户菜单、控件回调函数设计工具CDF2RDF 复数特征值对角阵转为实数块对角阵CEIL 向正无穷取整 CELL 创建元胞数组 CELL2STRUCT 元胞数组转换为构架数组CELLDISP 显示元胞数组内容 CELLPLOT 元胞数组内部结构图示 CHAR 把数值、符号、内联类转换为字符对象CHI2CDF 分布累计概率函数 CHI2INV 分布逆累计概率函数 CHI2PDF 分布概率密度函数 CHI2RND 分布随机数发生器 CHOL CHOLESKY分解 CLABEL 等位线标识 CLA 清除当前轴 CLASS 获知对象类别或创建对象 CLC 清除指令窗 CLEAR 清除内存变量和函数 CLF 清除图对象 CLOCK 时钟 COLORCUBE 三浓淡多彩交叉色图矩阵COLORDEF 设置色彩缺省值 COLORMAP 色图 COLSPACE 列空间的基 CLOSE 关闭指定窗口 COLPERM 列排序置换向量 COMET 彗星状轨迹图 COMET3 三维彗星轨迹图 COMPASS 射线图 COMPOSE 求复合函数 COND (逆)条件数 CONDEIG 计算特征值、特征向量同时给出条件数CONDEST 范-1条件数估计

ffmpeg命令详解

ffmpeg命令详解 一、ffmpeg命令详解 ffmpeg非常强大,轻松几条命令就可以完成你的工作。 把darkdoor.[001-100].jpg序列帧和001.mp3音频文件利用mpeg4编码方式合成视频文件darkdoor.avi: $ ffmpeg -i 001.mp3 -i darkdoor.%3d.jpg -s 1024x768 -author skypp -vcodec mpeg4 darkdoor.avi ffmpeg还支持mov格式: $ ffmpeg -i darkdoor.%3d.jpg darkdoor.mov 要查看你的ffmpeg支持哪些格式,可以用如下命令: $ ffmpeg -formats | less 还可以把视频文件导出成jpg序列帧: $ ffmpeg -i bc-cinematic-en.avi example.%d.jpg debian下安装ffmpeg很简单: #apt-get install ffmpeg ###################################### 下面是转来的使用说明,慢慢研究吧,嘿嘿 ###################################### ffmpeg使用语法 ffmpeg使用语法: ffmpeg [[options][`-i' input_file]]... {[options] output_file}... 如果没有输入文件,那么视音频捕捉就会起作用。 作为通用的规则,选项一般用于下一个特定的文件。如果你给–b 64选项,改选会设置下一个视频速率。对于原始输入文件,格式选项可能是需要的。 缺省情况下,ffmpeg试图尽可能的无损转换,采用与输入同样的音频视频参数来输出。3.选项 a) 通用选项

ffmpeg完全安装

Linux下ffmpeg的完整安装: 首先安装各种解码器 1.安装MP3音频编码器lame lame-398-1.tar.gz Url:https://www.doczj.com/doc/b014974266.html,/project/showfiles.php?group_id=290&package_id=309 tar zxvf lame-398-1.tar.gz cd lame-398-1 ./configure --enable-shared --prefix=/usr make & make install 2.安装汇编优化器yasm,可能安装x264要用到 https://www.doczj.com/doc/b014974266.html,/projects/yasm/releases/ tar zxvf yasm-1.3.0.tar.gz cd yasm-1.3.0 ./configure --enable-shared --prefix=/usr make & make install 3.安装ogg库,libogg Url:https://www.doczj.com/doc/b014974266.html,/releases/ogg/libogg-1.3.2.tar.gz tar zxvf libogg-1.3.2.tar.gz cd libogg-1.3.2 ./configure --enable-shared --prefix=/usr make & make install 4.安装vorbis编解码器,libvorbis Url:https://www.doczj.com/doc/b014974266.html,/releases/vorbis/libvorbis-1.3.3.tar.gz tar zxvf libvorbis-1.3.3.tar.gz cd libvorbis-1.3.3 ./configure --enable-shared --prefix=/usr make & make install /*********************************这里是分隔符**************************/ 出错提示: *** Could not run Ogg test program, checking why... *** The test program compiled, but did not run. This usually means *** that the run-time linker is not finding Ogg or finding the wrong *** version of Ogg. If it is not finding Ogg, you'll need to set your *** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point *** to the installed location Also, make sure you have run ldconfig if that *** is required on your system *** *** If you have an old version installed, it is best to remove it, although *** you may also be able to get things to work by modifying LD_LIBRARY_PATH configure: error: must have Ogg installed! 解决: # vi /etc/ld.so.conf

matlab命令大全

matlab命令 一、常用对象操作:除了一般windows窗口的常用功能键外。 1、!dir 可以查看当前工作目录的文件。 !dir& 可以在dos状态下查看。 2、who 可以查看当前工作空间变量名,whos 可以查看变量名细节。 3、功能键: 功能键快捷键说明 方向上键 Ctrl+P 返回前一行输入 方向下键 Ctrl+N 返回下一行输入 方向左键 Ctrl+B 光标向后移一个字符 方向右键 Ctrl+F 光标向前移一个字符 Ctrl+方向右键 Ctrl+R 光标向右移一个字符 Ctrl+方向左键 Ctrl+L 光标向左移一个字符 home Ctrl+A 光标移到行首 End Ctrl+E 光标移到行尾 Esc Ctrl+U 清除一行 Del Ctrl+D 清除光标所在的字符 Backspace Ctrl+H 删除光标前一个字符 Ctrl+K 删除到行尾 Ctrl+C 中断正在执行的命令 4、clc可以命令窗口显示的内容,但并不清除工作空间。 二、函数及运算 1、运算符: +:加,-:减, *:乘, /:除,\:左除 ^:幂,‘:复数的共轭转置,():制定运算顺序。 2、常用函数表: sin( ) 正弦(变量为弧度) Cot( ) 余切(变量为弧度) sind( ) 正弦(变量为度数) Cotd( ) 余切(变量为度数) asin( ) 反正弦(返回弧度) acot( ) 反余切(返回弧度) Asind( ) 反正弦(返回度数) acotd( ) 反余切(返回度数) cos( ) 余弦(变量为弧度) exp( ) 指数 cosd( ) 余弦(变量为度数) log( ) 对数 acos( ) 余正弦(返回弧度) log10( ) 以10为底对数 acosd( ) 余正弦(返回度数) sqrt( ) 开方

linux下安装FFMPEG全纪录

怎样安装ffmpeg? 1,cd /usr/local/src 下载最新版本的ffmpeg: svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg 2,cd ffmpeg ./configure make && make install 以上是安装不带任何解码库的ffmpeg。 使用ffmpeg命令进行测试安装是否成功。例如: ffmpeg --help II,要加入则在./configure后面加上选项,前提是已经编译安装了这种编码库。 [root@ip-208-109-221-163 ffmpeg]# ffmpeg --help ffmpeg: error while loading shared libraries: libavdevice.so.52: cannot open shared object file: No such file or directory 找不到libavdevice.so.52库。 解决方案:(成功解决问题的方案) 首先到/usr/local/lib/目录下去查看是否有libavdevice.so.52,然后设置环境变量:export LD_LIBRARY_PA TH=/usr/local/lib/ 注意:这种方案经验证,关闭终端再打开终端,这个环境变量就失效了,也就是说只对当前终端有效

最终解决方案: //********************************************** 因为找不到库文件。编辑/etc/ld.so.conf,加入一行: /usr/local/lib 执行ldconfig命令即可。 //************************************** 然后添加软链接。 ln -s /usr/local/lib/libavdevice.so.52 /usr/lib/libavdevice.so.52 安装成功后,测试: ffmpe g -i /home/admn/public_html/ConvertVedioT est/rjmj.mpeg -ab 56 -ar 22050 -b 500 -r 15 -qscale 4 -s 640*480 rjmj.flv 转换成功。 等等。 ln -s /usr/local/lib/libavformat.so.50 /usr/lib/libavformat.so.50 ln -s /usr/local/lib/libavcodec.so.51 /usr/lib/libavcodec.so.51 ln -s /usr/local/lib/libavutil.so.49 /usr/lib/libavutil.so.49 ln -s /usr/local/lib/libmp3lame.so.0 /usr/lib/libmp3lame.so.0 ln -s /usr/local/lib/libavformat.so.51 /usr/lib/libavformat.so.51

ffmpeg 常用命令汇总

ffmpeg 常用命令汇总 2016-06-15 09:11 17116人阅读评论(0)收藏举报 (经常用到ffmpeg 做一些视频数据的处理转换等,用来做测试,今天总结了一下, 参考了网上部分朋友的经验,一起在这里汇总了一下,有需要的朋友可以收藏测试 一下,有问题欢迎在下面回帖交流,谢谢;by ternence.hsu) 1、ffmpeg使用语法 命令格式: ffmpeg -i [输入文件名] [参数选项] -f [格式] [输出文件] ffmpeg [[options][`-i' input_file]]... {[options] output_file}... 1、参数选项: (1) -an: 去掉音频 (2) -acodec: 音频选项,一般后面加copy表示拷贝 (3) -vcodec:视频选项,一般后面加copy表示拷贝 2、格式: (1) h264: 表示输出的是h264的视频裸流 (2) mp4: 表示输出的是mp4的视频 (3)mpegts: 表示ts视频流 如果没有输入文件,那么视音频捕捉(只在Linux下有效,因为Linux下把音视频设备当作文件句柄选项一般用于下一个特定的文件。如果你给–b 64选项,改选会设置下一个视频速率。对于原始输入下,ffmpeg试图尽可能的无损转换,采用与输入同样的音频视频参数来输出。(by ternence.hsu) 2、视频转换 H264视频转ts视频流 ffmpeg -i test.h264 -vcodec copy -f mpegts test.ts H264视频转mp4 ffmpeg -i test.h264 -vcodec copy -f mp4 test.mp4 ts视频转mp4 ffmpeg -i test.ts -acodec copy -vcodec copy -f mp4 test.mp4 mp4视频转flv ffmpeg -i test.mp4 -acodec copy -vcodec copy -f flv test.flv

ffmpeg学习笔记

准备工作: 1.登录https://www.doczj.com/doc/b014974266.html,/builds/下载对应的开发版本 如xp32位系统下载FFmpeg 32-bit Dev Versions与FFmpeg 32-bit Shared Versions 中dev版本里有头文件与静态lib库,在开发的时候包含进工程,share版本里有程序运行发布时候需要的dll动态库。 2.在vs2010中配置inclue与lib 工程→属性→配置属性→c/c++→常规→附加包含目录→添加dev版本中的include路径 工程→属性→配置属性→链接器→常规→附加库目录→添加dev版本中的lib 路径 工程→属性→配置属性→链接器→输入→附加依赖项→添加dev版本中的lib 文件,具体包括:avcodec.lib,avformat.lib,avdevice.lib,avfilter.lib,avutil.lib,postproc.lib,swresample.lib,swscale.lib 3.在工程中引用ffmpeg头文件,因为ffmepeg是纯C程序,因此,在C++中包含其头文件需要加上extern “C”标识符,如: extern"C" { #include"libavformat/avformat.h" #include"libavcodec/avcodec.h" } 4.工程调试运行时需要将dll添加至工程目录,具体包括:avcodec-5 5.dll, avdevice-55.dll,avfilter-3.dll,avformat-55.dll,avutil-52.dll, postproc-52.dll,swresample-0.dll,swscale-2.dll 5.程序编译会报无法打开包括文件:“inttypes.h”: No such file or directory 原因是因为VS2010不支持inttypes.h。 解决方法删除,并在之前添加如下代码

matlab代码大全1

MATLAB主要命令汇总 MATLAB函数参考 附录1.1管理用命令 函数名功能描述函数名功能描述 addpath增加一条搜索路径rmpath删除一条搜索路径 demo运行Matlab演示程序type列出.M文件 doc装入超文本文档version显示Matlab的版本号 help启动联机帮助what列出当前目录下的有关文件 lasterr显示最后一条信息whatsnew显示Matlab的新特性lookfor搜索关键词的帮助which造出函数与文件所在的目录 path设置或查询Matlab路径 附录1.2管理变量与工作空间用命令 函数名功能描述函数名功能描述 clear删除内存中的变量与函数pack整理工作空间内存 disp显示矩阵与文本save将工作空间中的变量存盘 length查询向量的维数size查询矩阵的维数 load从文件中装入数据who,whos列出工作空间中的变量名 附录1.3文件与操作系统处理命令 函数名功能描述函数名功能描述 cd改变当前工作目录edit编辑.M文件 delete删除文件matlabroot获得Matlab的安装根目录 diary将Matlab运行命令存盘tempdir获得系统的缓存目录 dir列出当前目录的内容tempname获得一个缓存(temp)文件 !执行操作系统命令 附录1.4窗口控制命令 函数名功能描述函数名功能描述 echo显示文件中的Matlab中的命令more控制命令窗口的输出页面format设置输出格式 附录1.5启动与退出命令 函数名功能描述函数名功能描述 matlabrc启动主程序quit退出Matlab环境 startup Matlab自启动程序 附录2运算符号与特殊字符附录 2.1运算符号与特殊字符 函数名功能描述函数名功能描述

ffmpeg时间戳

FFmpeg里有两种时间戳:DTS(Decoding Time Stamp)和PTS(Presentation Time Stamp)。顾名思义,前者是解码的时间,后者是显示的时间。要仔细理解这两个概念,需要先了解FFmpeg中的packet和frame的概念。 FFmpeg中用AVPacket结构体来描述解码前或编码后的压缩包,用AVFrame结构体来描述解码后或编码前的信号帧。对于视频来说,AVFrame就是视频的一帧图像。这帧图像什么时候显示给用户,就取决于它的PTS。DTS是AVPacket里的一个成员,表示这个压缩包应该什么时候被解码。如果视频里各帧的编码是按输入顺序(也就是显示顺序)依次进行的,那么解码和显示时间应该是一致的。可事实上,在大多数编解码标准(如H.264或HEVC)中,编码顺序和输入顺序并不一致。于是才会需要PTS和DTS这两种不同的时间戳。 FFmpeg里有两种时间戳:DTS(Decoding Time Stamp)和PTS(Presentation Time Stamp)。顾名思义,前者是解码的时间,后者是显示的时间。要仔细理解这两个概念,需要先了解FFmpeg中的packet和frame的概念。 FFmpeg中用AVPacket结构体来描述解码前或编码后的压缩包,用AVFrame结构体来描述解码后或编码前的信号帧。对于视频来说,AVFrame就是视频的一帧图像。这帧图像什么时候显示给用户,就取决于它的PTS。DTS是AVPacket里的一个成员,表示这个压缩包应该什么时候被解码。如果视频里各帧的编码是按输入顺序(也就是显示顺序)依次进行的,那么解码和显示时间应该是一致的。可事实上,在大多数编解码标准(如H.264或HEVC)中,编码顺序和输入顺序并不一致。于是才会需要PTS和DTS这两种不同的时间戳。 视频的显示和存放原理 对于一个电影,帧是这样来显示的:I B B P。现在我们需要在显示B帧之前知道P帧中的信息。因此,帧可能会按照这样的方式来存储:IPBB。这就是为什么我们会有一个解码时间戳和一个显示时间戳的原因。解码时间戳告诉我们什么时候需要解码,显示时间戳告诉我们什么时候需要显示。所以,在这种情况下,我们的流可以是这样的: PTS: 1 4 2 3 DTS: 1 2 3 4 Stream: I P B B 通常PTS和DTS只有在流中有B帧的时候会不同。 DTS和PTS 音频和视频流都有一些关于以多快速度和什么时间来播放它们的信息在里面。音频流有采样,视频流有每秒的帧率。然而,如果我们只是简单的通过数帧和乘以帧率的方式来同步视频,那么就很有可能会失去同步。于是作为一种补充,在流中的包有种叫做DTS(解码时间戳)和PTS(显示时间戳)的机制。为了这两个参数,你需要了解电影存放的方式。像MPEG等格式,使用被叫做B帧(B表示双向bidrectional)的方式。另外两种帧被

相关主题
文本预览
相关文档 最新文档