大牛直播 www.daniulive.com
专注、极致、智慧,国内外为数不多不依赖开源框架、跨平台(windows/android/iOS)、公网推送(支持rtmp)-播放(支持rtmp/rtsp)业界真正靠谱的超低延迟。
适用于秀场直播、媒体移动直播、应急指挥调度(针对保险、城管、交警、消防、公安等职能管理部门的单兵应急执法系统)、可视化购物、远程专家诊断、可视化巡检、(如电信/电力线路/铁路沿线/水利设施/油田/消防设施巡检)、移动视频安防监控,企业内训、金融在线直播室、在线教育、微信直播、监控对接、活动现场直播、游戏直播等场景。
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推流端-音频处理]多路混音、回音消除、噪音抑制、自动增益、VAD检测模块;
- [Windows推流端-导播]rtsp转rtmp,多路rtmp/rtsp流拉取,和屏幕、摄像头、本地音频实时导播模块;
- [Windows推流端]rtmp推送模块(支持同时推多路url);
- [Windows推流端]实时录像模块;
- [Window播放器]rtmp/rtsp超低延迟直播播放器;
- [Window互动]Windows一对一互动(可windows与windows/android互动);
- [Android推流端]Android屏幕、摄像头推流/录像模块;
- [Android推流端]Android回音消除、噪音抑制、自动增益、VAD检测模块;
- [Android播放器]rtmp/rtsp超低延迟直播播放器;
- [Android互动]Android一对一互动(可android与windows/android互动);
- [iOS推流端]iOS摄像头推流/录像;
- [iOS播放器]rtmp/rtsp超低延迟直播播放器;
- [Server]SmarterStreamServer。
本地下载
很多开发者反应,由于项目庞大,github下载整个工程很慢,我们已经把相关demo文件和使用说明,全部上传到QQ群共享:
或者直接从私有服务器下载:
- SDK调用说明下载
- SmarterStreaming产品手册下载
- Windows推送、播放、合成、导播Demo本地下载
- android推送、播放、一对一互动SDK本地下载(eclipse工程)
- android推送、播放SDK本地下载(android studio工程)
- iOS推送、播放SDK本地下载
- Android美颜demo下载
- Android后台推送摄像头/屏幕数据demo下载
NOTE: android平台,eclipse工程(android推送、播放SDK本地下载(eclipse工程))的SDK每次release是确保同步更新的,android其他相关demo使用的SDK,请以eclipse工程内提供的SDK为准。
大牛直播SDK集成和调用说明
===========================
windows屏幕截取/摄像头推送录像
- [屏幕/摄像头]支持帧率、关键帧间隔、码率、编码profile、编码速度等设置;
- [屏幕]支持屏幕裁剪,根据帧率和推送分辨率,自动推荐码流;
- [摄像头]支持摄像头选择、分辨率设置、帧率设置;
- [摄像头和屏幕实时切换]支持推送过程中,摄像头和屏幕互相切换,单画面显示摄像头或屏幕;
- [摄像头叠加到屏幕] 支持摄像头按照设置坐标,叠加到屏幕指定位置,并支持实时关闭叠加层;
- [屏幕叠加到摄像头] 支持屏幕按照设定坐标,叠加到摄像头指定位置,并支持实时关闭叠加层;
- [实时水印]支持动态水印设置;
- [透明度]可以设置透明度处理;
- [音频]采集音频设备,
- [音频]采集扬声器;
- [音频]支持扬声器和麦克风音频混音输出(同时选择“采集扬声器”和“采集麦克风”);
- [音频]支持音频“端点检测(VAD)”,自适应码流,音频码流更节省;
- [音频]支持回音消除功能(一对一功能:可通过在两台windows机器同时开启daniulive的推送和播放端demo,相互推送播放测试);
- [音频]支持噪音抑制功能;
- [音频]支持自动增益控制;
- [音频]支持Speex推送;
- [音频]Speex编码质量设置;
- [音频]推送过程中实时静音/取消静音;
- [音视频]支持纯音频、纯视频、音视频推送;
- [对接服务器]完美支持自建服务器或CDN;
- [录像]支持“边推送边录像”、“先推送、后录像”、“先录像,后推送;
- [录像]支持设置录像文件前缀、录像文件大小,录像文件增加日期、时间;
Windows导播平台或多路合成、混音推流/录像
对应“SmartMixStreamDemo.exe” 点击下载
- 支持“windows屏幕截取/摄像头推送录像”模块所有功能;
- 支持拉取rtmp流;
- 支持拉取rtsp流;
- 支持本地采集到屏幕或摄像头数据,和远程拉取得rtmp或rtsp流做合成、混音输出;
- 支持导播过程中,随时切断某一路音视频或音频;
- 支持rtsp数据转rtmp推送出去;
- 音频混音同时选择“采集麦克风”+“采集扬声器”。
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+版本);
- android支持实时传递远端PCM数据;
- 支持gop间隔、帧率、bierate、android编码profile和编码速度设置;
- 支持推送端镜像设置;
- [音频]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;
- android支持回调audio数据到上层(供二次处理之用);
- 支持自定义播放布局;
- 音视频多种render机制;
- 支持播放过程中,'实时静音/取消静音';
- 支持播放url快速切换;
- android/iOS支持软硬解码,业内真正靠谱的超低延迟、低资源占用播放rtsp/rtmp 1080p+。
windows/android一对一互动
- [Windows]推送过程中,选择“回音消除”;
- [android] 可以边推送边播放,demo请参见 https://github.com/daniulive/SmarterStreaming/tree/master/SourceCode/Android/SmartEchoCancellation
微信播放
- 支持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),并同步保存采集端数据;
- 支持鉴权认证、各种信息展示;
- 点播服务器:满足录像文件点播需求。
1. Windows播放器:
2. Windows播放导播合成效果:
3. Android播放器:
4. iOS播放器:
5. 海思板子(4核低端版,同时播放4路720P rtmp流):
1. windows推送:
2. windows推送/实时导播:
3. android边推送边录像(支持纯音频推送和播放):
4. iOS边推送边录像(支持纯音频推送和播放):
5. iOS录像管理:
1. 推流:
1.1 Windows推送端:
超低延迟、可直接推url到rtmp server的windows桌面/摄像头采集SDK(为防止未经许可的第三方利用本软件从事恶意盗录等非法活动,未经授权版本,每次只允许实时推送1小时(1小时后,如需继续试用,请关闭应用程序再重新打开),请在法律许可范围内使用本软件),也可能是目前市面上最好用的PC端音视频推送SDK。点击下载
- 设置帧率和关键帧间隔(关键帧间隔可以是帧率的倍数);
- 如需屏幕裁剪,输入屏幕裁剪坐标和裁剪宽高信息;
- [屏幕裁剪] 推送之前,点击“选取屏幕区域”,可弹出选择框,双击即可完成区域选择;
- [屏幕裁剪] 推送过程中,可以点击“移动屏幕区域”,实时设置推送的屏幕区域;
- [码流获取] 点击“获取默认值”,拿到系统推荐的平均码率和最高码率;
- [摄像头] 如需推送摄像头数据,从摄像头列表选择设备,然后设置分辨率和推送帧率;
- [摄像头和屏幕实时切换]支持推送过程中,摄像头和屏幕互相切换,单画面显示摄像头或屏幕;
- [摄像头叠加到屏幕] 支持摄像头按照设置坐标,叠加到屏幕指定位置,并支持实时关闭叠加层;
- [屏幕叠加到摄像头] 支持屏幕按照设定坐标,叠加到摄像头指定位置,并支持实时关闭叠加层;
- [实时水印]"视频采集设置"-"屏幕和摄像头互相切换"行,选择“添加水印”,然后,在弹出框,选择水印路径和设置坐标,点击“确定”即可,推送过程中,如取消水印,点击“停止水印”,如再次开启,点击“启用水印”;
- [透明度]可以设置透明度处理;
- [音频选择] 采集麦克风:实时获取麦克风数据;
- [音频选择] 采集扬声器:实时获取扬声器数据,比如,无杂音的采集系统播放的音乐;
- [音频混音]同时选择“采集扬声器”和“采集麦克风”),可支持背景音和麦克风声音混音输出;
- [静音检测]支持音频“端点检测(VAD)”,自适应码流,音频码流更节省(一般端点检测和噪音抑制组合使用);
- [音频控制] 推送过程中,可以选择“静音”或取消静音;
- [音频控制] 如果不选择桌面或摄像头,可支持纯音频推送;
- [音频控制] 设置“回音消除”,两台Windows端,分别启动推送和播放端,相互播放对方的url;
- [音频控制] 设置“噪音抑制”;
- [音频控制] 设置“自动增益控制”;
- [音频控制] 默认采用AAC编码,如需推Speex,选择“使用Speex编码”;
- [音频控制] 设置Speex编码质量;
- [视频控制] 如果不选择音频,可支持纯视频推送;
- 设置RTMP推送url;
- 点击“推送”,如推到daniulive的服务器,系统会自动分配播放url,请按生成的播放地址,用大牛播放器播放;
- 点击“停止”,关闭推送;
- [录像] 设置录像目录;
- [录像] 设置录像文件前缀、录像文件大小,录像文件增加日期、时间;
- [录像] 点击“录像”或“停止录像”;
1.2.1 Android推流:
- 安装SmartPublisher;
- [推流类型] 可选择推“纯音频”、“纯视频”、“音视频”;
- [水印类型] 可选择“图片水印”、“文字水印”、“全部水印”、“不加水印”;
- [分辨率] 可选择高、中、低、超高分辨率
- [录像] 可选择“本地录像”或不录像,如选择“本地录像”,支持边推流边录像;
- [录像管理] 可进入录像页面,比如,进行录像回放、文件管理;
- [静音] 支持推送过程中,主播端实时静音或取消静音;
- [镜像] 默认关闭,如需开启,点击开镜像;
- [硬编码/软编码] 默认软编码,如需硬编码,系统自动检测是否支持,如支持,优先采用硬编码;
- [输入推流URL] 可自定义推送url,如不输入,默认自动生成url,推送到daniulive服务器;
- [开始推流] 点击后,推送数据到流媒体服务器,如需停止,点击“停止推流”;
- [前后摄像头切换] 推流过程中,可点击前后摄像头切换图标,前后采集源。
1.2.2 Android后台推送摄像头/屏幕数据]
- 安装SmartServicePublisherSDKDemo;
- [推送类型] 可选“推送屏幕”或“推送摄像头”;
- [推送屏幕] 分辨率分“屏幕标准分辨率”和“屏幕低分辨率”;
- [推送摄像头] 分“摄像头高分辨率”、“摄像头中分辨率”、“摄像头低分辨率”、“摄像头超高分辨率”;
- [录像功能] 默认“本地不录像”,如需录像,请选择下来菜单“本地录像”;
- [录像管理] 针对录像数据的回放、删除等操作;
- [前后置摄像头选择] 默认后置摄像头,如需采集前置摄像头,请点击按钮,切换前后摄像头;
- [输入推流URL] 默认我们会自动随机生成推送到我们server的url,如需推送到自己server,请自行设置,并点击“确认”生效;
- [软硬编码切换] 默认软编码,如需硬编码,请点击此按钮选择;
- [推屏权限检测] 由于android屏幕采集需要android 5.0以上版本,如推送屏幕数据,需要先检测推屏权限,如检测通过,才可以推流;
- [开始推流] 推送数据到server端, 点击“开始推流”后,可切换到后台,采集屏幕或者摄像头数据,如需停止推送,点级"停止推送"按钮就可,NOTE: 开始推送后,后台会进入一直推流状态,测试结束后,记得点击“停止推送”。
1.3 iOS推流:
- 安装SmartPublisher;
- [推送url设置] 在输入框输入推送的url(rtmp相关url),如不输入,默认推送到daniulive server;
- [分辨率] 可选择高、中、低、超高分辨率;
- [推流类型] 可选择推“纯音频”、“音视频”、“纯视频”;
- [美颜] iOS推送端支持推送过程中,美颜设置,也可选择不美颜;
- [录像] 可选择“边推边录”或不录像,如选择“边推边录”,支持边推流边录像;
- [进入推流页面] 1~5步骤完成后,可进入推流页面;
- [进入回放页面] 可进入录像页面,比如,进行录像回放、文件管理;
- [静音] 支持推送过程中,主播端实时静音或取消静音;
- [镜像] 默认关闭,如需开启,点击开镜像;
- [前后摄像头切换] 推流过程中,可点击前后摄像头切换图标,前后采集源;
- [推流] 点击后,推送数据到流媒体服务器,如需停止,点击“停止”;
- [返回] 未推流状态,返回上层设置页面。
1.4 iOS端边推流边录像:
- [录像相关]设置推流过程中,是否录像(不录像 边推边录);
- [录像相关]如有边推送边录像,直播结束后,点击“进入回放页面”,可显示录像文件名称,点击回放,可进行本地录像回放;
- [录像相关]点击“删除全部文件”,可删除本地录制的所有文件;
- [录像相关]回放过程中,点击“暂停”,进入播放暂停状态,点击“恢复”继续播放。
2 播放:
2.1 Windows播放器:
- 打开SmartPlayer.exe;
- 根据提示,在RTMP/RTSP播放地址处,输入需要播放的url,如“rtmp://live.hkstv.hk.lxdns.com/live/hks”;
- 在播放之前,可以设置缓冲时间(单位:毫秒),支持0~10000ms设置;
- 如果播放rtsp url,可以设置使用TCP/UDP播放;
- 播放过程中,可选择实时静音/取消静音。
2.2 android播放器
- 安装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播放器
- 安装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为准)。
[上层源码目录]
-
android推流 SmartPublisher https://github.com/daniulive/SmarterStreaming/tree/master/SourceCode/Android/SmartPublisher
-
android推流 SmartServicePublisher(后台service推送摄像头/屏幕) https://github.com/daniulive/SmarterStreaming/tree/master/SourceCode/Android/SmartServicePublisher
-
android播放器 SmartPlayer: https://github.com/daniulive/SmarterStreaming/tree/master/SourceCode/Android/SmartPlayer
-
iOS推流 SmartPublisher: https://github.com/daniulive/SmarterStreaming/tree/master/SourceCode/IOS/SmartiOSPublisher
-
iOS播放器 SmartPlayer: https://github.com/daniulive/SmarterStreaming/tree/master/SourceCode/IOS/SmartiOSPlayer
[编译注意事项]
- 编译时找不到 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一对一互动:SmartEchoCancellation
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群(大牛直播技术交流群1):499687479
QQ群(大牛直播技术交流群2 精英群):294891451
想了解更多信息,点击 大牛直播十万个为什么