DyncRTMPLiveClient-Android的解析

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情
源码地址:https://github.com/AnyRTC/DyncRTMPLiveClient-Android


Apk 大小4.5M


代码结构:
APP
├MainActivity
├PushActivity
└PullActivity


liblivertmp_v1.0.4.aar
├api
   ├DynLivePublisher
   └DynLivePlayer
├beautify
   ├camera 摄像头相关处理
   ├encoder
      ├gles OpenGL ES
      └video 视频编码
   ├filter
      ├advanced美颜、美白处理
      ├base
         ├gpuimage OpenGL ES图片处理
         └其他 基于GUIImageFilter.java的其他过滤器
      └helper 过滤器工厂和总览
   ├utils 工具类
   └widget 基于GLSurfaceView的一些界面
├core 包括推流AvStreamer .java、播放AvPlayer.java、网络传输AvHttpClient.java及其他
├event 主界面事件接口
└其他


├libfaac.so
├libfaad2.so
├liblivertmp-jni.so
└libopenh264.so



界面


 
可使用api功能。
 


推流代码实现细节:

1、 初始化:初始化DyncLivePublisher


 
2、 初始化的内容是AvStreamer的准备,
 
 

LooperExecutor的实现如下


 

3、 以不支持美颜摄像头设备为例,初始化了BeautifyEncoder


 

4、 关于BeautifyCameView显示的设置,对应于videoMode的数值


 
5、 VideoEncoderCore编码器的配置
 
6、 对编码器编码出的信息处理,由OnH264Data接口实现后续的操作。
 
 
7、 补充说明预览效果的呈现:由摄像头获取的图像由mediacodec处理,获取surface,再由opengl处理生成继承EglSurfaceBase的WindowSurface。
 


播放没什么好说,实例化了一个渲染器交给jni层处理了。
 
Android-音视频学习系列-(九)Android-端实现-rtmp-推流 其实客户端开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。(以下体系的复习资料是我从各路大佬收集整理好的)《Android开发七大模块核心知识笔记》《960全网最全Android开发笔记》《379页Android开发面试宝典》历时半年,我们整理了这份市面上最全面的安卓面试题解析大全包含了腾讯、百度、小米、阿里、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。 阅读详情

相关推荐

从无到有开发连麦直播技术点整理-AnyRTC

直播开发,性能优化,AnyRTC,连麦直播,推流,拉流

甘为码农 8077

Windows Live Client SDK

Windows Live Client SDK

RTMPLive流媒体直播软件应用解决方案

上一篇我们讲到了RTMPLive多流媒体协议转无插件直播协议(RTMP)解决方案,现在我们可以通过RTMPLive将网络摄像机IPC的流,以及网络电视流,或者点播服务器的回放流,甚至本地文件转发成RTMP流,进行互联网直播以及网页无插件观看,本篇将重点讲述RTMPLive软件的实际场景应用。 首先,从Giuhub下载RTMPLive v2.0 64位版本,然后打开软件主界面如下图所示: 如上图所...

SwordTwelve的专栏 5027

Android LiveClient 云台控制开源流媒体摄像机LiveCamera

LiveCamera是EasyDarwin开源团队开发的一款植入摄像机内部的嵌入式程序,功能是将普通IP Camera与EasyDarwin流媒体云平台对接,上传数据、接受指令控制,形成一套云摄像机方案。 LiveCamera目前已经提供了云台控制的功能。本文就介绍下Android客户端如何实现对LiveCamera的云台控制。 首先,简单介绍下Android客户端(LiveClient)如何...

4957

RTMPLive多流媒体协议转无插件直播协议(RTMP)解决方案

随着互联网以及科技水平的发展,对于互联网服务,PC不再是唯一选择,智能手机、平板电脑、特定的移动终端等都是可选择的用户终端硬件方式,因此,我们需要一款能将安防协议,电视广播协议以及其他各种格式的流媒体协议接入到互联网上来,通过一种统一格式的协议进行多平台多终端直播。 RTMPLive流媒体直播软件(以下简称“RTMPLive”)将RTSP/RTP/RTMP/HTTP/UDP等协议的音视频数据进行拉...

SwordTwelve的专栏 1824

直播技术点整理-链接

