1. Camera2架构 在Google 推出Android 5.0的时候, Android Camera API 版本升级到了API2(android.hardware.camera2), 之前使用的API1(android.hardware.camera)就被标为 Deprecated 了. Camera API2相较于API1有很大不同, 并且API2是为了配合HAL3进行使用的, API2有很多API1不支持的特性, 比如: 更先进的API架构: 可以获取更多的帧(预览/拍照)信息以及手…
很多开发者在做Android平台RTMP推流或轻量级RTSP服务(摄像头或同屏)时,总感觉接口不够用,以大牛直播SDK为例 (Github) 我们来总结下,我们常规需要支持的编码前音视频数据有哪些类型: 1. Android摄像头前后camera通过OnPreviewFrame()回调的数据接口: @Override public void onPreviewFrame(byte[] data, Camera camera) { frameCount++; if (frameCount % 30…
好多开发者提到,为什么大牛直播SDK的Android平台RTMP推送接口怎么这么多?不像一些开源或者商业RTMP推送一样,就几个接口,简单明了. 不解释,以Android平台RTMP推送模块常用接口,看看这些接口有没有存在的意义?本文简单介绍,全当抛砖引玉,相关资料,可参考 Github: 1. 初始化Publisher接口,返回推送实例句柄: /** * Open publisher(启动推送实例) * * @param ctx: get by this.getApplicationConte…
本文转自EasyDarwin开源团队成员Kim的博客:http://blog.csdn.net/jinlong0603/article/details/73253044 前言 安防互联网化的需求已经越来越强烈了,传统的安防摄像机都想进行一些互联网化的直播(网页或者微信直播),也就是RTMP和HLS直播,那么在技术实现上就是各种SDK/RTSP流拉取,再转成RTMP推流到RTMP服务器进行RTMP直播和HLS切片了,今天我们要讲的就是比较通用的RTSP拉流,然后再转推流RTMP的功能实现,在Git…
本文主要抛砖引玉,粗略介绍下Android平台RTMP/RTSP播放器中解码和绘制相关的部分(Github). 解码 提到解码,大家都知道软硬解,甚至一些公司觉得硬解码已经足够通用,慢慢抛弃软解了,如果考虑到设备匹配,软硬解码都支持,是个不错的选择,为此,大牛直播SDK在开发这块的时候,分类是这样的: 1. 软解码:解码后获取到原始数据,可进行后续的原始数据回调和快照等操作: 2. 硬解码:解码后获取到原始数据,可进行后续的原始数据回调和快照等操作: 3. 硬解码:设置surface模式,直接r…
前些日子在github上提交了基于GPUImage的iOS直播推流SDK(https://github.com/runner365/GPUImageRtmpPush) 最近整理了Android直播推流SDK,在github上开源出来. 1,支持市面上绝大部分的rtmp服务器 nginx-rtmp,SRS,RED5等 2,视频用软编,兼容性好 市面上的一些android rtmp推流sdk用的是android中mediacodec来进行,但是有两个缺点: 1,mediacodec这个类在andro…
OBS 功能强大,几乎所有你想要的场景它都有,用起来很顺手.可以将桌面.摄像头.程序窗口通过rtmp推送到流媒体服务器上. 当然如果你是开发者,想基于OBS做二次开发,实现二次产品化的化,难度比较大,OBS代码量很大,驾驭起来难度很大,有bug的话,跟踪起来很累. 下载地址:OBS下载 以下是官方介绍: What is OBS Studio? OBS Studio is software designed for capturing, compositing, encoding, recordi…
本文转自EasyDarwin团队成员Alex的博客:http://blog.csdn.net/cai6811376/article/details/74783269 需求 在做EasyDSS开发时,总是在测试推流效果. 当然,可以使用libEasyRTMP进行推流测试. 有时候,我们想使用OBS进行推流测试,也可以,这很好. 以及其他RTMP推流工具. 但是,别忘了,还有ffmpeg这个神器.ffmpeg可以获取各种视频流,并推送给EasyDSS RTMP流媒体服务器. 比如,拉取摄像机RTSP…
EasyRTMP介绍 EasyRTMP是结合了多种音视频缓存及网络技术的一个rtmp直播推流端,包括:圆形缓冲区(circular buffer).智能丢帧.自动重连.rtmp协议等等多种技术,能够非常有效地适应各种平台(Windows.Linux.ARM.Android.iOS),各种网络环境(有线.wifi.4G),以及各种情况下的直播恢复(服务器重启.网络重启.硬件设备重启),今天我们讲解的是EasyRTMP中rtmp推送连接的建立.推送H264+AAC音视频.以及rtmp推送重连过程的详…
基于NDK开发Android平台RTSP播放器 最近做了不少android端的开发,有推流.播放.直播.对讲等各种应用,做了RTMP.RTSP.HTTP-FLV.自定义等各种协议,还是有不少收获和心得的.我这边做,核心模块和核心代码部分,都是基于NDK,用C++开发的,然后将so动态库,在Android java环境中使用,这个既能保证核心部分的代码性能,也能最大程度复用之前写的流媒体相关的大量代码,实践证明,这样的程序架构,还是很有效的.这篇文章里,我打算描述一下我对于开发Android端RT…