FFmpeg是一个领先的多媒体框架工具集,几乎能够对任何格式的音视频文件进行解码,编码,转码,复用,解复用,流式传输,过滤和播放. 不管这些音视频文件所采用的格式是由某些标准委员会,社区还是公司设计的, FFmpeg都能识别. 它还具有高度可移植性:FFmpeg在各种构建环境、系统架构、配置下,如: Linux,Mac OS X,Microsoft Windows,BSD,Solaris等, 都能稳定工作。

  下面介绍 FFmpeg 在centOS7下的安装部署过程:

  1. 安装EPEL Release ,EPEL支持使用其它的repo源安装.

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源

cent7安装ffmpeg-LMLPHP

cent7安装ffmpeg-LMLPHP

  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源是否安装成功

cent7安装ffmpeg-LMLPHP

  3. 安装ffmpeg

sudo yum install -y ffmpeg
ffmpeg -version

cent7安装ffmpeg-LMLPHP

cent7安装ffmpeg-LMLPHP

FFmpeg常用基本命令

1.分离视频音频流

ffmpeg -i input.file -vcodec copy -an output.file_video  //分离视频流

ffmpeg -i input.file -acodec copy -vn output.file_audio  //分离音频流

2.视频解复用

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

05-11 15:54