直播关键字 采集、前处理、编码、传输、解码、渲染, 推流, 拉流、连麦、直播、互动、RTMP 原理科普 为何一直推荐WebRTC?RTMP vs RTMFP大话直播android音视频点/直播模块开发一些基本概念【如何快速的开发一个完整的iOS直播app】(原理篇)姚东(YY),金山18667号码农,张云龙(全民TV), 何李石(七牛)分享如何搭建直播平台浅谈视频参数(流媒体

Hugo.Lee的博客 2879

直播介绍2

转:https://www.zhihu.com/question/42162310 下面是我在开发直播APP中整理的一些技术,欢迎GitHub持续更新-欢迎Star 原理科普 为何一直推荐WebRTC?RTMP vs RTMFP 大话直播android音视频点/直播模块开发一些基本概念【如何快速的开发一个完整的iOS直播app】(原理篇) 姚东(YY),金山186

michael1112的专栏 383

Android平台如何实现低延迟的RTSP转RTMP推送?

实现 Android 上拉取 RTSP 流转发为 RTMP 流,可以通过使用强大的多媒体框架如 FFmpeg,或者利用专门的第三方库,也可以尝试自己实现协议转换,但这需要深入的技术知识和大量的编程工作。利用大牛直播SDK的SmartRelayModule,可以轻松实现几乎无延迟的RTSP到RTMP的转发。

大牛直播SDK 1568

探索EasyRTMPLive:实时流媒体处理的创新解决方案

探索EasyRTMPLive:实时流媒体处理的创新解决方案 在数字时代,实时流媒体已成为了信息传播的重要方式,无论是在线教育、远程办公,还是游戏直播、娱乐互动,都离不开高效稳定的流媒体平台。今天,我们将一起深入了解一下——一个开源的实时流媒体处理工具,它旨在简化开发流程,提供强大而灵活的流媒体服务。 项目简介 EasyRTMPLive是由TsingSee团队开发的,其目标是为开发者提供一个轻量级、...

gitblog_00096的博客 637

从零开发一款Android RTMP播放器(1),三级缓存和二级缓存的区别

} oar_packet_queue; 5.3 Frame类型 typedef struct OARFrame { int size;//帧大小 PktType_e type;//帧类型 int64_t dts;//解码时间戳 int64_t pts;//显示时间戳 int format;//格式(用于视频) int width;//宽(用于视频) int height;//高(用于视频) int64_t pkt_pos; int sample_rate;//采样率(用于音频) struct OARFram

m0_66264856的博客 2533

LibRtmp-Client-for-Android 安装和配置指南

### 项目基础介绍 LibRtmp-Client-for-Android 是一个用于 Android 平台的 RTMP 客户端库。它可能是 Android 上最小的 RTMP 客户端之一,大小约为 60KB(胖版本约为 300KB)。该库通过 JNI 接口调用 librtmp 函数,支持多种 CPU 架构(如 arm、arm7、arm8、x86、x86-64、mips)。 ### 主要的编程语

gitblog_01278的博客 1314

【亲测免费】 Android Librtmp客户端技术文档

--- ## 安装指南 为了在您的Android项目中集成此Librtmp客户端,您需要按照以下步骤操作: 1. 打开您的Android Studio项目。 2. 转至`build.gradle`(Module: app)文件。 3. 在`dependencies`块中,添加以下依赖项: ```groovy dependencies { // 其他依赖...

gitblog_01272的博客 1350

Android Rtmp客户端搭建

@Author:明明不说话 @Statement:博客内容纯属个人观点,欢迎转载,转载请注明,谢谢RTMP介绍RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持

明明不说话的专栏 6099

腾讯云直播工具类

因为工作需要于是封装了一个工具类 import java.io.UnsupportedEncodingException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import org.slf4j.Logger; import org.slf4j.Logger...

hl128k的博客 1709

破解某国外收费的RTMP Client并成功在Android和Java上调用

Adboe的Red5流媒体服务器免费并且是开源的,与Flash搭配的时候可谓是天生一对,但使用Java和Android作为客户端调用却可谓一波三折。          Adobe的Red5源代码里有一个RTMPClient的类,这个类在使用上其实不复杂,但却没办法成功调用。观察日志,发现是连接成功后在开始创建流的时候,服务端把连接断开了。我能想到的解释就是可能公司现在所使用的Red5服务器的版本

老猫 2万+

Android实时直播,一千行java搞定不依赖jni,延迟0.8至3秒,强悍移动端来袭

Android高版本中,特别是4.1引入了MediaCodec可以对摄像头的图像进行硬件编码,实现直播。 一般Android推流到服务器,使用ffmpeg居多,也就是软编码,实际上使用Android的硬件编码会有更好的体验。 看了下网上的文章也不少,但是都缺乏一个整体跑通的方案,特别是如何推送的服务器。本文把Android推直播流的过程梳理一遍。 Android直播有几个大的环节:

OSSRS 2万+

基于LFLive实现rtmp推流到本地nginx服务器

基于之前搭建的nginx + rtmp服务器,现在结合LFLivekit,编码获取摄像头视屏,麦克风音频编码推流 首先先将需要准备的东西下载下来集成到你的工程中去 在github上下载LFLivekit集成到你的工程中去 需要在工程中添加相应的framework UIKit Foundation AVFoundation VideoToolbox AudioToolbox libz li

chenqiangblogs的博客 3790

EasyRTMPLive:RTMP流媒体直播软件应用解决方案流媒体直播软件应用

EasyRTMPLive通过拉流IPC摄像机或者NVR硬盘录像机RTSP流转成RTMP推送到阿里云CDN/腾讯云CDN/RTMP流媒体服务器上,支持多路RTSP流同时拉取并以RTMP协议推送发布。采用Config.ini配置文件,来配置每路输入的RTSP地址,以及目标RTMP地址。

TSINGSEE青犀视频官方技术博客 3881
cavelorder
博客等级 码龄17年 0粉丝 1原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值