Centos7编译安装ffmpeg

1、准备工作,安装必要的环境

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

2、创建目录

        ffmpeg_sources 目录是下载软件包的目录

        ffmpeg 目录是安装目录

mkdir /usr/local/ffmpeg_sources mkdir /usr/local/ffmpeg 

3、安装ffmpeg

3.1、安装 nasm

cd  /usr/local/ffmpeg_sources
curl -O -L http://www.nasm.us/pub/nasm/releasebuilds/2.13.02/nasm-2.13.02.tar.bz2
tar xjvf nasm-2.13.02.tar.bz2
cd nasm-2.13.02
./autogen.sh
./configure --prefix="/usr/local/ffmpeg" --bindir="/usr/local/bin"
make && make install

3.2 安装 yasm

cd  /usr/local/ffmpeg_sources
curl -O -L http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar xzvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure --prefix="/usr/local/ffmpeg" --bindir="/usr/local/bin"
make && make install

3.3、安装 libx264

cd /usr/local/ffmpeg_sources
git clone https://code.videolan.org/videolan/x264.git
cd x264
PKG_CONFIG_PATH="/usr/local/ffmpeg/lib/pkgconfig" ./configure --prefix="/usr/local/ffmpeg" --bindir="/usr/local/bin" --enable-staticmake && make install

3.4、安装 libx265

cd  /usr/local/ffmpeg_sources
git clone https://github.com/videolan/x265.git
cd /usr/local/ffmpeg_sources/x265/build/linux
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="/usr/local/ffmpeg" -DENABLE_SHARED:bool=off ../../sourcemake && make install

3.5、安装 fdk-aac

cd   /usr/local/ffmpeg_sources这个是fdk-aac官方地址
https://sourceforge.net/projects/opencore-amr/files/fdk-aac下载 
wget https://jaist.dl.sourceforge.net/project/opencore-amr/fdk-aac/fdk-aac-2.0.2.tar.gztar -zxvf fdk-aac-2.0.2.tar.gz
mv fdk-aac-2.0.2 fdk-aac
cd fdk-aac
autoreconf -fiv
./configure --prefix="/usr/local/ffmpeg" --disable-sharedmake && make install

3.6、安装 libmp3lame

cd  /usr/local/ffmpeg_sources
curl -O -L http://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz
tar xzvf lame-3.100.tar.gz
cd lame-3.100
./configure --prefix="/usr/local/ffmpeg" --bindir="/usr/local/bin" --disable-shared --enable-nasmmake && make install

3.7 安装 libopus

curl -O -L https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
tar xzvf opus-1.3.1.tar.gz
cd opus-1.3.1
./configure --prefix="/usr/local/ffmpeg" --disable-sharedmake && make install

3.8 安装 libogg

cd /usr/local/ffmpeg_sources
curl -O -L http://downloads.xiph.org/releases/ogg/libogg-1.3.3.tar.gz
tar xzvf libogg-1.3.3.tar.gz
cd libogg-1.3.3
./configure --prefix="/usr/local/ffmpeg" --disable-sharedmake && make install

3.9 安装 libvorbis

cd   /usr/local/ffmpeg_sources
curl -O -L http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.5.tar.gz
tar xzvf libvorbis-1.3.5.tar.gz
cd libvorbis-1.3.5
./configure --prefix="/usr/local/ffmpeg" --with-ogg="/usr/local/ffmpeg" --disable-sharedmake && make install

3.10、安装 libvpx

在阿里云镜像网站下载 
https://mirrors.aliyun.com/blfs/conglomeration/libvpx/

 

cd  /usr/local/ffmpeg_sourcestar -zxvf libvpx-1.13.0.tar.gz
mv libvpx-1.13.0 libvpx
cd libvpx
./configure --prefix="/usr/local/ffmpeg" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasmmake && make install

3.11、安装 FFmpeg

ffmpeg 下载地址:Index of /releases

cd   /usr/local/ffmpeg_sourcescurl -O -L https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
tar xjvf ffmpeg-snapshot.tar.bz2
cd ffmpeg重点:
export PKG_CONFIG_PATH="/usr/local/ffmpeg/lib/pkgconfig"./configure \--prefix="/usr/local/ffmpeg" \--pkg-config-flags="--static" \--extra-cflags="-I/usr/local/ffmpeg/include" \--extra-ldflags="-L/usr/local/ffmpeg/lib" \--extra-libs=-lpthread \--extra-libs=-lm \--bindir="/usr/local/bin" \--enable-gpl \--enable-libfdk_aac \--enable-libmp3lame \--enable-libopus \--enable-libvorbis \--enable-libvpx \--enable-libx264 \--enable-libx265 \--enable-nonfreemake
make install

