視頻處理工具FFmpeg的安裝(windows/Linux)


♣FFmpeg是什么?

FFmpeg組成

下載工具

♣安裝FFmpeg

♣應用到j2ee項目


前言:學習視頻編碼,一定要知道雷霄驊(leixiaohua1020)的專欄 ,偉大的程序員,26歲去世。雷霄驊---巨星隕落。此文多為摘錄自ffmpeg的文檔。

官網:https://www.ffmpeg.org/

github地址:https://github.com/FFmpeg/FFmpeg

本文ffmpeg軟件包地址:http://download.csdn.net/detail/sinat_31719925/9864080

1.FFmpeg是什么?

  引用 百度百科,FFmpeg是一套可以用來 記錄、轉換數字音頻、視頻,並能將其轉化為流的開源計算機程序。采用LGPL或GPL許可證。它提供了錄制、轉換以及流化音視頻的完整解決方案。它包含了非常先進的音頻/視頻編解碼庫libavcodec,為了保證高可移植性和編解碼質量,libavcodec里很多code都是從頭開發的。
  FFmpeg在Linux平台下開發,但它同樣也可以在其它操作系統環境中編譯運行,包括Windows、Mac OS X等。這個項目最早由Fabrice Bellard發起,2004年至2015年間由Michael Niedermayer主要負責維護。許多FFmpeg的開發人員都來自MPlayer項目,而且當前FFmpeg也是放在MPlayer項目組的服務器上。項目的名稱來自MPEG 視頻編碼標准,前面的"FF"代表"Fast Forward"。
2.FFmpeg組成

    構成FFmpeg主要有三個部分,

    2.1第一部分是四個作用不同的工具軟件,分別是:ffmpeg.exe,ffplay.exe,ffserver.exe和ffprobe.exe。

  • ffmpeg.exe:音視頻轉碼、轉換器
  • ffplay.exe:簡單的音視頻播放器
  • ffserver.exe:流媒體服務器
  • ffprobe.exe:簡單的多媒體碼流分析器

    2.2第二部分是可以供開發者使用的SDK,為各個不同平台編譯完成的庫。如果說上面的四個工具軟件都是完整成品形式的玩具,那么這些庫就相當於樂高積木一樣,我們可以根據自己的需求使用這些庫開發自己的應用程序。這些庫有:

  • libavcodec:包含音視頻編碼器和解碼器
  • libavutil:包含多媒體應用常用的簡化編程的工具,如隨機數生成器、數據結構、數學函數等功能
  • libavformat:包含多種多媒體容器格式的封裝、解封裝工具
  • libavfilter:包含多媒體處理常用的濾鏡功能
  • libavdevice:用於音視頻數據采集和渲染等功能的設備相關
  • libswscale:用於圖像縮放和色彩空間和像素格式轉換功能
  • libswresample:用於音頻重采樣和格式轉換等功能

    2.3第三部分是整個工程的源代碼,無論是編譯出來的可執行程序還是SDK,都是由這些源代碼編譯出來的。FFmpeg的源代碼由C語言實現,主要在Linux平台上進行開發。FFmpeg不是一個孤立的工程,它還存在多個依賴的第三方工程來增強它自身的功能。在當前這一系列的博文/視頻中,我們暫時不會涉及太多源代碼相關的內容,主要以FFmpeg的工具和SDK的調用為主。到下一系列我們將專門研究如何編譯源代碼並根據源代碼來進行二次開發。

3.下載工具

   在官網上我們可以找到"Download"頁面,該頁上可以下載FFmpeg的工具、庫和源代碼等。在選擇"Windows Packages"下的Windows Builds后,會跳轉到Windows版本的下載頁面:

   

   

   在下載頁面上,我們可以看到,對於32位和64位版本,分別提供了三種不同的模式:static、shared和dev

  • static: 該版本提供了靜態版本的FFmpeg工具,將依賴的庫生成在了最終的可執行文件中;作為工具而言此版本就可以滿足我們的需求;
  • share: 該版本的工具包括可執行文件和dll,程序運行過程必須依賴於提供的dll文件;
  • dev: 提供了庫的頭文件和dll的引導庫;

4.安裝FFmpeg

  4.1 這里下載的是static版本,將其下載解壓到E:\javaEdit\ffmpeg目錄下:

  

  4.2配置環境變量:E:\javaEdit\ffmpeg\bin;

  

  4.3 dos窗口輸入 ffmpeg -version  命令,如有信息則說明成功:

  

5.應用到j2ee項目:

  最簡單的視頻網站(JavaEE+FFmpeg)

  


 

【Linux編譯安裝ffmpeg】

安裝過程: 下載安裝源,配置,編譯,安裝,設置環境變量。

# wget http://www.ffmpeg.org/releases/ffmpeg-3.1.tar.gz
# tar -zxvf ffmpeg-3.1.tar.gz
# cd ffmpeg-3.1
# ./configure --prefix=/usr/local/ffmpeg
# make && make install
 
等待安裝完成...
 
# vi /etc/profile
在最后PATH添加環境變量:
PATH=$PATH:/usr/local/ffmpeg/bin
export PATH
保存退出
 
# source /ect/profile   設置生效
# ffmpeg -version       查看版本

 

 

注意

若安裝過程中出現以下錯誤:

yasm/nasm not found or too old. Use –disable-yasm for a crippled build.

If you think configure made a mistake, make sure you are using the latest
version from Git. If the latest version fails, report the problem to the
ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file “config.log” produced by configure as this will help
solve the problem.

 

需要安裝yasm

# wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
# tar -zxvf yasm-1.3.0.tar.gz
# cd yasm-1.3.0
# ./configure
# make && make install

結束!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM