2020年8月

[FFMPEG-Android利用ndk(r21)编译最新版本ffmpeg4.3.1]()

前言

​ 需要用手机播放rtsp流媒体的直播源,俗话说的好,只要是音视频相关的,都离不开FFmpeg,但是FFmpeg是由C/C++编写的,Android的语言是Java,所以需要Java调动C++,而且打包成apk需要.so的文件,所以需要先将FFmpeg源码编译Java可以识别的.so。

配置环境

​ 系统:win10

​ 软件:VMware

​ 环境:ubuntu-18.04.4

1.准备工作

1.1创建新文件ijk

cd /usr
sudo mkdir ijk

1.2下载FFmpeg源码

cd ijk
sudo wget https://ffmpeg.org/releases/ffmpeg-4.3.1.tar.xz

1.3下载最新ndk

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

1.4解压安装包

sudo tar -xvf ffmpeg-4.3.1.tar.xz
sudo unzip android-ndk-r21b-linux-x86_64.zip

2.开始编译

2.1 下载vim (如果有可以忽略)

sudo apt install vim

2.2编写脚本b.sh

cd ffmpeg-4.3.1
vim b.sh
#b.sh脚本内容
#!/bin/bash
#改为自己的NDK路径
NDK=/usr/ijk/android-ndk-r21b
TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/linux-x86_64
#尽量不要太高
API=23

function build_android
{
echo "Compiling FFmpeg for $CPU"
./configure \
    --prefix=$PREFIX \
    --disable-neon \
    --disable-hwaccels \
    --disable-gpl \
    --disable-postproc \
    --enable-shared \
    --enable-jni \
    --disable-mediacodec \
    --disable-decoder=h264_mediacodec \
    --disable-static \
    --disable-doc \
    --disable-ffmpeg \
    --disable-ffplay \
    --disable-ffprobe \
    --disable-avdevice \
    --disable-doc \
    --disable-symver \
    --cross-prefix=$CROSS_PREFIX \
    --target-os=android \
    --arch=$ARCH \
    --cpu=$CPU \
    --cc=$CC
    --cxx=$CXX
    --enable-cross-compile \
    --sysroot=$SYSROOT \
    --extra-cflags="-Os -fpic $OPTIMIZE_CFLAGS" \
    --extra-ldflags="$ADDI_LDFLAGS" \
    $ADDITIONAL_CONFIGURE_FLAG
make clean
make
make install
echo "The Compilation of FFmpeg for $CPU is completed"
}

#armv8-a
ARCH=arm64
CPU=armv8-a
CC=$TOOLCHAIN/bin/aarch64-linux-android$API-clang
CXX=$TOOLCHAIN/bin/aarch64-linux-android$API-clang++
SYSROOT=$NDK/toolchains/llvm/prebuilt/linux-x86_64/sysroot
CROSS_PREFIX=$TOOLCHAIN/bin/aarch64-linux-android-
PREFIX=$(pwd)/android/$CPU
OPTIMIZE_CFLAGS="-march=$CPU"
build_android

2.3执行脚本

./b.sh

2.4成功

image-20200827140556187

3.报错解决。

3.1make: command not found

​ 解析:系统没有安装make。

​ 解决办法:下载make。

sudo apt-get update

LNMP安装typecho

1.环境:LNMP一键安装

2.修改数据密码

2.1进入tool目录

cd lnmp1.7/toos

2.2执行更改数据库密码脚本

sh reset_mysql_root_password.sh

2.3修改密码

  • 用户名:root密码:
  • 进入数据库,创建新的数据库:typecho

3.下载typecho,安装

3.1下载最新稳定板

wget http://typecho.org/downloads/1.1-17.10.30-release.tar.gz

3.2解压并移到根目录里新建的typecho里

tar -zxvf 1.0.14.10.10.-release.tar.gz

mv build /home/wwwroot/default/typecho

ps:默认网站目录: /home/wwwroot/default/

3.3安装

  • 浏览器输入{域名}{ip}/typecho/build/install.php
  • 复制配置文件config.inc.conf到 /home/wwwroot/default//typecho/build/下
  • 完成安装

4.配置nginx使之支持pathinfo

nginx目录:/usr/local/nginx/conf

vim /usr/local/nginx/conf/nginx.conf

参考:https://blog.csdn.net/pcdiyer/article/details/99294581