ffmpeg arm linux编译,Linux下编译ffmpeg-4.1,arm32, arm64, x86

本文档详细介绍了如何在Linux系统下编译ffmpeg-4.1的arm32, arm64和x86动态库。首先,下载ffmpeg源码和Android NDK,接着修改configure文件,创建并运行run.sh(arm32)和run64.sh(arm64)脚本进行编译。过程中遇到了编译错误,如成员访问错误、标识符未声明等,通过修改源代码解决了问题。最终成功编译出arm32和arm64版本,而x86版本需要一份干净的源码重新编译。" 113631358,10547628,MySQL生产环境脚本回退策略与实战,"['数据库管理', 'MySQL', '脚本部署', '事务控制']
摘要由CSDN通过智能技术生成

目录

目标

准备工作

编译arm版本

遇到的问题及解决方案

arm32, arm64, 成功

编译x86

目标

编译ffmpeg-4.1版本的 arm32, arm64, x86的动态库。

准备工作

新建目录,mkdir ffmpeg, cd ffmpeg, 下载ffmpeg4.1的源码,并解压。http://ffmpeg.org/releases/

# 下载

wget http://ffmpeg.org/releases/ffmpeg-4.2.3.tar.bz2

# 解压

tar xvf ffmpeg-4.2.3.tar.bz2

在同一个目录ffmpeg下,下载编译器:版本选择的是14b。https://developer.android.google.cn/ndk/downloads/older_releases

# 下载

wget https://dl.google.com/android/repository/android-ndk-r14b-linux-x86_64.zip

# 解压

unzip android-ndk-r21b-linux-x86_64.zip

修改ffmpeg4.1的 configure 文件:

# 将上面的四行注释掉

#SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'

#LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'

#SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)'

#SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR) $(SLIBNAME)'

# 添加下面的四行

SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'

LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'

SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'

SLIB_INSTALL_LINKS='$(SLIBNAME)'

在ffmpeg4.1的根目录下,编写run.sh文件, run64.sh文件。

#run.sh, arm 32

#!/bin/bash

#modify those veriable based on your env

#===========================

NDK=/home/ht-dong/ffmpeg/android-ndk-r14b

#32 or 64

archbit=32

#===========================

echo "build for 32bit"

#32bit

abi='armeabi'

cpu='arm'

arch='arm'

android='androideabi'

SYSROOT=$NDK

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值