CentOS上编译FFmpeg

一、在CentOS上编译FFmpeg

  • ffmpeg_sources –将源文件下载到的位置。完成本指南后,可以根据需要将其删除。
  • ffmpeg_build –将在其中构建文件和安装库的位置。完成本指南后,可以根据需要将其删除。
  • bin – 将安装生成的二进制文件(ffmpegffprobex264x265)。

(一)获取依赖关系

注意:表明该命令应超级用户或根被执行,并且仅此指南中所需的命令。

获取依赖项。这些是编译所必需的,但是如果愿意,可以在完成后将其删除(make除外;默认情况下应安装它,并且很多东西都取决于它)。

#yum install autoconf automake bzip2 bzip2-devel cmake freetype-devel gcc gcc-c ++ git libtool make mercurial pkgconfig zlib-devel

在主目录中,新建一个目录,以将所有源代码放入:

mkdir ~/ffmpeg_sources

(二)编译与安装

提示:如果不需要某些编码器,则可以跳过相关部分,然后在FFmpeg中删除相应的./configure选项。例如,如果不需要libvpx,则跳过该部分,然后从“ 安装FFmpeg”部分中删除--enable-libvpx

(如果已下载安装包,直接进行解压编译,跳过远程下载)

1.      NASM

一些库使用的汇编程序。强烈建议您使用,否则生成的结果可能会很慢。

cd ~/ffmpeg_sources --如果已下载安装包,直接进行解压编译操作,跳过远程下载 tar xjvf nasm-2.14.02.tar.bz2 cd nasm-2.14.02 ./autogen.sh ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" make make install

2.      Yasm

cd ~/ffmpeg_sources --如果已下载安装包,直接进行解压编译操作,跳过远程下载 tar xzvf yasm-1.3.0.tar.gz cd yasm-1.3.0 ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" make make install

3.      libx264

H.264视频编码器。有关更多信息和用法示例,请参阅《H.264编码指南》

要求ffmpeg使用--enable-gpl --enable-libx264配置。

cd ~/ffmpeg_sources --如果已下载安装包,直接进行解压编译操作,跳过远程下载 tar xzvf x264.tar.gz cd x264 PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static make make install

4.      libx265

H.265 / HEVC视频编码器。有关更多信息和用法示例,请参阅《H.265编码指南》

要求ffmpeg用--enable-gpl --enable-libx265配置。

cd ~/ffmpeg_sources --如果已下载安装包,直接进行解压编译操作,跳过远程下载() tar xzvf x265.tar.gz cd ~/ffmpeg_sources/x265/build/linux cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED:bool=off ../../source make make install

5.      libvpx

VP8 / VP9视频编码器和解码器。有关更多信息和用法示例,请参阅《VP9视频编码指南》

需要使用--enable-libvpx配置ffmpeg。

cd ~/ffmpeg_sources --如果已下载安装包,直接进行解压编译操作,跳过远程下载() tar xf libvpx-1.8.2.tar.gz cd libvpx-1.8.2 ./configure --prefix="$HOME/ffmpeg_build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm make make install

6.      FFmpeg

cd ~/ffmpeg_sources --如果已下载安装包,直接进行解压编译操作,跳过远程下载() tar xjvf ffmpeg-snapshot.tar.bz2 cd ffmpeg 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" \ --extra-libs=-lpthread \ --extra-libs=-lm \ --bindir="$HOME/bin" \ --enable-gpl \ --enable-libfreetype \ --enable-libvpx \ --enable-libx264 \ --enable-nonfree make make install hash -d ffmpeg

(三)FFmpeg 完毕:

安装成功后:输入ffmpeg -version;显示如下图,则安装成功

 

 

参考文档:http://trac.ffmpeg.org/wiki/CompilationGuide/Centos

 


__EOF__

本文作者Ray
本文链接https://www.cnblogs.com/Rui6/p/14738072.html
关于博主:分享、记录日常遇到的问题合集!
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   大白菜!  阅读(615)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示