码迷,mamicode.com
首页 > 其他好文 > 详细

FFMPEG用法整理

时间:2015-02-04 16:50:19      阅读:1215      评论:0      收藏:0      [点我收藏+]

标签:ffmpeg   原理   

1.修改分辨率率

将输入为640*480的修改为320*249

ffmpeg -i input -vf scale=iw/2:-2 output

iw:输入帧宽,此处为640,640/2=320。

-1告诉scale filter保持纵横比,所以scale filter计算出值240.


2.改变音视频播放速度

1>视频2倍播放速度,音频两倍播放速度。

ffmpeg -i input.mkv -filter:v "setpts=0.5*PTS" output.mkv

注意,此种方式会丢帧。可以通过改变输出帧率来避免丢帧。

ffmpeg -i input.mkv -r 16 -filter:v "setpts=0.25*PTS" -an output.mkv


2>视频0.5倍播放速度

ffmpeg -i input.mkv -filter:v "setpts=2.0*PTS"


3>改变音频播放速度

ffmpeg -i input.mkv -filter:a "atempo=2.0" -vn output.mkv

atempo filter的取值范围是0.5-2.0.

音频4倍播放速度实现方式:

ffmepg -i input.mkv -filter:a "atempo=2.0,atempo=2.0" -vn output.mkv


4>同步改变音视频

ffmpeg -i input.mkv -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mkv

注意:[v];[0:a]之间是分号!


3.filtergraph


命令行参数-vf 后面跟着的就是filtergraph描述

一个filtergraph后面可以跟着几个chains,每个chain可包含一个或多个filter

下面几个命令行的作用是相等的。

ffmpeg -i input -vf [in]scale=iw/2:-1[out] output

ffmpeg -i input -vf scale=iw/2:-1 output

同样:

ffmpeg -i input -vf [in]yadif=0:0:0[middle];[middle]scale=iw/2:-1[out] output #包含两个chains,每个chains含有一个filter,两个chains通过middle连接

ffmpeg -i input -vf [in]yadif=0:0:0,scale=iw/2:-1[out] output #1个chain,包含两个filter

ffmpeg -i input -vf yadif=0:0:0,scale=iw/2:-1 output


testsrc是ffmpeg提供的一段视频。

下面的命令的效果是:


技术分享


ffmpeg -f lavfi -i testsrc -f lavfi -i testsrc -f lavfi -i testsrc -f lavfi -i testsrc -filter_complex

"[0:v]pad=iw*2:ih*2[a];

[1:v]negate[b];

[2:v]hflip[c];

[3:v]edgedetect[d];
[a][b]overlay=w[x];

[x][c]overlay=0:h[y];

[y][d]overlay=w:h[out]" 

-map "[out]" -c:v ffv1 -t 5 multi.avi


4.hflip

作用是水平旋转画面:

例如:

ffmpeg -f lavfi -i testsrc -vf "hflip" output.avi


5.negate

对输入帧取反。黑的变白的等等。。。


6.edgedetect

ffmpeg -f lavfi -i testsrc -vf "edgedetect[d]" out.avi

作用如图:

技术分享



7.选择选项

例如:只选择I帧进行处理

ffmpeg -i input -vf select=‘eq(pict_type\,PICT_TYPE_I)‘ output

ffmpeg -i input -vf select="yadif=0:-1:0,scale=iw/2:-1" output



先整理这么多,以后用到再补充。

FFMPEG用法整理

标签:ffmpeg   原理   

原文地址:http://blog.csdn.net/rootusers/article/details/43485941

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!