NodeMediaClient-Android

简介:NodeMedia RTMP/RTMFP/RTSP/HTTP Play/Publish Client SDK for Android
更多:作者   提 Bug   官网   
标签:

国内镜像

http://git.oschina.net/illuspas/NodeMediaClient-Android

API 文档

https://github.com/NodeMedia/NodeMediaClient-Android/tree/2.x/docs

简介

NodeMediaClient 是为移动端应用量身打造的基于 RTMP 协议的流媒体直播系统。通过集成本 SDK,只需几个简单 API 调用,便可实现一套完整的直播流媒体应用基础。包含了流媒体应用中:『采集->编码->传输->解码->播放』的所有步骤。

支持的平台

Android 4.0 及以上

支持的 CPU 架构

armeabi-v7a arm64-v8a x86 x86_64

支持的流媒体服务端

fms, wowza, evostream, red5, crtmpserver, nginx-rtmp-module, srs,Node-Media-Server 及其他标准 RTMP 协议服务端

支持的流媒体云服务器

奥点云及其他标准 RTMP 协议云服务器

RTMP 协议特性

  • 支持定义为'live','record','append'的发布类型
  • 支持 Adobe auth 模式的鉴权验证 如 rtmp://user:pass@server:port/app/name
  • 支持播放前设置 receiveAudio,receiveVideo 来控制只接收音频或视频流(需服务端实现,fms,red5 支持)
  • 支持发送 FCSubscribe 命令,兼容国外 Akamai, Edgecast , Limelight 等 CDN
  • 支持设置 SwfUrl 和 PageUrl
  • 支持设置 Connect Arguments (rtmpdump 风格)
  • 支持 RTMP 302 重定向(AMS,Wowza 模式)

直播发布特性

  • H.264/AAC 组合的 RTMP 协议音视频流发布
  • 全屏视频采集,720p 原画质缩放
  • NEON 指令集优化 H.264 软件编码器,性能强劲,兼容性极强
  • H.264 支持 Baseline,Main,High profile
  • 支持手机旋转,横屏 16:9,竖屏 9:16 分辨率自动输出横竖屏视频流
  • 支持 4:3 分辨率,1:1 分辨率输出
  • OpenGL ES 摄像头预览窗,任意视图比例不失真
  • NEON 优化 AAC 软件编码器,极少 CPU 占用,支持 LC 和 HE profile,音质还原效果好
  • 支持 SPEEX 音频编码
  • 支持环境背景噪音抑制,不再有沙沙声
  • 支持发布中途切换前后摄像头
  • 支持闪光灯开关
  • 支持全时自动对焦与手动对焦切换
  • 支持单音频流发布
  • 支持发布中途来电保持网络流,暂停发布,挂机后继续发布
  • 支持预览摄像头后,任意时刻截图
  • 内置基于 GPU 加速的 5 级磨皮美白滤镜
  • 支持 GPU 算法的镜头缩放,兼容性好
  • 支持动态设置视频码率
  • 支持视频码率自适应网络带宽
  • 全自动网络异常重连

直播播放特性

  • 专为 RTMP/RTSP 等直播协议优化的码流解析器,极短的分析时间,秒开视频流
  • NEON 指令集优化的软件解码器,性能好,兼容性强
  • 支持的网络协议 RTMP/RTMPE/RTMPT/RTSP/HLS/HTTP-FLV
  • 支持的视频解码器:H.264, H.265, FLV, VP6, MPEG4
  • 支持的音频解码器:AAC, MP3, SPEEX, NELLYMOSER, ADPCM_SWF, G.711
  • 视频编码:H.264/MPEG4/H.265 支持硬解加速
  • OpenGL ES 视频渲染
  • 全自动网络异常重连
  • 支持播放中途来电保持网络流,暂停播放,挂机后继续播放
  • 支持设置最大缓冲时长,杜绝累计延迟
  • 支持多路直播流同时播放
  • RTSP 支持的传输协议: TCP/UDP/UDP_MULTICAST/HTTP
  • RTSP 支持海康 Smart265

直播串流器

v1.2.3 新增 NodeStreamer 类,可用于户外环境下,具有 RTSP 协议的运动相机/无人机连接手机热点,通过手机 4G 网络串流到 RTMP 服务器.
手机端不进行编解码,只有网络 IO,不占用 CPU.
v1.2.9 增加对本地 mp4 文件直接进行串流的支持.(注意:并不进行二次编码,不改变码率\清晰度,不调整视频方向.手机内置相机录像的视频码率非常大,竖向录制的视频是旋转 90 度的)

视频点播

v2.0.0 版本开始支持视频点播

  • 支持的协议格式 HTTP/HTTPS/FILE
  • 支持的封装格式 MP4/FLV/AVI/MPEGTS/MKV
  • 支持的视频格式 H.263/H.264/H.265/FLV/MPEG4
  • 支持的音频格式 AAC/AC3/MP3/NELLYMOSER/SPEEX
  • 播放/暂停/快进/时长等基本操作
  • 视频编码:H.264/MPEG4/H.265 支持硬解加速

RTMFP 协议

v2.0.1 实验版,支持 RTMFP 协议

  • 基于 UDP 传输协议
  • 支持 P2P 连接(待实现)
  • 支持加入 NetGroup(待实现)

VR 全景播放

v2.0.2 增加 VR 全景播放的实现,基于MD360Player4Android

  • 支持 HTTP 点播,也支持 RTMP 直播.
  • 支持 H.264/H.265 硬件解码,注意:超大视频(3840)是否支持硬解根据具体处理器内 VideoCodec 而定.
  • gradle 外部引入 MD360Player4Android 库,按需添加,不占 sdk 大小.

img

开发计划

  • H.265 直播传输
  • 硬件编码
  • 仿 ActionScript3 NetConnect.call() 客户端服务端方法互调
  • 完善 RTMFP 协议支持(UDP,P2P,NETGROUP)

H.265 直播

目前 v2.1.3 之后的版本支持非 Adobe 官方协议下 H.265 直播播放

Windows 测试服务端支持

Windows 硬编码推流端

目前暂不支持手机端推流,h.265 软编码性能消耗较大,解决方案为手机端仍然以 H.264 推送到服务端,服务端进行 H.264-->H.265 实时转码,播放端解码 H.265 视频.
经测试,在相同分辨率帧率清晰度的情况下,码率减小一半以上.

跨平台开源流媒体服务端(开发测试用)

Node-Media-Server 基于 Node.JS 开发, 跨平台/高性能, 支持 RTMP 协议推流,RTMP/HTTP-FLV/WebSocket-FLV 播放, 内置推流鉴权/播放防盗链/GOP 缓存急速秒开.

商用授权

商业软件需购买授权,业务咨询\定制开发,请联系
QQ:281269007
Email:service@nodemedia.cn

随手点击下面广告,支持我维护本站吧
随手点击下面广告支持我免费维护吧
Android 开发经验分享
随手点击下面广告支持本站吧
 
Android 开发经验分享