/SmarterStreaming

国内外为数不多不依赖开源框架、公网毫秒级延迟、跨平台(windows/android/iOS)rtmp推流、rtmp/rtsp直播播放利器"SmarterStreaming",系daniulive(大牛直播)出品的跨平台视频采集、直播SDK(支持rtmp推流(rtmp pusher)/rtmp播放(rtmp player)/rtsp播放(rtsp player),如windows推流(windows pusher)/android推流(android pusher)/iOS推流(iOS pusher)/windows播放器(windows player)/android播放器(android player)/iOS播放器(iOS player)),也许是最靠谱的视频直播推流、播放SDK之一,助您轻松实现类似于花椒、映客、斗鱼手机直播推送与播放。

Primary LanguageJava

大牛直播 www.daniulive.com

国内外为数不多不依赖开源框架、公网毫秒级延迟、跨平台(windows/android/iOS)rtmp推流、rtmp/rtsp直播播放利器"SmarterStreaming",系daniulive(大牛直播)出品的跨平台视频采集、直播SDK(支持rtmp推流/rtmp播放/rtsp播放,如windows推流(windows pusher)/android推流(android pusher)/iOS推流(iOS pusher)/windows播放器(windows player)/android播放器(android player)/iOS播放器(iOS player)),也许是最靠谱的视频直播推流、播放SDK之一,助您轻松实现类似于花椒、映客、斗鱼或传统行业低延迟、高稳定直播推送与播放。

适用于秀场直播、媒体移动直播、应急指挥调度(针对保险、城管、交警、消防、公安等职能管理部门的单兵应急执法系统)、可视化购物、远程专家诊断、可视化巡检、(如电信/电力线路/铁路沿线/水利设施/油田/消防设施巡检)、移动视频安防监控,企业内训、金融在线直播室、在线教育、微信直播、监控对接、活动现场直播、游戏直播等场景。

SmarterStreaming, which is an excellent cross-platform Live Streaming publisher/playback SDK, based on RTMP/RTSP protocol, developed by daniulive.

For English introduction, please click here;

For commercial support, please contact 89030985@qq.com.

SmarterStreaming SDK可供个人学习之用,企业及商用需要经过授权

===========================

模块概览

  • Windows屏幕、摄像头合成或单个推流/录像;
  • Windows rtmp/rtsp播放器;
  • Android屏幕、摄像头推流/录像;
  • Android rtmp/rtsp播放器;
  • iOS摄像头推流/录像;
  • iOS rtmp/rtsp播放器;
  • SmarterStreamServer.

本地下载

很多开发者反应,由于项目庞大,github下载整个工程很慢,我们已经把相关demo文件和使用说明,全部上传到QQ群共享:

或者直接从私有服务器下载:

NOTE: android平台,eclipse工程(android推送、播放SDK本地下载(eclipse工程))的SDK每次release是确保同步更新的,android其他相关demo使用的SDK,请以eclipse工程内提供的SDK为准。

===========================

功能支持

windows屏幕截取/摄像头推送录像

  • [屏幕/摄像头]支持帧率、关键帧间隔、码率等设置;
  • [屏幕]支持屏幕裁剪,根据帧率和推送分辨率,自动推荐码流;
  • [摄像头]支持摄像头选择、分辨率设置、帧率设置;
  • [摄像头和屏幕实时切换]支持推送过程中,摄像头和屏幕互相切换,单画面显示摄像头或屏幕;
  • [摄像头叠加到屏幕] 支持摄像头按照设置坐标,叠加到屏幕指定位置,并支持实时关闭叠加层;
  • [屏幕叠加到摄像头] 支持屏幕按照设定坐标,叠加到摄像头指定位置,并支持实时关闭叠加层;
  • [实时水印]支持动态水印设置;
  • [透明度]可以设置透明度处理;
  • [音频]采集音频设备,
  • [音频]采集扬声器;
  • [音频]支持回音消除功能;
  • [音频]支持噪音抑制功能;
  • [音频]支持自动增益控制;
  • [音频]支持Speex推送;
  • [音频]Speex编码质量设置;
  • [音频]推送过程中实时静音/取消静音;
  • [音视频]支持纯音频、纯视频、音视频推送;
  • [对接服务器]完美支持自建服务器或CDN;
  • [录像]支持“边推送边录像”、“先推送、后录像”、“先录像,后推送;
  • [录像]支持设置录像文件前缀、录像文件大小,录像文件增加日期、时间;

