当前位置: 首页 > article >正文

音视频流媒体之 IJKPlayer 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

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.kler.cn/news/136192.html

相关文章:

  • JavaWeb合集22-Apache POI
  • 大数据治理:挑战、框架与最佳实践
  • 【2024|滑坡数据集论文解读3】CAS滑坡数据集:用于深度学习滑坡检测的大规模多传感器数据集
  • 如何修改IP地址:全面指南
  • Linux: Shell编程中的应用之基于sh脚本生成网页
  • Electron 离线环境打包解决方案(electron-forge)
  • 计算机基础知识54
  • Linux--网络编程
  • GetKeyState获取键盘状态(原神水龙王转转转)
  • C练习题_14
  • 单例模式(饱汉式和饿汉式)
  • Python大数据之linux学习总结——day10_hive调优
  • 【洛谷 P3743】kotori的设备 题解(二分答案+递归)
  • 在python中分别利用numpy,tensorflow,pytorch实现数据的增加维度(升维),减少维度(降维)
  • 微机原理_14
  • 复杂数据统计与R语言程序设计实验一
  • Android 11.0 展讯平台关于ota升级开机logo的相关功能实现
  • 【C++】【Opencv】cv::Canny()边缘检测函数详解和示例
  • MATLAB实战应用案例精讲(二)-【图像处理】图像分类(附MATLAB代码实现)
  • 设置指定时间之前的时间不可选
  • k8s上Pod生命周期、重启策略、容器探测简介
  • 认识前端包常用包管理工具(npm、cnpm、pnpm、nvm、yarn)
  • 苹果CMS首涂第30套可装修DIY主题模板免授权版
  • Spring IOC - Bean的生命周期之依赖注入
  • 【论文阅读笔记】Deep learning for time series classification: a review
  • 数理统计的基本概念(二)