Giter Site home page Giter Site logo

nanyangtaiji / ffmpegplayerandroid Goto Github PK

View Code? Open in Web Editor NEW

This project forked from zhongjihao/ffmpegplayerandroid

0.0 1.0 0.0 61.29 MB

Android平台下编译Ffmpeg生成动态库并实现播放本地MP4的简单Demo

Shell 0.35% C++ 1.27% C 96.72% Java 0.60% Makefile 0.79% CMake 0.28%

ffmpegplayerandroid's Introduction

如果您觉得该项目对您有用,请扫描以下二维码打赏1元,多多支持

image

openssl-3.0.3源码 在Android平台编译
环境 Ubuntu 18.04
NDK版本 android-ndk-r14b

export ANDROID_NDK_ROOT=/opt/android/android-ndk-r14b
PATH=$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin:$PATH
./Configure android-arm shared -latomic no-ssl2 no-ssl3 no-asm no-comp no-hw no-engine -D__ANDROID_API__=23 --prefix=/home/zhongjihao/workspace/DDS/install
make -j8
sudo make install

Android平台下基于Ffmpeg播放本地MP4的简单Demo

编译Android平台各个CPU架构的Ffmpeg动态库的步骤
环境 Ubuntu 16.04
NDK版本 android-ndk-r14b

下载FFmpeg
git clone https://git.ffmpeg.org/ffmpeg.git

编译armv7-a版本动态库脚本build_android_ffmpeg_armv7a.sh内容

#!/bin/bash

NDK_PATH=/opt/android/android-ndk-r14b
SYSROOT=$NDK_PATH/platforms/android-21/arch-arm
TOOLCHAIN=$NDK_PATH/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
CPU=armeabi-v7a
mkdir -p $(pwd)/android_build_out/$CPU
PREFIX=$(pwd)/android_build_out/$CPU

function build_android {

./configure \
--prefix=$PREFIX \
--target-os=android \
--enable-shared \
--enable-cross-compile \
--enable-small \
--disable-static \
--disable-programs \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-doc \
--disable-symver \
--disable-asm \
--arch=arm \
--cpu=armv7-a \
--cc="${TOOLCHAIN}/bin/arm-linux-androideabi-gcc" \
--cross-prefix="${TOOLCHAIN}/bin/arm-linux-androideabi-" \
--sysroot="${SYSROOT}/" \
--extra-cflags="-march=armv7-a -mfloat-abi=softfp -mfpu=neon" \
--extra-ldexeflags=-pie

};

build_android

执行./build_android_ffmpeg_armv7a.sh
make -j8
make install

编译armv8-a版本动态库脚本build_android_ffmpeg_armv8a.sh内容

#!/bin/bash

NDK_PATH=/opt/android/android-ndk-r14b
SYSROOT=$NDK_PATH/platforms/android-21/arch-arm64
TOOLCHAIN=$NDK_PATH/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64
CPU=arm64-v8a
mkdir -p $(pwd)/android_build_out/$CPU
PREFIX=$(pwd)/android_build_out/$CPU

build_android(){

./configure \
--prefix=$PREFIX \
--target-os=android \
--enable-shared \
--enable-cross-compile \
--enable-small \
--disable-static \
--disable-programs \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--disable-doc \
--disable-symver \
--disable-asm \
--arch=aarch64 \
--cpu=armv8-a \
--cc="${TOOLCHAIN}/bin/aarch64-linux-android-gcc" \
--cross-prefix="${TOOLCHAIN}/bin/aarch64-linux-android-" \
--sysroot="${SYSROOT}/" \
--extra-cflags="-march=armv8-a -DANDROID -Wfatal-errors -Wno-deprecated" \
--extra-ldexeflags=-pie

}

build_android

执行./build_android_ffmpeg_armv8a.sh
make -j8
make install

将编译出来的动态库和头文件拷贝到工程FfmpegPlayerAndroid下jni下ffmpeg目录中

AS编译运行即可,运行截图如下
image

ffmpegplayerandroid's People

Contributors

zhongjihao avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.