ffmpeg的ubuntu的编译过程(编译静态库和动态库)-创新互联
第一步×××
目前创新互联公司已为上1000家的企业提供了网站建设、域名、虚拟空间、成都网站托管、企业网站设计、迁西网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。通过git下载
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
或者直接下载
wget http://ffmpeg.org/releases/ffmpeg-3.3.tar.bz2
如果是下载的ffmpeg-3.3.tar.bz2 需要进行解压
tar -jxvf ffmpeg-3.3.tar.bz2
如果国外网站访问速度慢,也可以到www.ffmpeg.club 中下载,可以在windows中下载后再复制到linux中。
第二步安装编译依赖环境
sudo apt-get update
sudo apt-get -y install autoconf automake build-essential \
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 zlib1g-dev
sudo apt-get install yasm
第三步安装可选依赖库
X264安装
sudo apt-get install libx264-dev
如果选择编译要添加
--enable-gpl --enable-libx264
如果安装失败可以选择源码安装
wget http://download.videolan.org/pub/x264/snapshots/last_x264.tar.bz2tar xjvf last_x264.tar.bz2cd x264-snapshot*PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static --disable-openclPATH="$HOME/bin:$PATH" makemake install
AAC
sudo apt-get install libfdk-aac-dev
如果选择编译添加 --enable-libfdk-aac
如果加了 --enable-gpl 需要加--enable-nonfree
MP3
sudo apt-get install libmp3lame-dev
如果选择编译添加 --enable-libmp3lame
opus
sudo apt-get install libopus-dev
如果选择编译添加 --enable-libopus
VPXVP8 Video Encoding Guide
sudo apt-get install libvpx-dev
如果选择编译添加 --enable-libvpx
第四步编译为静态库
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
--prefix="$HOME/ffmpeg_build" \
--pkg-config-flags="--static" \
--extra-cflags="-I$HOME/ffmpeg_build/include" \
--extra-ldflags="-L$HOME/ffmpeg_build/lib" \
--bindir="$HOME/bin" \
--enable-gpl \
--enable-libass \
--enable-libfdk-aac \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libopus \
--enable-libtheora \
--enable-libvorbis \
--enable-libvpx \
--enable-libx264 \
--enable-nonfree
PATH="$HOME/bin:$PATH" make
make install
hash -r
编译完成就可以在ffmpeg_build中看到(生成的头文件、静态库文件)
bin include lib share
ffmpeg工具还在源码目录下面
快速编译为动态库方法
下载源码后之直接进入源码目录
./configure --enable-shared --prefix=/usr/local/ffmpeg
make
make install
其中--enable-shared表示编译为动态库,--prefix表示安装的路径
编译完成后就可以看到/usr/local/ffmpeg目录中有头文件和动态链接库文件。如果为了项目编译运行方便,可以直接把动态链接库复制到 /usr/lib目录下,这样运行就不用指定库路径了。
编译项目时候要注意,库路径要设置到/usr/lib 防止有老版本冲突,很多软件安装的时候会把ffmpeg安装进去,比如安装opencv也会把ffmpeg安装进去,有可能造成版本冲突。
更多的资料也可以关注我51CTO上的视频课程
夏老师的课堂 http://edu.51cto.com/lecturer/12016059.html
手把手教您开发视频播放器
http://edu.51cto.com/course/course_id-8059.html
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网站名称:ffmpeg的ubuntu的编译过程(编译静态库和动态库)-创新互联
URL分享:http://hbruida.cn/article/cssddi.html