ffmpeg 视频采集、压缩、裁剪、合并命令(已测试通过)

1、视频采集

ffmpeg -f video4linux2 -s 480*272 -r 10 -i /dev/video0 test.asf

2、ffmpeg 视频压缩命令 

ffmpeg -threads 4 -i test.asf -r 29.97 -vcodec libx264 -s 480x272 -flags loop -cmp chroma -crf 24 -bt 256k -refs 1 -coder 0 -me_range 16 -subq 5 -partitions +parti4x4+parti8x8+partp8x8 -g 250 -keyint_min 25 -level 30 -qmin 10 -qmax 51 -trellis 2 -sc_threshold 40 -i_qfactor 0.71 -acodec libfaac -ab 128k -ar 48000 -ac 2 h264.flv

-r  设置fps,帧率,默认是25
-vcodec  强制使用参数指定的编码方式
-s 设置帧的大小
-flags 
-cmp
-crf
-bt 设置视频误码的容忍度,kbit/s 
-refs 
-coder
-me_range
-subq
-partitions
-g  gop_size  设置图像组大小,也表示两个I帧之间的间隔
-keyint_min
-level
-qmin
-qmax
-trellis
-sc_threshhold
-i_qfactor  p和i 之间的qb因子
-acodec 指定音频编解码器
-ab  音频码率
-ar 音频采样率

-ac 设置通道,默认为1既但通道


3、裁剪视频

ffmpeg -ss START -t DURATION -i INPUT -vcodec copy -acodec copy OUTPUT

对上面的命令稍做个解释。

-ss 开始时间,如: 00:00:20,表示从20秒开始;

-t 时长,如: 00:00:10,表示截取10秒长的视频;如果不设定,表示裁剪到文件尾

-i 输入,后面是空格,紧跟着就是输入视频文件;

-vcodec copy 和 -acodec copy表示所要使用的视频和音频的编码格式,这里指定为copy表示原样拷贝;

INPUT,输入视频文件;

OUTPUT,输出视频文件;


4、合并视频

1. 首先将各个视频全部转换为mpeg格式:

ffmpeg  -i INPUT -f mpeg  OUTPUT


例如:

ffmpeg  -i D:/temp1.avi -f mpeg  D:/result1.mpg

ffmpeg  -i D:/temp2.mp4 -f mpeg  D:/result2.mpg


2. 通过copy或者cat命令合并视频

copy -b INPUT+INPUT OUTPUT


例如:

copy /b "D:/result1.mpg"+"D:/result1.mpg" "D:/result.mpge"


3. 将合并的视频进行编码生成最终的结果视频

ffmpeg -i INPUT -f FORMAT OUTPUT


例如:

ffmpeg -i "D:/result.mpge" -f mp4 "D:/result.mp4"


你可能感兴趣的:(图像)