centos 安装ffmpeg
CentOS下yum安装FFmpeg
Linux---centos编译安装ffmpeg
-
Ubuntu#
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
注意看pkgconfig目录下的.pc文件的prefix,这个将决定你编译的引导路径
【1】安装cmake
【2】安装x264
安装x264
$git clone git://git.videolan.org/x264.git
$cd x264
$./configure --enable-static --disable-opencl --disable-avs --disable-cli --disable-ffms --disable-gpac --disable-lavf --disable-swscale
$make
$make install
【3】安装x265_2.4
# ubuntu packages:
$ sudo apt-get install mercurial cmake cmake-curses-gui build-essential yasm
# Note: if the packaged yasm is older than 1.2, you must download yasm-1.2 and build it
$ hg clone
$ cd x265/build/linux
$ ./make-Makefiles.bash
# 这里将 LOG_CU_STATISTICS 设置为ON,然后,按下“c”,实现configure,按下“q”退出
$ make
$ make install
【4】安装ffmpeg
./configure --enable-ffmpeg --enable-ffplay --enable-gpl \
--enable-version3 --enable-nonfree --enable-postproc\
--enable-pthreads --enable-libfaac --enable-libmp3lame \
--enable-libtheora --enable-libx264 --enable-libx265 \
--enable-libxvid --enable-x11grab --enable-libvorbis
【5】检查安装
ldd `which ffmpeg`
libx265.so.116 => /usr/local/lib/libx265.so.116 (0xb7089000)
如果是not found 就执行ldconfig
错误1:
转MP3错误情况;
ffmpeg: error while loading shared libraries: libmp3lame.so.0: cannot open shared object file: No such file or directory等类似的错误
解决办法是建立软链接:
ln -s /usr/local/lib/libmp3lame.so.0.0.0 /usr/lib64/libmp3lame.so.0
或者直接修改修改/etc/ld.so.conf
vi /etc/ld.so.conf
新增一行 /usr/local/lib
或者是在 /etc/ld.so.conf.d/目录下创建一个名为local-libraries.conf的文件
新增一行/usr/local/lib
原理一样~~
再执行ldconfig -v
错误2:
libtheora-1.1 Could not run Ogg test program, checking why...
明明安装了ogg但theora却认为咱们没安装。
原因是你的PKG_CONFIG_PATH路径没有指对
export PKG_CONFIG_PATH=/lib64/pkgconfig:/home/gongjia/external/ffmpeg.src/_release/lib/pkgconfig
【6】文件转换
ffmpeg -i input.mp4 -c:v libx265 -c:a copy output.mp4
#Mac#
brew install ffmpeg --with-fdk-aac --with-ffplay --with-freetype --with-libass --with-libquvi --with-libvorbis --with-libvpx --with-opus --with-x265
如果你不清楚怎么配置和编译二进制文件,你会发现使用Homebrew相当简单。以后如果要升级FFmpeg到最新版本时,只需要输入以下命令即可:
brew update && brew upgrade ffmpeg
如果你想通过Homebrew安装FFmpeg的最新Git版本,在第一条安装命令后面添加`--HEAD`,如:
brew install ffmpeg --HEAD
---
> ffmpeg作为一个多媒体框架和平台,最大的优势就在于可以很灵活地支持多种编解码和其他特性,只要第三方外部库支撑都可以做到。本次安装下列第三包依赖包:
faac:全称是Free Advanced Audio Coder,是MPEG-4和MPEG-2 AAC的一款常用的开源编解码器;
lame:一款常见的mp3的开源编解码器;
libass:先说一下ASS/SSA,其全称是Advanced Substation Alpha/Substation Alpha,是一种功能极为强大的字幕格式,主要用在视频文件里显示字幕。而libASS是一个轻量级的对ASS/SSA格式字幕进行渲染的函数库,使用C编写,效率非常高;
libdc1394:这是面向高级语言编程接口的一个库,主要提供了对符合IEEE 1394规范的数码摄录设备的一组操作接口。符合1395规范的数码相机标准的全称是1394-based Digital Camera Specifications,简称为IIDC或DCAM。安装dc1394需要先安装raw1394;
libfreetype2:freetype是一个用C语言实现的一个字体光栅化库,它可以用来将字符栅格化并映射成位图以及提供其他字体相关业务的支持。freetype提供了一个简单、易用并统一的接口来访问字体文件的内容。freetype不仅被自由桌面系统软件所使用,同时它也是现代视频游戏广泛使用的栅格化引擎;
libvorbis:这个库主要用于处理ogg格式的音频文件,而ogg全称是ogg vorbis,一种类似mp3的音频压缩格式。不同于mp3的是ogg完全免费、开放和没有专利限制的。ogg文件格式可以不断地进行大小和音质的改良,而不影响旧有的编码器或播放器,主要由Xiph.org基金会开发;
libtheora:theora也是Xiph.org基金会开发,是一种有损的影像压缩格式;
openssl:这个就不多说了,很多安全框架的基础;
rtmpdump:一个开源的rtmp格式的流媒体库,RTMP(Real Time Messaging Protocol)是Adobe Systems公司为它自家的flash播放器和服务器之间音频、视频和数据传输开发的一种开放的传输协议;
speex:speex是一套主要针对语音的开源免费、无专利保护的音频压缩格式,致力于通过提供一个可以替代高性能语音编解码来降低语音应用输入门槛。相对于其它编解码器,speex非常适合网络应用,因为它专为2-44kpbs语音码流所设计,所以在网络应用上有着自己独特的优势;
twolame:一个开源的mp2格式的编解码库;
vo-aacenc:AAC格式的常用的音频编码器;
xvidcore:是一个开放源代码的MPEG-4视频编解码器;
x264:目前最流行,最常见的H.264视频格式的一个开源的编解码器;
Yasm: 一个跨平台、支持多种目标文件格式的汇编编译器。他重写了停滞的Nasm项目。并支持Gas(GNU assembler)语法和AMD64(EM64T)架构。源代码在三条款BSD等授权下发放。另一个免费使用的汇编编译器Fasm也支持AMD64(EM64T),但支持IA-64架构的只有Gas和Windows Server 2003 SP1 DDK中的MASM 8.0。"
网友评论