ffmpeg-linux系统编译so库

windows10下安装双系统,这个流程百度一下一大把资料。

1.ubuntu-18.04.3-desktop-amd64.iso 驱动器

2.安装VMware Workstation Pro

3.配置linux下配置ndk环境

4.下载ffmepg

第一步

下载ubuntu-18.04.3-desktop-amd64.iso下载后打开ubuntu-18.04.3-desktop-amd64.iso

在设备和驱动器下会显示DVD驱动器。

第二部

下载VM不建议下载到系统盘

然后创建新的虚拟机

linux桌面打开terminal命令板进行ndk和ffmpeg文件的下载

使用wget 命令下在ndk:wget https://dl.google.com/android/repository/android-ndk-r15c-linux-x86_64.zip

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

在file 可以看到解压后文件夹

配置linux ndk 的环境变量 在terminal 中输入vim ~/.bashrc 进行配置

本人建议直接使用sudo gedit ~/.bashrc 命令编辑环境变量。

第二种方法 vim /etc/profile 中配置 或者使用如果有权限的话使用sudo gedit /etc/profile进行配置

直接文件末尾添加

export NDK=/home/xq/android-ndk-r15c
export PATH=$NDK:$PATH

重启测试环境命令:

echo $PATH

ndk-build -v 打印出:

GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for x86_64-pc-linux-gnu

ndk环境配置成功

下载ffmpeg命令 我这边目前用的都是最高版本 wget http://ffmpeg.org/releases/ffmpeg-4.2.tar.gz

如果想要查看ffmpeg的版本http://ffmpeg.org/releases这个网址

解压tar 命令:tar -xzf ffmpeg-4.2.tar.gz 解压前先看下文件路径是否在当前的路径下 输入 dir查看当前路径下文件。

解压后赋予权限/赋予权限的指令 chmod 777 ffmpeg-4.2 

接下来修改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)'
然后创建编辑touch build.sh sh脚本内容:

#!/bin/bash
make clean
export NDK=/home/xq/android-ndk-r15c
export SYSROOT=$NDK/platforms/android-9/arch-arm/
export TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
export CPU=arm
export PREFIX=$(pwd)/android/$CPU
export ADDI_CFLAGS="-marm"
./configure \
--target-os=linux \
--prefix=$PREFIX \

--arch=arm \
--disable-doc \
--enable-shared \
--disable-static \
--disable-yasm \
--disable-symver \
--enable-gpl \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-ffserver \
--disable-doc \
--disable-symver \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--enable-cross-compile \
--sysroot=$SYSROOT \
--extra-cflags="-Os -fpic $ADDI_CFLAGS" \
--extra-ldflags="$ADDI_LDFLAGS" \
$ADDITIONAL_CONFIGURE_FLAG
make clean
make
make install

然后在ffmpeg路径下执行脚本,然后就出现了一系列的文件找不到问题。总之一系列坑

解决Makefile:2: ffbuild/config.mak: No such file or directory找不到的问题,在执行sh脚本前先执行./configure 

这块也有坑,可所谓一步一坑啊!找不到yasm 直接装一个sudo apt-get install yasm 然后在执行sh脚本。这时发现编译的文件找不到了明明配置好prefix为啥没有,头疼然后就百度不过还时找到的

系统默认给编译到了/usr/local路径下的includ和lib文件夹里了。整的时一头雾水。

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值