windows播放器

  • 基于C C++开发的低延迟低资源占用的windows cs架构的播放器(exe),支持RTSP/RTMP协议封装;
  • 基于flash控件开发的web播放器。

android推流/iOS推流

  • 多分辨率选择;
  • 支持横竖屏推送;
  • 音视频推送、纯音频推送、纯视频推送;
  • 支持边采集、边录像
  • 支持rtmp推送 live|record模式设置;
  • 网络中断,本地录像继续,保证数据的完整性;
  • 支持本地录像文件回放、处理;
  • 采集过程中,前后摄像头切换;
  • 提供编码前(YUV/RGB)、编码后音视频(H.264/AAC)接口对接,方便AR/VR设备调用。
  • android/iOS自带美颜功能;
  • android完美支持文字水印、实时时间水印和图片水印
  • 支持推送端实时静音/取消静音
  • 支持软硬编码自适应;
  • android支持后台service推送摄像头或屏幕(推送屏幕需要5.0+版本);
  • 支持gop间隔、帧率、bierate设置;
  • 支持推送端镜像设置;
  • [音频]android支持噪音抑制功能;
  • [音频]android支持自动增益控制;
  • [音频]android支持Speex推送;
  • [音频]android支持Speex编码质量设置;
  • iOS支持裁剪模式设置;
  • 完美支持各个厂家CDN。

windows播放器/android播放器/iOS播放器

  • 超低延迟的rtmp播放器;
  • 超低延迟的rtsp播放器;
  • 完美支持多实例播放(同时播放多路stream,可同时支持rtmp、rtsp stream播放);
  • 支持RTSP TCP/UDP模式切换;
  • 支持播放端,buffer设置;
  • 支持秒开模式;
  • audio支持aac/speex/g.711;
  • 支持自定义播放布局;
  • 音视频多种render机制;
  • 支持播放过程中,'实时静音/取消静音';
  • 支持播放url快速切换
  • android/iOS支持软硬解码,业内真正靠谱的超低延迟、低资源占用播放rtsp/rtmp 1080p+。

微信播放

  • 支持android设备rtmp/hls播放;
  • 支持iOS设备hls播放;
  • 支持公众号集成。

公网环境下,毫秒级延迟,支持云服务部署、各类厂商的CDN产品对接;

支持边推送边录像(如执法记录或移动单兵场景),网络中断仍可继续录制,结束后可本地回放,并可对接第三方云服务,把录像数据保存到云端服务器;

支持跨平台纯音频、纯视频、音视频推送纯音频、纯视频、音视频播放纯音频、纯视频、音视频实时存储

[基于RTMP、RTSP安防摄像机、编码器、智能眼镜平台对接]

无论rtsp、rtmp,我们提供高稳定性、超低延迟的跨平台(Windows/android/iOS)综合视频监控系统对接。

[多对一实时通讯]

适用于应急指挥、公安巡检等,以移动单兵设备为采集载体,实时上传音视频数据到指挥中心,并实现指挥中心对现场的实时指导。

您可以用网页进行播放测试:http://218.25.89.108:8080/files/SmartPlayer/SmartPlayer.html

[SmarterStreamServer]

  • 高并发,分布式部署,支持rtmp摄像机和采集设备完美对接,提供代建服务器或整套软硬件服务器方案;
  • 高性能的流媒体服务器,标准rtmp输入,多种方式流输出(rtmp/hls),并同步保存采集端数据;
  • 支持鉴权认证、各种信息展示;
  • 点播服务器:满足录像文件点播需求。

公网环境下推流、直播效果展示

Windows采集,跨平台播放

Android采集,跨平台播放

iOS采集,跨平台播放

播放展示

1. Windows播放器:

大牛直播Windows播放器

2. Android播放器:

大牛直播android播放器

3. iOS播放器:

大牛直播iOS播放器

4. 海思板子(4核低端版,同时播放4路720P rtmp流):

海思box播放

windows推送/android推流端/iOS推流端

1. windows推送:

Windows推送

2. android边推送边录像(支持纯音频推送和播放):

