概述
(來自百度百科)
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"。
庫的安裝
sudo apt-get install -y autoconf automake build-essential git libass-dev libfreetype6-dev libsdl2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo wget zlib1g-dev apt install libavformat-dev apt install libavcodec-dev apt install libswresample-dev apt install libswscale-dev apt install libavutil-dev apt install libsdl1.2-dev
libavformat:用於各種音視頻封裝格式的生成和解析,包括獲取解碼所需信息以生成解碼上下文結構
和讀取音視頻幀等功能;
libavcodec:用於各種類型聲音/圖像編解碼;
libavutil:包含一些公共的工具函數;
libswscale:用於視頻場景比例縮放、色彩映射轉換;
libpostproc:用於后期效果處理;
ffmpeg:該項目提供的一個工具,可用於格式轉換、解碼或電視卡即時編碼等;
ffsever:一個 HTTP 多媒體即時廣播串流服務器;
ffplay:是一個簡單的播放器,使用ffmpeg 庫解析和解碼,通過SDL顯示;
安裝
下載源碼包:
git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg
源碼編譯安裝:
./configure --enable-shared --prefix=/usr/local/ffmpeg --enable-gpl --enable-libx264 --extra-cflags=-I/usr/local/ffmpeg/include --extra-ldflags=-L/usr/local/ffmpeg/lib
make
make install
在安裝過程中出現兩個問題,解決如下:
問題1:提示yasm未安裝錯誤,處理這個問題很簡單,直接安裝yasm即可,具體方法是 在命令行終端執行sudo apt-get install yasm。
問題2:提示需要nasm,Minimum version is nasm-2.13,下載地址:https://www.nasm.us/pub/nasm/releasebuilds/2.13.03/nasm-2.13.03.tar.gz,下載后進行解壓安裝即可。
后來發現一條命令即可完成安裝 sudo apt-get install ffmpeg。
驗證一下安裝結果:
先看下版本,再操控攝像頭錄個視頻瞅瞅。
ffmpeg -version ffmpeg -f video4linux2 -s 640x480 -pixel_format yuyv422 -i /dev/video1 out.mp4 -loglevel debug