ubuntu下折腾ffmpeg小记(音视频录制、转换)

前几天编译了个mplayer 1.0rc2,我几乎就找不到播不了的音视频了,正开心中,发现mencoder好像不能转换音频, 提示说非要有视频不可,狂晕,什么玩意儿~
反正现在也在乎多折腾一个了,再把最新的ffmpeg装上吧:
  • sudo apt-get build-dep ffmpeg

  • http://ffmpeg.mplayerhq.hu
    下载
    最新的ffmpeg源代码
  • 解压,安装:
    [wheer]$ ./configure --prefix=/usr --enable-gpl --enable-shared --enable-libmp3lame --enable-libamr_nb --enable-libogg --enable-libvorbis --enable-libxvid --enable-liba52 --enable-liba52bin --enable-pp --enable-libfaad --enable-libfaadbin --enable-libfaac --enable-pthreads --disable-ffserver --enable-x11grab
    [wheer]$ make
    [wheer]$ sudo make instal
    ./configure的参数很多,可以用./configure --help来看,很多选项默认是不打开的,得加上,本来我还加上--enable-libx264的,但编译出错,去掉才好了-_-
    ok了,既然费劲装了这么个怪物,当然要好好利用了,ffmpeg最强大的自然是音、视频录制和转换了,它的格式支持也许比不上mencoder,但似乎更好理解点,举些例子吊吊胃口,更多变态功能自己摸索吧,反正本人连摄像头都没有,也没有那么多需求:
    • 录音(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设定尺寸,写成缩写或1024x768格式均可,-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:45
    in
    • Linux

    仅录制声音:

    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

  • 你可能感兴趣的:(image,ubuntu,video,手机,flv,output)