简介:ffmpeg是一个开源的处理视频、音频标准华模块
一、安装:
方式1(ppa安装:不推荐):
1.添加PPA源:
sudo add-apt-repository ppa:mc3man/trusty-media
sudo apt-get update 更新源
安装:
sudo apt-get install ffmpeg
方式2:源码编译安装(如果你需要比较齐全的功能,推荐使用源码编译安装)
<1>.进入ffmpeg官网下载源码包,链接如下:
点击打开链接https://ffmpeg.org/download.html
<2>安装步骤如下:
(1)首先安装依赖包(根据个人系统使用命令安装,以下以Ubuntu为例 , centos可以使用yum命令安装):
ubuntu系统推荐使用:
sudo aptitude install 进行安装
yasm (首先安装)
libx264(libx264-dev)、 libfaac(libfaac-dev)、 libmp3lame(libmp3lame-dev)、 libtheora (libtheora-dev)
libvorbis(libvorbis-dev)、 libxvid(libxvidcore-dev)、 libxext(libxext-dev)、 libxfixes(libxfixes-dev)
上面模块一个一个依次安装:括号外模块安装提示:unable to find ×××,更换括号内模块安装即可
字幕压缩模块(如需要压缩字幕,必装)
libass(libass-dev)
如果需要:fflpay 工具进行测试视频文件正确性:还需要安装SDL依赖(开发环境推荐安装,生产环境个人觉得不必要):
sudo apt-get install libsdl1.2-dev
sudo apt-get install libsdl-image1.2-dev
sudo apt-get install libsdl-mixer1.2-dev
sudo apt-get install libsdl-ttf2.0-dev
sudo apt-get install libsdl-gfx1.2-dev
(2)安装ffmpeg
tar -xjvf ffmpeg-2.8.1.tar.bz2
cd ffmpeg-2.8.1
./configure --prefix=/usr/local/ffmpeg --enable-gpl --enable-version3 --enable-nonfree --enable-postproc
--enable-pthreads --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libx264
--enable-libxvid --enable-x11grab --enable-libvorbis --enable-libass
make
make install
(3)安装完成后,/usr/local/ffmpeg/bin 先会出现3个文件,如下:
ffmpeg ffprobe ffserver fflpay(该文件为安装SDL依赖才会生成)
依次,拷贝到/usr/bin 目录下即可:
sudo cp /usr/local/ffmpeg/bin/ffmpeg /usr/bin
sudo cp /usr/local/ffmpeg/bin/ffprobe /usr/bin
sudo cp /usr/local/ffmpeg/bin/ffserver /usr/bin
(4)测试:
ffmpeg -version
完成后系统内生成3个命令:
ffmpeg :转码程序
ffprobe :解析多媒体文件或流信息
ffserver :服务器程序
以下附带几个用例:
1.提取视频文件缩缩略图(提取视频文件某一祯图片)
ffmpeg -y -i test.mp4 -ss 00:03:22.000 -vframes 1 -an test.jpg 2.以时间间隔提取缩略图: ffmpeg -i test.mp4 -r 1/300 -vf "select='eq(pict_type,PICT_TYPE_I)'" %d.jpg 以上命令为,每间隔300秒提取一次I帧缩略图3.提取视频详细信息(视频流信息与音频流信息等,返回json格式数据)
ffprobe -v quiet -print_format json -show_format -show_streams -i test.mp44.视频转码(推荐使用):
ffmpeg -i inputfile.mov -s WXH -vcodec libx264 -profile:v main -preset slow
-vf subtitles="/mnt/SNIM000108232TRD.srt" -pix_fmt yuv420p -acodec libfaac -b:a 64k -r 25 outputfile.mp4 s 宽高信息,中间是X -profile:v baseline -level 3.0 -profile:v baseline -level 3.1 -profile:v main -level 3.1 -profile:v main -level 4.0 -profile:v high -level 4.0 -profile:v high -level 4.1 -profile:v high -level 4.2 -profile:v 视频profile (baseline, main, high)
-subtitles:字幕文件(硬烧类型,字幕文件不支持http协议,只能本地访问),如:-vf subtitles="/mnt/SNIM000108232TRD.srt"
-r 帧率
-pix_fmt:文件兼容性,固定值,无需更改(不加该属性某些平台无法播放该转码文件,如:mac:Safari浏览器,Firfox)
-preset medium/slow (上面四个参数均根据转码模板进行设置) -b:a 64k 固定为64k,无需更改 -vcodec and -acodec 是固定的,无需更改
以上参数,请根据需求增加或者减少