android边推送边录像

windows播放水印推流

3. iOS边推送边录像(支持纯音频推送和播放):

iOS边推送边录像

iOS边推送边录像2

4. iOS录像管理:

iOS录像管理

SmarterStreamServer url鉴权demo

url生成demo

使用说明

1. 推流:

1.1 Windows推送端:

超低延迟、可直接推url到rtmp server的windows桌面/摄像头采集SDK(为防止未经许可的第三方利用本软件从事恶意盗录等非法活动,未经授权版本,每次只允许实时推送1小时(1小时后,如需继续试用,请关闭应用程序再重新打开),请在法律许可范围内使用本软件),也可能是目前市面上最好用的PC端音视频推送SDK。点击下载

  1. 设置帧率和关键帧间隔(关键帧间隔可以是帧率的倍数);
  • 如需屏幕裁剪,输入屏幕裁剪坐标和裁剪宽高信息;
  • [屏幕裁剪] 推送之前,点击“选取屏幕区域”,可弹出选择框,双击即可完成区域选择;
  • [屏幕裁剪] 推送过程中,可以点击“移动屏幕区域”,实时设置推送的屏幕区域;
  • [码流获取] 点击“获取默认值”,拿到系统推荐的平均码率和最高码率;
  • [摄像头] 如需推送摄像头数据,从摄像头列表选择设备,然后设置分辨率和推送帧率;
  • [摄像头和屏幕实时切换]支持推送过程中,摄像头和屏幕互相切换,单画面显示摄像头或屏幕;
  • [摄像头叠加到屏幕] 支持摄像头按照设置坐标,叠加到屏幕指定位置,并支持实时关闭叠加层;
  • [屏幕叠加到摄像头] 支持屏幕按照设定坐标,叠加到摄像头指定位置,并支持实时关闭叠加层;
  • [实时水印]"视频采集设置"-"屏幕和摄像头互相切换"行,选择“添加水印”,然后,在弹出框,选择水印路径和设置坐标,点击“确定”即可,推送过程中,如取消水印,点击“停止水印”,如再次开启,点击“启用水印”;
  • [透明度]可以设置透明度处理;
  • [音频选择] 采集麦克风:实时获取麦克风数据;
  • [音频选择] 采集扬声器:实时获取扬声器数据,比如,无杂音的采集系统播放的音乐;
  • [音频控制] 推送过程中,可以选择“静音”或取消静音;
  • [音频控制] 如果不选择桌面或摄像头,可支持纯音频推送;
  • [音频控制] 设置“回音消除”;
  • [音频控制] 设置“噪音抑制”;
  • [音频控制] 设置“自动增益控制”;
  • [音频控制] 默认采用AAC编码,如需推Speex,选择“使用Speex编码”
  • [音频控制] 设置Speex编码质量;
  • [视频控制] 如果不选择音频,可支持纯视频推送;
  • 设置RTMP推送url;
  • 点击“推送”,如推到daniulive的服务器,系统会自动分配播放url,请按生成的播放地址,用大牛播放器播放;
  • 点击“停止”,关闭推送;
  • [录像] 设置录像目录;
  • [录像] 设置录像文件前缀、录像文件大小,录像文件增加日期、时间;
  • [录像] 点击“录像”或“停止录像”;

1.2.1 Android推流:

  1. 安装SmartPublisher;
  • [推流类型] 可选择推“纯音频”、“纯视频”、“音视频”;
  • [水印类型] 可选择“图片水印”、“文字水印”、“全部水印”、“不加水印”;
  • [分辨率] 可选择高、中、低、超高分辨率
  • [录像] 可选择“本地录像”或不录像,如选择“本地录像”,支持边推流边录像;
  • [录像管理] 可进入录像页面,比如,进行录像回放、文件管理;
  • [静音] 支持推送过程中,主播端实时静音或取消静音;
  • [镜像] 默认关闭,如需开启,点击开镜像;
  • [硬编码/软编码] 默认软编码,如需硬编码,系统自动检测是否支持,如支持,优先采用硬编码;
  • [输入推流URL] 可自定义推送url,如不输入,默认自动生成url,推送到daniulive服务器;
  • [开始推流] 点击后,推送数据到流媒体服务器,如需停止,点击“停止推流”;
  • [前后摄像头切换] 推流过程中,可点击前后摄像头切换图标,前后采集源。

