posts - 16, comments - 6, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          FFmpeg 加入 faac及faad2 庫

          Posted on 2009-10-14 16:30 java-flying 閱讀(5584) 評論(0)  編輯  收藏
           

          環境:RedHat as 4 (gcc:3.4.6)

          FFmpeg軟件只是個解碼編碼軟件,如果支持多種格式必須先安裝好對應的庫,下面就說說裝庫:

          由于gcc版本低下載的FaacFaad2版本不能是最新的。到網上下載faac-1.24.tar.gzfaad2-2.0.tar.gz

          1.      Faac

          #wget ftp://ftp.uni-frankfurt.de/pub/Mirrors2/gentoo.org/distfiles/faac-1.24.tar.gz

          # tar xvfz faac-1.24.tar.gz
          # cd faac

          #chmod 777 bootstrap
          # ./bootstrap
          # ./configure
          # make
          # make install

          2.      Faad2

          IE下載:http://download.chinaunix.net/down.php?id=5363&ResourceID=2885&site=1

          # tar xvfz faad2-2.0.tar.gz

          # cd faad2

          #chmod 777 bootstrap
          # ./bootstrap
          # ./configure

          (make以前把faad2主目錄下的Makefile修改下,找到有“rpm:    Makefile”的一行,把它下面三行前面的所有空格都改成一個TAB,否則,編譯會報錯)
          # make
          # make install

          3.      FFmpeg

          #wget http://ffmpeg.org/releases/ffmpeg-0.5.tar.bz2

          # bzip2 -d ffmpeg-0.5.tar.bz2
          # tar -xf ffmpeg-0.5.tar
          # cd ffmpeg-0.5

          # ./configure --enable-shared "
          --enable-gpl "
          -enable-libfaac "

          --enable-libfaad "

          --enable-libfaadbin

          # make

          (可能出現的錯誤:

          /usr/include/linux/videodev.h:55: error: syntax error before "ulong"

          /usr/include/linux/videodev.h:71: error: syntax error before '}' token

          libavdevice/v4l.c: In function `grab_read_header':

          libavdevice/v4l.c:77: error: storage size of 'tuner' isn't known

          libavdevice/v4l.c:141: error: invalid application of `sizeof' to incomplete type `video_tuner'

          libavdevice/v4l.c:148: error: invalid application of `sizeof' to incomplete type `video_tuner'

          libavdevice/v4l.c:77: warning: unused variable `tuner'

          make: *** [libavdevice/v4l.o] 錯誤 1

          vi /usr/include/linux/videodev.h

          查找rangelow, rangehigh;      /* Tuner range */這一行

           ulong rangelow, rangehigh;      /* Tuner range */

          改為:

               unsigned long rangelow, rangehigh;      /* Tuner range */

          這可能是源代碼videodev.h不是針對次版本Linux寫的,標準C沒有ulong類型,所以要改成unsigned long

          )
          # make install

          4.      運行 ffmpeg

          成功看到:configuration: --enable-gpl --enable-shared --enable-libfaac --enable-libfaad --enable-libfaadbin

          說明faacfaad2 已加入到了ffmpeg

          可能出的錯誤:

          ffmpeg: error while loading shared libraries: libavdevice.so.52: cannot open shared object file: No such file or directory

          解決辦法:

          vi /etc/ld.so.conf

          加入:/usr/local/lib

          執行ldconfig

          5.      音源轉換命令:

          采樣率 -ar 44100

          聲道 -ac 1/2

          碼率/比特率 -ab 32k/218k  

          編碼率:-acodec (AAc格式:libfaac)

          ffmpeg  –i  2.mp3  -ac 2  -ab  114k -acodec libfaac 2.aac(90比特率)

          ffmpeg -i  2.mp3  -ac 2  -ab  78k -acodec libfaac 2.aac(64比特率)

          Other Error - bitrate parameter is set too low :
          This is probably with relation to the audio bitrate. -ab 56 sets the audio bitrate to 56 bits per second. Try either -ab 56k or -ab 56000 for 56 kbps.


          在CentOS-4.4 x86_64安裝FFmpeg (非原創)
          http://203.208.37.132/search?q=cache:yTBG0mMuwYwJ:www.aygfsteel.com/javaren/archive/2009/09/22/279800.html+%E5%A6%82%E4%BD%95+%E5%AE%89%E8%A3%85ffmpeg-0.5.tar.bz2&cd=1&hl=zh-CN&ct=clnk&gl=cn&st_usg=ALhdy29u1loEbJVSqgsOVEBLjoHxf0Cezg

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 白城市| 无为县| 桐梓县| 长白| 岚皋县| 遂溪县| 东至县| 鹿邑县| 棋牌| 肃宁县| 云和县| 永仁县| 西和县| 鄂托克前旗| 静海县| 陕西省| 阿合奇县| 齐齐哈尔市| 渑池县| 团风县| 上杭县| 项城市| 苏尼特左旗| 双江| 双牌县| 东乌珠穆沁旗| 保定市| 台东县| 读书| 临桂县| 金华市| 改则县| 浙江省| 广西| 邹平县| 平江县| 金沙县| 特克斯县| 黑山县| 平潭县| 石城县|