ffmpeg自动手动编译安装

devtools/2024/11/19 9:46:15/

1.下载linux ndk并配置profile文件

本例以android-ndk-r10e为例
vi /etc/profile

export NDK_HOME=/root/ffmpeg/android-ndk-r10e
export PATH= P A T H : PATH: PATH:NDK_HOME

source /etc/profile

2.下载x264并生成

git clone https://code.videolan.org/videolan/x264.git
cd x264/
./configure --prefix=/root/ffmpeg/outputx264 --enable-shared --enable-static --disable-asm
make
make install

3.下载fdk-aac并生成

git clone --depth 1 https://gitee.com/mirrors/fdk-aac.git
cd fdk-aac/
./autogen.sh
sudo apt-get install autoconf
sudo apt-get install automake
sudo apt-get install libtool
./autogen.sh
./configure --enable-shared --prefix=/root/ffmpeg/outputfdk
make
make install

4.下载lame并生成

wget http://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz
tar zxvf lame-3.100.tar.gz
cd lame-3.100/
./configure --enable-shared --enable-static --prefix=/root/ffmpeg/outputlame
make
make install

5.最后编译ffmpg

root@ubuntu2004:~/ffmpeg/FFmpeg-release-2.7# cat build_ffmpeg.sh
#!/bin/bash

NDK=/root/ffmpeg/android-ndk-r10e

PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt

PLATFORM=$NDK/platforms/android-15/arch-arm

PREFIX=/root/ffmpeg/outputffmpeg

./configure --prefix= P R E F I X − − s y s r o o t = PREFIX \ --sysroot= PREFIX sysroot=PLATFORM
–cross-prefix=$PREBUILT/linux-x86_64/bin/arm-linux-androideabi-
–target-os=android --arch=arm
–extra-cflags=“-I/root/ffmpeg/outputx264/include -I/root/ffmpeg/outputlame/include -I/root/ffmpeg/outputfdk/include -fPIC "
–extra-ldflags=”-L/root/ffmpeg/outputx264/lib -L/root/ffmpeg/outputlame/lib -L/root/ffmpeg/outputfdk/lib"
–disable-programs
–disable-doc
–enable-shared
–enable-cross-compile
–enable-gpl
–enable-avresample
–enable-nonfree

6. 目录结构图

在这里插入图片描述


http://www.ppmy.cn/devtools/135178.html

相关文章

聊一聊Elasticsearch的索引分片的恢复机制

1、什么是索引分片的恢复? 所谓索引分片的恢复指的是在某些条件下,索引分片丢失,ES会把某索引的分片复制一份来得到该分片副本的过程。 2、触发分片恢复的场景有哪些? 分片的分配 当集群中节点的数量发生变化,或者配…

整理iPhone空间:iphone怎么删除相簿

随着时间的积累,我们的iPhone中不仅会堆积大量照片,还可能会有多个不再需要的相簿。这些相簿不仅占用存储空间,还可能使相册应用变得杂乱无章。本文将探讨iphone怎么删除相簿,并介绍精简iPhone相册的技巧,使你的相册管…

MySQL慢日志

慢查询日志顾名思义就是查询慢的sql语句可以记录到一个日志文件里,至于有多慢才会被记录,默认是10秒,但也可以通过系统配置来更改,慢日志在做系统优化时是一个非常好用的工具 #是否开启慢日志 show variables like slow_query_log…

对PolyMarket的突袭

一天清晨六点,美国联邦调查局的探员冲进了纽约市的一间公寓。这间公寓的主人是26岁的Shane Copeland,一个有着凌乱头发的年轻人,也是一个加密货币狂热者。他运营着一个名为PolyMarket的网站——一个允许用户YZ全球事件结果的平台,…

Spring5

Spring 以下内容仅为了方便复制 IOC作用工作原理 1. 类注解ComponentComponent设置实例名 2. 成员注解:注入基本数据类型与引用类型1. Value:注入基本数据类型2. Autowired:引用类型注入3. 注解Qualifier("对象名")通过对象名注入4…

6.C操作符详解,深入探索操作符与字符串处理

C操作符详解,深入探索操作符与字符串处理 C语言往期系列文章目录 往期回顾: C语言是什么?编程界的‘常青树’,它的辉煌你不可不知VS 2022 社区版C语言的安装教程,不要再卡在下载0B/s啦C语言入门:解锁基础…

Java LinkedList 详解

LinkedList 是 Java 集合框架中常用的数据结构之一,位于 java.util 包中。它实现了 List、Deque 和 Queue 接口,是一个双向链表结构,适合频繁的插入和删除操作。 1. LinkedList 的特点 数据结构:基于双向链表实现,每个…

QT中使用图表之QChart绘制柱状图

绘制条形(柱状)图,系列选择条形系列QBarSeries x轴选择条形图的种类轴QBarCategoryAxis 1、创建图表视图 //1、创建图表视图 QChartView * view new QChartView(this); //开启抗锯齿 view -> setRenderHint(QPainter::Antialiasing); …