1.2.2 Android后台推送摄像头/屏幕数据]

点击下载

  1. 安装SmartServicePublisherSDKDemo;
  • [推送类型] 可选“推送屏幕”或“推送摄像头”;
  • [推送屏幕] 分辨率分“屏幕标准分辨率”和“屏幕低分辨率”;
  • [推送摄像头] 分“摄像头高分辨率”、“摄像头中分辨率”、“摄像头低分辨率”、“摄像头超高分辨率”;
  • [录像功能] 默认“本地不录像”,如需录像,请选择下来菜单“本地录像”;
  • [录像管理] 针对录像数据的回放、删除等操作;
  • [前后置摄像头选择] 默认后置摄像头,如需采集前置摄像头,请点击按钮,切换前后摄像头;
  • [输入推流URL] 默认我们会自动随机生成推送到我们server的url,如需推送到自己server,请自行设置,并点击“确认”生效;
  • [软硬编码切换] 默认软编码,如需硬编码,请点击此按钮选择;
  • [推屏权限检测] 由于android屏幕采集需要android 5.0以上版本,如推送屏幕数据,需要先检测推屏权限,如检测通过,才可以推流;
  • [开始推流] 推送数据到server端, 点击“开始推流”后,可切换到后台,采集屏幕或者摄像头数据,如需停止推送,点级"停止推送"按钮就可,NOTE: 开始推送后,后台会进入一直推流状态,测试结束后,记得点击“停止推送”。

1.3 iOS推流:

  1. 安装SmartPublisher;
  • [推送url设置] 在输入框输入推送的url(rtmp相关url),如不输入,默认推送到daniulive server;
  • [分辨率] 可选择高、中、低、超高分辨率;
  • [推流类型] 可选择推“纯音频”、“音视频”、“纯视频”;
  • [美颜] iOS推送端支持推送过程中,美颜设置,也可选择不美颜;
  • [录像] 可选择“边推边录”或不录像,如选择“边推边录”,支持边推流边录像;
  • [进入推流页面] 1~5步骤完成后,可进入推流页面;
  • [进入回放页面] 可进入录像页面,比如,进行录像回放、文件管理;
  • [静音] 支持推送过程中,主播端实时静音或取消静音;
  • [镜像] 默认关闭,如需开启,点击开镜像;
  • [前后摄像头切换] 推流过程中,可点击前后摄像头切换图标,前后采集源;
  • [推流] 点击后,推送数据到流媒体服务器,如需停止,点击“停止”;
  • [返回] 未推流状态,返回上层设置页面。

1.4 iOS端边推流边录像:

  1. [录像相关]设置推流过程中,是否录像(不录像 边推边录);
  • [录像相关]如有边推送边录像,直播结束后,点击“进入回放页面”,可显示录像文件名称,点击回放,可进行本地录像回放;
  • [录像相关]点击“删除全部文件”,可删除本地录制的所有文件;
  • [录像相关]回放过程中,点击“暂停”,进入播放暂停状态,点击“恢复”继续播放。

2 播放:

2.1 Windows播放器:

点击下载

  1. 打开SmartPlayer.exe;
  • 根据提示,在RTMP/RTSP播放地址处,输入需要播放的url,如“rtmp://live.hkstv.hk.lxdns.com/live/hks”;
  • 在播放之前,可以设置缓冲时间(单位:毫秒),支持0~10000ms设置;
  • 如果播放rtsp url,可以设置使用TCP/UDP播放;
  • 播放过程中,可选择实时静音/取消静音。

2.2 android播放器

  1. 安装SmartPlayer.apk;
  • [大牛直播url] 进入系统后,在输入框输入需要播放的url,点击“进入播放页面”即可,停止的话,点击“返回”按钮,返回主页面,可重新选择其他url播放;
  • [纯音频url] 如需播放纯音频,编译工程,SmartPlayerSetSurface第二个参数设置为null;
  • [输入完整url] 如需测试自己服务器或者公网rtsp/rtmp的url,点击“输入完整url”,比如“rtmp://live.hkstv.hk.lxdns.com/live/hks”,在弹出框输入想播放的url;
  • [开始播放/停止播放] 输入播放url后,可以点击开始播放,如需停止,点击停止播放按钮即可;
  • [rtsp播放] rtsp模式下,支持TCP/UDP模式切换;
  • [静音功能] 无论播放rtmp还是rtsp,播放过程中,可以实时静音/取消静音;
  • [url快速切换] 如在工程设置多个url,可快速切换不同url;
  • [软解码/硬解码]播放页面,默认会显示“当前软解码”,如需用硬解码,请点击此按钮,页面会显示“当前硬解码”,点击开始播放,会以页面当前显示的软解或硬解运行。

