音视频流媒体之 IJKPlayer FFmpeg Android 编译

news/2024/7/10 21:05:42 标签: 音视频, ffmpeg, android

FIJK dockerfile 编译环境

FROM --platform=linux/amd64 ubuntu:18.04

RUN apt-get update && apt-get install -y \
    wget \
    unzip \
    git \
    gcc \
    g++ \
    make \
    python  \
    yasm    \
    pkg-config     \
    protobuf-compiler \
    sudo

RUN apt-get install -y openjdk-8-jdk

ENV ANDROID_HOME=/opt/android-sdk-linux
ENV PATH=$PATH:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools

RUN wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip \
    && unzip -d $ANDROID_HOME android-sdk.zip \
    && rm android-sdk.zip

RUN wget --quiet --output-document=command-line.zip https://dl.google.com/android/repository/commandlinetools-linux-10406996_latest.zip \
    && unzip -d $ANDROID_HOME command-line.zip \
    && rm command-line.zip

ENV PATH=$PATH:$ANDROID_HOME/cmdline-tools/bin

RUN echo 'y' | sudo $ANDROID_HOME/tools/bin/sdkmanager "platform-tools" "platforms;android-26" "tools"

RUN echo "no" | sudo dpkg-reconfigure dash

RUN mkdir -p $ANDROID_HOME/ndk
RUN wget --quiet --output-document=ndk-r16b-linux-x86_6.zip https://dl.google.com/android/repository/android-ndk-r10e-linux-x86_64.zip \
    && unzip -d $ANDROID_HOME/ndk ndk-r10e-linux-x86_6.zip \
    && rm ndk-r10e-linux-x86_6.zip

# RUN mkdir -p $ANDROID_HOME/cmake
# RUN wget --quiet --output-document=cmake3102.tar https://cmake.org/files/v3.10/cmake-3.10.2.tar.gz \
#     && tar -xvf cmake3102.tar \
#     && mv  cmake-3.10.2 3.10.2.4988404 \
#     && cd 3.10.2.4988404 && ./configure && sudo make \
#     && sudo make install \
#     && cd .. \
#     && mv  3.10.2.4988404 $ANDROID_HOME/cmake/ \
#     && rm cmake3102.tar 

RUN echo 'y' | sudo $ANDROID_HOME/tools/bin/sdkmanager "ndk;16.1.4479499" "cmake;3.10.2.4988404"

ENV PATH=$PATH:$ANDROID_HOME/cmake/3.10.2.4988404/bin/ 
# recommend use ndk 10
ENV ANDROID_NDK=$ANDROID_HOME/ndk/android-ndk-r10e/
# ENV ANDROID_NDK=$ANDROID_HOME/ndk/16.1.4479499/


# RUN comman shell
# docker build -f Dockerfile -t fijkplayer:android_ok  .
# docker run --platform linux/amd64  -v /Users/blake/work/Kami/kcode/zkcam/ijkplayer-android:/ijkplayer -it fijkplayer:android_ok  /bin/bash

build shell

#! /usr/bin/env bash
cd ./contrib
./compile-x264.sh all 
./compile-openssl.sh all
./compile-ffmpeg.sh clean && ./compile-ffmpeg.sh all 
cd ..
./compile-ijk.sh clean &&  ./compile-ijk.sh all 
cd  ./ijkplayer
./gradlew :fijkplayer-full:clean && ./gradlew :fijkplayer-full:assembleRelease

ffmpeg_for_multiarch_shell_79">update ffmpeg for multi-arch shell

#! /usr/bin/env bash
cd ./ffmpeg-armv7a
git format-patch HEAD~
cd ../ffmpeg-arm64
git am --signoff < ../ffmpeg-armv7a/000*
cd ../ffmpeg-x86
git am --signoff < ../ffmpeg-armv7a/000*
cd ../ffmpeg-x86_64
git am --signoff < ../ffmpeg-armv7a/000*

http://www.niftyadmin.cn/n/5196623.html

相关文章

软件测试/测试开发/人工智能丨视觉与图像识别自动化测试

视觉与图像识别自动化测试在软件测试领域中扮演着越来越重要的角色。这种测试方法通过模拟人眼对图像进行理解和识别&#xff0c;以验证应用程序在图形用户界面&#xff08;GUI&#xff09;和图像处理方面的正确性。以下是该领域的现状和趋势&#xff1a; 现状&#xff1a; 广…

【Flink】系统架构

DataStream API 将你的应用构建为一个 job graph&#xff0c;并附加到 StreamExecutionEnvironment 。当调用 env.execute() 时此 graph 就被打包并发送到 JobManager 上&#xff0c;后者对作业并行处理并将其子任务分发给 Task Manager 来执行。每个作业的并行子任务将在 task…

详解“协方差”与“相关系数”

引言 PCA的目标对象是矩阵&#xff0c;例如&#xff0c;有m个样本&#xff0c;每个样本有n个特征&#xff0c;那么就可以构造成一个样本矩阵&#xff0c;并转换成矩阵的形式。 PCA的最终目的是减少特征的个数&#xff0c;去掉那些不重要的特征&#xff0c;也就是减小矩阵列向量…

树,二叉树,二叉树遍历,哈夫曼树(详解+刷题)

&#x1f442; 后街男孩经典之精选 - 歌单 - 网易云音乐 &#x1f442; 年轮&#xff08;电视剧《花千骨》男声版插曲&#xff09; - 汪苏泷 - 单曲 - 网易云音乐 目录 &#x1f33c;5.1 -- 树 &#x1f33c;5.2 -- 二叉树 1&#xff0c;性质 2&#xff0c;存储 3&#x…

HTTP(Hypertext Transfer Protocol)协议

文章目录&#xff1a; 什么是HTTP&#xff1f;认识URLurlencode 和 urldecodeHTTP 协议请求和响应格式HTTP 请求&#xff08;Request&#xff09;HTTP 响应&#xff08;Response&#xff09; HTTP 请求方法HTTP 的状态码常见的Header 什么是HTTP&#xff1f; HTTP&#xff08;…

Java自动化驱动浏览器搜索稻香

下载最新的Chrome浏览器 查看chrome版本&#xff0c;在浏览器地址栏输入&#xff1a;chrome://version/ 下载对应的浏览器驱动&#xff0c;将其放到一个目录中&#xff0c;我放到了D:/chromedriver-win64 导入对应的依赖【注意&#xff1a;不要导入最新的版本&#xff0c;最…

【注册Huggingface】获取token

Hugging Face是一家美国公司&#xff0c;专门开发用于构建机器学习应用的工具。该公司的代表产品是其为自然语言处理应用构建的transformers库&#xff0c;以及允许用户共享机器学习模型和数据集的平台。 Huggingface 是一个开源的cv、nlp框架&#xff0c;提供了超过100,000个…

windows中运行项目中.sh和kaggle安装与配置

在git bash中运行 命令如下&#xff1a; bash download_data.sh 或者 ./download_data.sh如果使用kaggle的数据集&#xff0c;会要求输入用户名和API。 API在这个文件里面&#xff0c;复制过来即可。 安装kaggle pip install kaggle去kaggle官网&#xff0c;点击这里&…