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

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

FIJK dockerfile 编译环境

FROM --platform=linux/amd64 ubuntu:18.04RUN apt-get update && apt-get install -y \wget \unzip \git \gcc \g++ \make \python  \yasm    \pkg-config     \protobuf-compiler \sudoRUN apt-get install -y openjdk-8-jdkENV ANDROID_HOME=/opt/android-sdk-linux
ENV PATH=$PATH:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-toolsRUN 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.zipRUN 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.zipENV PATH=$PATH:$ANDROID_HOME/cmdline-tools/binRUN echo 'y' | sudo $ANDROID_HOME/tools/bin/sdkmanager "platform-tools" "platforms;android-26" "tools"RUN echo "no" | sudo dpkg-reconfigure dashRUN 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*

相关文章:

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

FIJK dockerfile 编译环境 FROM --platformlinux/amd64 ubuntu:18.04RUN apt-get update && apt-get install -y \wget \unzip \git \gcc \g \make \python \yasm \pkg-config \protobuf-compiler \sudoRUN apt-get install -y openjdk-8-jdkENV ANDROID_HOME…...

记录一次较为完整的Jenkins发布流程

文章目录 1. Jenkins安装1.1 Jenkins Docker安装1.2 Jenkins apt-get install安装 2. 关联github/gitee服务与webhook2.1 配置ssh2.2 Jenkins关联2.3 WebHook 3. 前后端关联发布 1. Jenkins安装 1.1 Jenkins Docker安装 Docker很好&#xff0c;但是我没有玩明白如何使用Docke…...

Virtual安装centos后,xshell连接centos 测试及遇到的坑

首先来一张官方的图--各种网络模式对应的连接状况&#xff1a; 1. 网络使用Host-Only模式动态分配IP&#xff0c;点确定后&#xff0c;centos 上运行 system restart network &#xff0c;使用ifconfig查看新的ip&#xff0c;XShell可以直接连上centos&#xff0c; 但是由于使用…...

【算法】最优乘车——bfs(stringsteam的实际应用,getline实际应用)

题目 H 城是一个旅游胜地&#xff0c;每年都有成千上万的人前来观光。 为方便游客&#xff0c;巴士公司在各个旅游景点及宾馆&#xff0c;饭店等地都设置了巴士站并开通了一些单程巴士线路。 每条单程巴士线路从某个巴士站出发&#xff0c;依次途经若干个巴士站&#xff0c;…...

『亚马逊云科技产品测评』活动征文|通过lightsail一键搭建Drupal VS 手动部署

『亚马逊云科技产品测评』活动征文&#xff5c;通过lightsail一键搭建Drupal 提示&#xff1a;授权声明&#xff1a;本篇文章授权活动官方亚马逊云科技文章转发、改写权&#xff0c;包括不限于在 Developer Centre, 知乎&#xff0c;自媒体平台&#xff0c;第三方开发者媒体等亚…...

使用 VuePress 和 Vercel 打造个人技术博客:实现自动化部署

什么是VuePress? 以下是VuePress官方文档的介绍&#xff1a;VuePress 是一个以 Markdown 为中心的静态网站生成器。你可以使用 Markdown 来书写内容&#xff08;如文档、博客等&#xff09;&#xff0c;然后 VuePress 会帮助你生成一个静态网站来展示它们。VuePress 诞生的初…...

Re50:读论文 Large Language Models Struggle to Learn Long-Tail Knowledge

诸神缄默不语-个人CSDN博文目录 诸神缄默不语的论文阅读笔记和分类 论文名称&#xff1a;Large Language Models Struggle to Learn Long-Tail Knowledge ArXiv网址&#xff1a;https://arxiv.org/abs/2211.08411 官方GitHub项目&#xff08;代码和实体&#xff09;&#xf…...

Spring IOC - Bean的生命周期之依赖注入

在Spring启动流程中&#xff0c;创建的factoryBean是DefaultListableBeanFactory&#xff0c;其类图如下所示&#xff1a; 可以看到其直接父类是AbstractAutoireCapableBeanFactory&#xff0c;他主要负责完成Bean的自动装配和创建工作。 具体来说&#xff0c;AbstractAutowire…...

Android Termux安装MySQL,内网穿透实现公网远程访问

文章目录 前言1.安装MariaDB2.安装cpolar内网穿透工具3. 创建安全隧道映射mysql4. 公网远程连接5. 固定远程连接地址 前言 Android作为移动设备&#xff0c;尽管最初并非设计为服务器&#xff0c;但是随着技术的进步我们可以将Android配置为生产力工具&#xff0c;变成一个随身…...

