[原]零基礎學習視頻解碼之安裝ffmpeg

來源:互聯網
上載者:User

標籤:http   使用   strong   檔案   io   for   2014   問題   

  寫在文章前面:ffmpeg是一個開源的編解碼架構,擁有很強大的功能。但是對於如果使用其來做開發呈現著嚴重兩極分化,大神們討論著高深的問題,大多數像我這樣的小白連門都進不去。最近無意間領會了如何入門,現在寫下這個系列文章《零基礎學習視頻解碼》用來幫大家提供入門基礎。博主的開發機器是基於Ubuntu 14.04 64位的,所以這個系列的文章都是在Ubuntu下完成的。

  一、安裝SDL

  C語言沒有圖形庫,其中SDL比較小巧,並且是開源的,適合入門者學習。另外安裝ffmpeg的時候會檢測是否安裝SDL庫,否則會安裝失敗,故先安裝SDL庫。

  Ubuntu已經包含SDL庫,所以通過幾個簡單的命令就可以安裝。

  sudo apt-get install libsdl1.2-dev(比較大,10M左右) 或者到 Ubuntu Software Center中安裝

  附加元件封裝:

  sudo apt-get install libsdl-image1.2-dev

  sudo apt-get install libsdl-mixer1.2-dev

  sudo apt-get install libsdl-ttf2.0-dev

  sudo apt-get install libsdl-gfx1.2-dev

  安裝完成之後,在目錄/usr/include中,就會有個SDL檔案夾,裡麵包含了所需要的標頭檔。

  執行sdl-config --version 查看是否安裝成功,如果顯示版本資訊則表示安裝成功。

  二、安裝ffmpeg

  方法一:直接前往 Ubuntu Software Center中搜尋ffmpeg安裝。

  方法二:命令列運行:sudo  apt-get install ffmpeg

  方法三:自己下載源碼編譯安裝:

    1、git clone https://github.com/FFmpeg/FFmpeg.git

    2、需求配置:./configure --prefix=/usr/local/ffmpeg --enable-shared --enable-nonfree --enable-gpl --enable-pthreads --disable-yasm --extra-cflags=-I/usr/local/ffmpeg/include/ --extra-ldflags=-L/usr/local/ffmpeg/lib

      --prefix=PREFIX 設定的是ffmpeg安裝目錄

      --enable-shared 設定允許編譯共用庫

      --enable-nonfree --enable-gpl 設定對License的限制,分別為允許使用付費代碼和gpl代碼。

      --disable-yasm 禁用組譯工具

      --extra-ldflags 設定動態連結程式庫目錄

    3、編譯安裝:

      sudo make

      sudo make install

      安裝完成後,如果我們直接運行ffmpeg程式,會報錯:

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

      這是因為還有一些動態連結程式庫沒有註冊到系統中。第4步執行註冊動態連結程式庫。

    4、註冊動態連結程式庫:

      我們設定了動態連結程式庫的目錄,需要註冊到系統中。

       echo "/usr/local/ffmpeg/lib" > /etc/ld.so.conf.d/ffmpeg.conf

       ldconfig -v

    

    在命令列執行:ffmpeg 

    顯示如下資訊,那麼恭喜你編譯安裝ffmpeg成功了:

    ffmpeg version N-64965-g937eaba Copyright (c) 2000-2014 the FFmpeg developers
    built on Jul 29 2014 01:28:01 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
    configuration: --prefix=/usr --disable-yasm --enable-shared
    WARNING: library configuration mismatch
    swscale configuration: --arch=amd64 --enable-pthreads --enable-runtime-cpudetect --extra-version=‘6:9.14-0ubuntu0.14.04.1‘ --libdir=/usr/lib/x86_64-linux-gnu --prefix=/usr --enable-bzlib --enable-libdc1394 --enable-libfreetype --enable-frei0r --enable-gnutls --enable-libgsm --enable-libmp3lame --enable-librtmp --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-vaapi --enable-vdpau --enable-libvorbis --enable-libvpx --enable-zlib --enable-gpl --enable-swscale --enable-libcdio --enable-x11grab --enable-libx264 --enable-libxvid --shlibdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-static
    libavutil 52. 92.101 / 52. 92.101
    libavcodec 55. 69.100 / 55. 69.100
    libavformat 55. 49.100 / 55. 49.100
    libavdevice 55. 13.102 / 55. 13.102
    libavfilter 4. 11.102 / 4. 11.102
    libswscale 2. 6.100 / 2. 1. 1
    libswresample 0. 19.100 / 0. 19.100
    Hyper fast Audio and Video encoder
    usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

    Use -h to get full help or, even better, run ‘man ffmpeg‘

 

  

  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.