ubuntu下ffmpeg的一些命令收集

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了目前领先的音/视频编码库libavcodec。 FFmpeg是在Linux下开发出来的,但它可以在包括Windows在内的大多数操作系统中编译。这个项目是由Fabrice Bellard发起的,现在由Michael Niedermayer主持。可以轻易地实现多种视频格式之间的相互转换,例如可以将摄录下的视频avi等转成现在视频网站所采用的flv格式。

ubuntu安装很简单,源里面就有,直接安装就可以

sudo apt-get install ffmpeg

下面就是我收集到的一些命令,还是很有用的。

录音(mp3或amr):

ffmpeg -f oss -i /dev/dsp wheer.mp3
ffmpeg -f oss -i /dev/dsp -ar 8000 -ab 10200 wheer.amr

当然你还可以设一堆参数,如调节音量-vol 1024(256是默认值), 设定采样率-ar 8000,设定比特率-ab 122000等等。。。至于你想在麦克和声卡之间切换当然就可以求助于aumix了
另外,我还在~/.bashrc中定义alias amrec=’ffmpeg -f oss -vol 1024 -i /dev/dsp -ar 8000 -ab 10200’,以后就用amrec file.amr录音了,压缩率极高,一小时音频才5M多:)

屏幕录像:

ffmpeg -f x11grab -s xga -r 10   -i :0.0+0+0 wheer.avi

其中-f指定x11grab表示屏幕录像(*编译时必须加上–enable-x11grab选项*),-s设定尺寸,写成缩写或1024×768格式均可,-f设定fps,-i中的:0.0表示你的x11屏幕,+0,0表示偏移,如果你想录制某个小窗口,可以用xwininfo -frame来找到具体坐标。
另外还有一堆参数可设,如比特率-b 200000,-vcodec为视频编码,还可加上-f oss -i /dev/dsp同时录音,用aumix将录音源调成麦克风就可以配音了,声音太小了用-vol改~~

mp3->amr, amr->mp3
ffmpeg -i wheer.mp3 -ab 122000 wheer.amr
ffmpeg -i wheer.amr wheer.mp3

从视频中抓取音频

ffmpeg -i movie.rmvb -ss 40 -vn wheer.mp3
ffmpeg -i movie.rmvb -ss 40 -vn -ab 12200 -ar 8000 -ac 1 wheer.amr

均表示从第40s开始抓取,-vn表示不要视频

截图或gif动画

ffmpeg -i wheer.avi -t 0.001 -f image2 cap.jpg
ffmpeg -i wheer.avi -ss 10 -t 5 -pix_fmt rgb24 -loop_output 0 -f gif cap.gif

其中第二行表示从第10秒开始截5秒视频为gif动画,并将gif设为无限次重复播放

转换为3gp格式(手机上常用)

ffmpeg -i wheer.avi -s 176x144 -b 20000 -acodec amr -ab 12200 out.3gp

另外,我发现新版的ffmpeg和老版的用法还不太一样,如新版就没有-vd(video device)选项,屏幕录制就只能用-f x11grab,另外比特率单位在新版是b/s,在老版是kb/s,等等。。。
如何可以添加声音从 mp3 文件到有无音频的 flv 文件?(与 ffmpeg)

何时使用

ffmpeg i videoflv i audiomp3 acodec copy vcodec copy ab ar outputflv

使用ffmpeg录音及桌面录像Submitted by liuguangzhao on Wed, 2010-06-09 10:45in

仅录制声音:

ffmpeg -f oss -ar 44100 -i /dev/dsp -acodec mp2 -ab 128k test.mp3

桌面录像:

ffmpeg -f oss -i /dev/dsp -f x11grab -r 30 -s 1024x768 -i :0.0 -acodec pcm_s16le -vcodec libx264 -vpre lossless_ultrafast -threads 0 output.mkv

转换指定格式文件到FLV格式

ffmpeg -i test.mp3 -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 test.flv
ffmpeg  -i test.wmv -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 test.flv

转换文件为MP4格式(支持iPhone/iTouch)

ffmpeg  -y  -i input.wmv  -f mp4 -async 1-s 480x320  -acodec libfaac -vcodec libxvid  -qscale 7 -dts_delta_threshold 1 output.mp4
ffmpeg  -y  -i source_video.avi input -acodec libfaac -ab 128000 -vcodec mpeg4 -b 1200000 -mbd 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -s 320x180 -title X final_video.mp4

将一段音频与一段视频混合

ffmpeg -i son.wav -i video_origine.avi video_finale.mpg

将一段视频转换为DVD格式

ffmpeg -i source_video.avi -target pal-dvd -ps 2000000000 -aspect 16:9 finale_video.mpeg

重新调整视频尺寸大小

ffmpeg -vcodec mpeg4 -b 1000 -r 10 -g 300 -i ~/test.avi -s 800×600 ~/test-800-600.avi

截取指定时间的缩微图

ffmpeg -i test.avi -y -f image2 -ss 8 -t 0.001 -s 350x240 test.jpg

-ss后跟的时间单位为秒

用ffmpeg获取USB摄像头数据并存储到本地

sudo ffmpeg -f video4linux2 -s 320*240 -r 10 -i /dev/video0 test.asf

使用ffmpeg转换视频格式
我常使用的视频格式的一些转换

3gp to avi
ffmpeg -i source.3gp -f avi -vcodec xvid -acodec mp3 -ar
22050 destination.avi
flv to 3gp
ffmpeg -i source.flv -s 176×144 -vcodec h263 -r 25 -b 200
-ab 64 -acodec mp3 -ac 1 -ar 8000 destination.3gp
flv to mp4
ffmpeg -i source.flv -vcodec h264 -r 25 -b 200 -ab 128
-acodec mp3 -ac 2 -ar 44100 destination.mp3
avi to mp4
ffmpeg -i source.avi -f psp -r 29.97 -b 768k -ar 24000 -ab
64k -s 320×240 destination.mp4
mp4 to 3gp
ffmpeg -i source.mp4 -s 176×144 -vcodec h263 -r 25 -b 12200
-ab 12200 -ac 1 -ar 8000 destination.3gp
avi to 3gp
ffmpeg -i source.avi-s qcif -vcodec h263 -acodec mp3 -ac 1
-ar 8000 -r 25 -ab 32 -y destination.3gp
mpg to 3gp
ffmpeg -i source.mpg -s qcif -vcodec h263 -acodec mp3 -ac 1
-ar 8000 -ab 32 -y destination.3gp

发表评论

电子邮件地址不会被公开。 必填项已用*标注