2.3 iOS播放器

  1. 安装SmartPlayer.ipa;
  • [大牛直播url] 进入系统后,在输入框输入需要播放的url,点击“进入播放页面”即可,停止的话,点击“返回”按钮,返回主页面,可重新选择其他url播放;
  • [纯音频url] 如需播放纯音频,请选择“纯音频”选项,然后,输入urlID,进入播放状态;
  • [软解码/硬解码]如需用硬解码,请选择“硬解”,然后进入播放页面;
  • [rtsp播放] 如需测试rtsp url,请编译工程,设置全的url即可;
  • [rtsp播放] rtsp模式下,支持TCP/UDP模式切换;
  • [静音功能] 无论播放rtmp还是rtsp,播放过程中,可以实时静音/取消静音;
  • [url快速切换] 如在工程设置多个url,可快速切换不同url;
  • [返回] 播放另外一个url,点击返回按钮,到上级页面。

2.4 Web播放器

http://218.25.89.108:8080/files/SmartPlayer1Stream/SmartPlayer.html

在输入框中,清除老的url,输入推流的url,如 rtmp://218.25.89.108:1935/hls/stream123456(以推流端生成的URL为准)。

[上层源码目录]

  1. android推流 SmartPublisher https://github.com/daniulive/SmarterStreaming/tree/master/SourceCode/Android/SmartPublisher

  2. android推流 SmartServicePublisher(后台service推送摄像头/屏幕) https://github.com/daniulive/SmarterStreaming/tree/master/SourceCode/Android/SmartServicePublisher

  3. android播放器 SmartPlayer: https://github.com/daniulive/SmarterStreaming/tree/master/SourceCode/Android/SmartPlayer

  4. iOS推流 SmartPublisher: https://github.com/daniulive/SmarterStreaming/tree/master/SourceCode/IOS/SmartiOSPublisher

  5. iOS播放器 SmartPlayer: https://github.com/daniulive/SmarterStreaming/tree/master/SourceCode/IOS/SmartiOSPlayer

[编译注意事项]

  1. 编译时找不到 libSmartPlayerSDK.a 时,请先到 SmartiOSPlayer/SmartiOSPlayer/libs 目录, 解压libSmartPlayerSDK.zip.
  • 编译时找不到 libSmartPublisherSDK.a 时,请先到 SmartiOSPublisher/SmartiOSPublisher/libs 目录, 解压libSmartPublisherSDK.zip.
  • iOS 需真机调试
  • 由于我们域名调整,原推送、播放 demo里面的baseURL “rtmp://daiulive.com” 调整为 "rtmp://player.daniulive.com",各位用我们server测试时,请注意调整,原域名映射到刚上线的大牛直播网站 www.daniulive.com
  • 未授权版本,限制app-name,如果需要集成到自己工程里面调试,可以用以下名字:
android推送端:SmartPublisherSDKDemo
android后台Service推送:SmartServicePublisherSDKDemo
android播放器:SmartPlayerSDKDemo
iOS推送端:SmartiOSPublisher
iOS播放器:SmartiOSPlayer
  • 集成到自己工程,如何改名字(以推送端为例):
android:strings.xml:
<string name="app_name">SmartPublisherSDKDemo</string>
iOS:Info.plist-->右键Open As-->Source Code,添加或者编辑
<key>CFBundleName</key>	
<string>SmartiOSPublisher</string>

获取更多信息

商务合作:QQ:89030985 点我在线商务咨询

技术支持:QQ: 2679481035 点我在线技术咨询

QQ群(大牛直播技术交流群1):499687479

QQ交流群

QQ群(大牛直播技术交流群2 精英群):294891451

QQ交流群

想了解更多信息,点击 大牛直播十万个为什么