♣FFmpeg是什么?
♣FFmpeg組成
♣下載工具
♣安裝FFmpeg
♣應用到j2ee項目
前言:學習視頻編碼,一定要知道雷霄驊(leixiaohua1020)的專欄 ,偉大的程序員,26歲去世。雷霄驊---巨星隕落。此文多為摘錄自ffmpeg的文檔。
github地址:https://github.com/FFmpeg/FFmpeg
本文ffmpeg軟件包地址:http://download.csdn.net/detail/sinat_31719925/9864080
1.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項目:
【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
結束!