ffmpeg的ubuntu的编译过程(编译静态库和动态库)
发布时间:2020-11-18 04:31:50  所属栏目:Ubuntu  来源:互联网 
            导读:第一步源码下载 通过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 如果国外网站访问速度
                
                
                
            | 
                          
 第一步源码下载 
 
  
 通过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 
 
  
 VPX 
 VP8 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 
 
  
 其中--enable-shared表示编译为动态库,--prefix表示安装的路径 
 
  
 编译完成后就可以看到/usr/local/ffmpeg目录中有头文件和动态链接库文件。如果为了项目编译运行方便,可以直接把动态链接库复制到 /usr/lib目录下,这样运行就不用指定库路径了。 
 
  
 编译项目时候要注意,库路径要设置到/usr/lib 防止有老版本冲突,很多软件安装的时候会把ffmpeg安装进去,比如安装opencv也会把ffmpeg安装进去,有可能造成版本冲突。 
 
  
  
  更多的资料也可以关注我csdn上的视频课程 
  
  
  夏老师课程专栏http://edu.csdn.net/lecturer/961 
  
  
   手把手教您开发视频播放器 http://edu.csdn.net/course/detail/3300 (编辑:莱芜站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!  | 
                  
推荐文章
            站长推荐
            - GTX1080+Cuda8.0+Cudnnv5+caffe+faster-rcnn
 - 安装完ubuntu 16.10要做的事情
 - Linux服务器所以Frp实现内网穿透(阿里云Ubuntu)
 - Ubuntu 15.04下安装fenghuangscanner报错及解决方
 - 在Ubuntu 16.04下使用GPT分区并挂载硬盘
 - ubuntu上最使用jni最简单易懂的例子
 - [第二步]在NanoPi NEO UbuntuCore下安装homebrid
 - 当我尝试使用UBUNTU 14.04上的Android Studio中的
 - Ubuntu 决定放弃 Unity——不好的噩耗
 - 在Ubuntu 14.04 上安装 Nginx-RTMP 流媒体服务器
 
热点阅读
            