4、检查是否安装成功

4.1 查看 ffmpeg 的版本号信息

ffmpeg -version

 

4.2、查看是否支持 libx264 信息

ffmpeg -h encoder=libx264

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/18005.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Git 上传Github 超时问题

提交代码到GitHub总是超时,偶尔会直接上传成功。 提供一下解决方案 1.首先找到网络 2. 找到代理 3. 把自动检查设置全部关闭,然后打开手动设置代理,然后输入ip地址和你代理的端口号,保存即可。 4. 最后使用git push origin mast…

2023-07-10:Kafka如何做到消息不丢失?

2023-07-10:Kafka如何做到消息不丢失? 答案2023-07-10: Kafka采用多种机制来确保消息的不丢失,其中包括副本机制、ISR(In-Sync Replicas)机制以及ACK机制等。 1.副本机制 Kafka通过副本机制来确保消息不…

Jtti:linux如何查看磁盘驱动器列表?

在Linux系统中,你可以使用以下命令之一来查看磁盘驱动器列表: 1.使用 fdisk 命令:运行以下命令来查看磁盘驱动器列表: 这会列出系统中所有的磁盘驱动器及其分区。 2.使用 lsblk 命令:运行以下命令来查看磁盘驱动器列表…

【WebSocket】SpringBoot整合WebSocket实现聊天室(一)

目录 一、准备 1、引入依赖 2、创建配置类 二、相关注解 一、准备 1、引入依赖 首先我们需要在项目中引入依赖&#xff0c;有两种方式。第一种我们可以在创建Spring Boot项目时搜索WebSocket然后勾选依赖 第二种是我们可以直接在项目的pom.xml文件中插入以下依赖 <dep…

springboot整合websocket遇到的小问题

今天尝试了通过springboot整合websocket来初步学习使用websocket&#xff0c;然后发现启动的时候报错了&#xff0c;发这篇文章分享一下。 springboot整合websocket的步骤很简单&#xff1a; 第一步&#xff1a;创建一个springboot项目&#xff0c;在这里命名为websocket 在I…

div绑定键盘点击事件

为箭头绑定绑定键盘方向键 <div class"toggle-nav"><spanv-if"leftToggleSt"click"toggleGoods(1)"keyup.left"toggleGoods(1)"class"toggle-left"><a-icon type"left" class"icon" /&…

CHI read trans flow

Read transactions with DMT and without snoops 对于不产生snoop的read trans&#xff0c;建议使用DMT功能&#xff0c;如下图所示&#xff1a; 注意点&#xff1a; a. SNF并不需要给HNF回响应&#xff0c;因为RN发送的compack可以释放HNF处记录的请求; Read transaction wi…

MATLAB|考虑自动重合闸与分布式能源的配电网可靠性评估研究

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

【Leetcode】36. 有效的数独

一、题目 1、题目描述 请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图) 注意:…

Element-UI 在表单通过按钮动态增加Tree树形控件

文章目录 问题背景动态增加的Tree控件创建el-tree控件数据动态增加的el-tree控件编辑数据前需进行设置勾选状态新增/编辑请求前需转换格式 问题背景 在表单中动态增加的Tree控件中&#xff0c;注册一个 ref 引用&#xff0c;报错如下&#xff1a; this.$refs[‘showRegionsTre…

spring AOP中pointcut表达式详解

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是「奇点」&#xff0c;江湖人称 singularity。刚工作几年&#xff0c;想和大家一同进步&#x1f91d;&#x1f91d; 一位上进心十足的【Java ToB端大厂…

Qt中的信号与槽(Signals and Slots)

Qt中的信号与槽&#xff08;Signals and Slots&#xff09;是一种用于对象间通信的机制&#xff0c;常用于处理用户界面事件和数据更新等情况。通过信号与槽&#xff0c;可以实现对象之间的解耦和灵活的交互。 信号&#xff08;Signal&#xff09;是对象发出的事件或通知&…