FFmpeg是一個領先的多媒體框架工具集,幾乎可以對任何格式的音視頻文件進行解碼,編碼,轉碼,複用,解複用,流式傳輸,過濾和播放. 無論這些音視頻文件所採用的格式是由某些標準委員會,社區仍是公司設計的, FFmpeg都能識別. 它還具備高度可移植性:FFmpeg在各類構建環境、系統架構、配置下,如: Linux,Mac OS X,Microsoft Windows,BSD,Solaris等, 都能穩定工做。架構
下面介紹 FFmpeg 在centOS7下的安裝部署過程:框架
1. 安裝EPEL Release ,EPEL支持使用其它的repo源安裝.ide
sudo yum -y install epel-release rpm /*安裝EPEL-Release
sudo rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 /*導入Code
yum repolist /*查看EPEL源
2. 安裝nux-dextop源工具
sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro /*導入Code sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm /*安裝nux-dextop 源 sudo yum repolist /*查看repo源是否安裝成功
3. 安裝ffmpeg編碼
sudo yum install -y ffmpeg
ffmpeg -version
1.分離視頻音頻流spa
ffmpeg -i input.file -vcodec copy -an output.file_video //分離視頻流設計
ffmpeg -i input.file -acodec copy -vn output.file_audio //分離音頻流3d
2.視頻解複用code
ffmpeg –i input.mp4 –vcodec copy –an –f m4v output.264視頻
ffmpeg –i input.avi –vcodec copy –an –f m4v output.264
3.視頻轉碼
ffmpeg –i input.mp4 –vcodec h264 –s 352*278 –an –f m4v output.264 //轉碼爲碼流原始文件
ffmpeg –i input.mp4 –vcodec h264 –bf 0 –g 25 –s 352*278 –an –f m4v output.264 //轉碼爲碼流原始文件
ffmpeg –i input.avi -vcodec mpeg4 –vtag xvid –qsame output_xvid.avi //轉碼爲封裝文件
//-bf B幀數目控制,-g 關鍵幀間隔控制,-s 分辨率控制
4.視頻封裝
ffmpeg –i video_file –i audio_file –vcodec copy –acodec copy video.file
5.視頻剪切
ffmpeg –i input.avi –r 1 –f image2 image-%3d.jpeg //提取圖片
ffmpeg -ss 0:1:30 -t 0:0:20 -i input.avi -vcodec copy -acodec copy cut.avi //剪切視頻//-r 提取圖像的頻率,-ss 開始時間,-t 持續時間
6.視頻錄製
ffmpeg –i rtsp://192.168.3.205:5555/input –vcodec copy input.avi
7.YUV序列播放
ffplay -f rawvideo -video_size 1920x1080 video.yuv
8.YUV序列轉AVI
ffmpeg –s w*h –pix_fmt yuv420p –i video.yuv –vcodec mpeg4 video.avi