OpenCV快速入门:像素操作和图像变换

文章目录 前言1. 像素操作1.1 像素统计1.2 两个图像之间的操作1.2.1 图像加法操作1.2.3 图像加权混合 1.3 二值化1.4 LUT&#xff08;查找表&#xff09;1.4.1 查找表原理1.4.2 代码演示 2 图像变换2.1 旋转操作2.1.1 旋转的基本原理2.1.2 代码实现 2.2 缩放操作2.3 平移操作2.…...

Django 路由配置(二)

一、路由 就是根据用户请求的URL链接来判断对应的出来程序&#xff0c;并返回处理结果&#xff0c;也是就是URL和django的视图建立映射关系. 二、Django请求页面的步骤 1、首先Django确定要使用的根URLconf模块&#xff0c;通过ROOT_URLCONF来设置&#xff0c;在settings.py配置…...

电子学会C/C++编程等级考试2022年06月(一级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:倒序输出 依次输入4个整数a、b、c、d,将他们倒序输出,即依次输出d、c、b、a这4个数。 时间限制:1000 内存限制:65536输入 一行4个整数a、b、c、d,以空格分隔。 0 < a,b,c,d < 108输出 一行4个整数d、c、b、a,整数之…...

【C++】使用std::vector()函数实现矩阵的加、减、点乘、点除等运算

本文通过vector&#xff08;&#xff09;函数表示矩阵的形式&#xff0c;对 加、减、点乘、点除等运算进行编码和运行&#xff0c;相应结果如下文所述。 #include <iostream> #include <vector>using namespace std;// 矩阵加法 vector<vector<int>> …...

【python】直方图正则化详解和示例

直方图正则化&#xff08;Histogram Normalization&#xff09;是一种图像增强技术&#xff0c;目的是改变图像的直方图以改善图像的质量。具体来说&#xff0c;它通过将图像的直方图调整为指定的形状&#xff0c;以增强图像的对比度和亮度。 直方图正则化的基本步骤如下&…...

c语言:矩阵交换

题目&#xff1a; 代码和思路&#xff1a; #define _CRT_SECURE_NO_WARNINGS #include<stdio.h>int main() {int n 0;int m 0;int arr[10][10] { 0 }; // 输入行和列scanf("%d%d", &n, &m);int i 0;int j 0;//读取数组for (i 0; i < n; i)…...

【论文阅读】基于隐蔽带宽的汽车控制网络鲁棒认证(一)

文章目录 Abstract第一章 引言1.1 问题陈述1.2 研究假设1.3 贡献1.4 大纲 第二章 背景和相关工作2.1 CAN安全威胁2.1.1 CAN协议设计2.1.2 CAN网络攻击2.1.3 CAN应用攻击 2.2 可信执行2.2.1 软件认证2.2.2 消息身份认证2.2.3 可信执行环境2.2.4 Sancus2.2.5 VulCAN 2.3 侧信道攻…...

暖阳脚本_ 将Agent技术的灵活性引入RPA,清华等发布自动化智能体ProAgent

RPA暖阳脚本 近日&#xff0c;来自清华大学的研究人员联合面壁智能、中国人民大学、MIT、CMU 等机构共同发布了新一代流程自动化范式 “智能体流程自动化” Agentic Process Automation&#xff08;APA&#xff09;&#xff0c;结合大模型智能体帮助人类进行工作流构建&#x…...

JUnit 单元自动化

一、Junit 是什么&#xff1f; Junit 是 Java 中用于单元测试的框架。使用 Junit 能让我们快速高效的完成单元测试。 自动化测试&#xff1a;JUnit提供了自动化测试的能力&#xff0c;开发人员可以编写一次测试用例&#xff0c;然后通过简单的命令或集成到持续集成工具中进行…...

Vue3 源码解读系列(十一)——插槽 slot

slot 插槽的实现实际上就是一种 延时渲染&#xff0c;把父组件中编写的插槽内容保存到一个对象上&#xff0c;并且把具体渲染 DOM 的代码用函数的方式封装&#xff0c;然后在子组件渲染的时候&#xff0c;根据插槽名在对象中找到对应的函数&#xff0c;然后执行这些函数做真正的…...

[github初学者教程] 分支管理-以及问题解决

作者&#xff1a;20岁爱吃必胜客&#xff08;坤制作人&#xff09;&#xff0c;近十年开发经验, 跨域学习者&#xff0c;目前于新西兰奥克兰大学攻读IT硕士学位。荣誉&#xff1a;阿里云博客专家认证、腾讯开发者社区优质创作者&#xff0c;在CTF省赛校赛多次取得好成绩。跨领域…...

本地部署YakGPT:打造私有化ChatGPT前端,实现语音交互与数据安全

1. 项目概述&#xff1a;为什么我们需要一个本地运行的ChatGPT UI&#xff1f; 如果你和我一样&#xff0c;已经深度依赖ChatGPT来处理日常工作&#xff0c;从代码调试到文案构思&#xff0c;那你肯定也经历过官方网页端那令人捉急的加载速度&#xff0c;或者在移动端上打字的…...

Python: Condition Variable Pattern

项目结构&#xff1a; # encoding: utf-8 # 版权所有 2026 ©涂聚文有限公司™ # 许可信息查看&#xff1a;言語成了邀功盡責的功臣&#xff0c;還需要行爲每日來值班嗎 # 描述&#xff1a;Condition Variable Pattern 条件变量模式 # Author : geovindu,Geovin Du …...

ARMv8地址转换机制与TCR_EL2寄存器详解

1. ARMv8地址转换机制概述在ARMv8架构中&#xff0c;地址转换是连接虚拟地址空间和物理内存的核心机制。这种转换通过多级页表结构实现&#xff0c;允许操作系统和hypervisor灵活地管理内存资源。作为系统程序员&#xff0c;理解这个机制的工作原理对开发高效可靠的系统软件至关…...

阵列信号DOA估计系列(四).MVDR/Capon波束形成器:从理论推导到工程实现与性能调优

1. MVDR/Capon波束形成器&#xff1a;从数学本质到工程直觉 第一次接触MVDR算法时&#xff0c;我被它优雅的数学形式所吸引&#xff0c;但真正在项目中应用时才发现&#xff0c;理论推导和工程实现之间存在着巨大的鸿沟。MVDR&#xff08;Minimum Variance Distortionless Resp…...

Spring 第四天:AOP 面向切面编程与声明式事务管理

前言 Spring 有两大核心&#xff1a;一个是前几天我们重点攻克的 IoC/DI&#xff0c;另一个就是今天要深入学习的 AOP&#xff08;面向切面编程&#xff09;。 还记得那句话吗&#xff1f;“AOP 是在不改变原有代码的前提下对其进行功能增强”。听起来很神奇对吧&#xff1f;今…...

CTO 每月烧 600 亿 token,3 个月完成百名程序员七八年写的 800 万行代码

①2026 年 5 月 9 日&#xff0c;昆仑万维董事长方汉的一番发言引热议&#xff0c;相关话题冲上热搜。方汉近日在访谈中坦承&#xff0c;自己每月实际消耗的 Token 高达 20 亿至 30 亿。此前他对外宣称的数字仅为 1 亿&#xff0c;属于刻意的低调处理。他甚至略带自嘲地表示&am…...

物理 AI 为什么离不开边缘计算?

过去两年&#xff0c;AI 给人的印象基本是一回事——一个对话框&#xff0c;一个输入框。你打字它打字&#xff0c;你上传它分析&#xff0c;AI 安静地待在屏幕里&#xff0c;处理着一切关于文字、图像、代码的事情。行业的注意力也都跟着堆在那一头。云厂商抢算力&#xff0c;…...

UCSC基因组浏览器可视化配置实战:从参数调优到多组学数据呈现

1. UCSC基因组浏览器入门&#xff1a;为什么选择它&#xff1f; 第一次接触UCSC基因组浏览器是在分析RNA-seq数据时&#xff0c;当时需要直观展示基因表达差异。这个由加州大学圣克鲁兹分校维护的工具&#xff0c;已经成为生物信息学领域的标准配置。它最吸引我的特点是零代码…...

2025届必备的六大AI写作神器推荐榜单

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 有一款专门针对学术研究者精心打造的智能化写作辅助系统&#xff0c;它就是AI开题报告工具。…...

纯电商用车再生制动能量回收模糊控制策略【附代码】

✨ 本团队擅长数据搜集与处理、建模仿真、程序设计、仿真代码、EI、SCI写作与指导&#xff0c;毕业论文、期刊论文经验交流。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;基于自适应扩展卡尔曼滤波的SOC精确估计与能量管理…...