# SmarterStreaming **Repository Path**: sip-7087213/SmarterStreaming ## Basic Information - **Project Name**: SmarterStreaming - **Description**: 另外一个开源的更好的直播方案 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 6 - **Created**: 2021-09-14 - **Last Updated**: 2021-09-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README **大牛直播 www.daniulive.com** 国内外为数不多不依赖开源框架、不依赖CDN实现秒开、公网毫秒级延迟、跨平台(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](https://github.com/daniulive/SmarterStreaming/wiki/English-version); ***For commercial support, please contact 89030985@qq.com.*** **SmarterStreaming SDK可供个人学习之用,企业及商用需要经过授权**; =========================== **模块概览** - [x] Windows屏幕、摄像头合成或单个推流/录像; - [x] Windows rtmp/rtsp播放器; - [x] Android屏幕、摄像头推流/录像; - [x] Android rtmp/rtsp播放器; - [x] iOS摄像头推流/录像; - [x] iOS rtmp/rtsp播放器; - [x] SmarterStreamServer. **本地下载** 很多开发者反应,由于项目庞大,github下载整个工程很慢,我们已经把相关demo文件和使用说明,全部上传到QQ群共享: - [x] 大牛直播技术交流群1: [499687479](http:////shang.qq.com/wpa/qunwpa?idkey=e7686f68a39bf1b95dc2ac3b775867efc7d3cbaf3596daf6e12bc1df21e1dc59) - [x] 大牛直播技术交流群2: [294891451](http://shang.qq.com/wpa/qunwpa?idkey=476a9cc05db0b2924530ccbbf4fae78fa485d39418ef79c8ab71b24a8fee8a48) 或者直接从私有服务器下载: - [x] [**SDK调用说明下载**](http://218.25.89.108:8080/files/daniulive/SmarterStreaming%20SDK%E8%B0%83%E7%94%A8%E8%AF%B4%E6%98%8E1.8.pdf) - [x] [**SmarterStreaming产品手册下载**](http://218.25.89.108:8080/files/daniulive/SmarterStreaming产品手册.pdf) - [x] [Windows推送、播放Demo本地下载](http://218.25.89.108:8080/files/daniulive/windows-推送-播放版-2017-03-13.zip) - [x] [android推送、播放SDK本地下载(eclipse工程)](http://218.25.89.108:8080/files/daniulive/Daniulive-Android-SDK-2017-03-06.zip) - [x] [android推送、播放SDK本地下载(android studio工程)](http://218.25.89.108:8080/files/daniulive/Daniulive-AndroidStudio-SDK-2017-03-09.zip) - [x] [iOS推送、播放SDK本地下载](http://218.25.89.108:8080/files/daniulive/Daniulive-iOS-SDK-2017-03-01.zip) - [x] [Android美颜demo下载](http://player.daniulive.com:8080/files/daniulive/Daniulive-Android-Beauty-SmartPublisher-20170123.zip) - [x] [Android后台推送摄像头/屏幕数据demo下载](http://218.25.89.108:8080/files/daniulive/SmartServicePublisher.zip) =========================== # 功能支持 **windows屏幕截取/摄像头推送录像** - [x] [屏幕/摄像头]支持帧率、关键帧间隔、码率等设置; - [x] [屏幕]支持屏幕裁剪,根据帧率和推送分辨率,自动推荐码流; - [x] [摄像头]支持摄像头选择、分辨率设置、帧率设置; - [x] [**摄像头和屏幕实时切换**]支持推送过程中,摄像头和屏幕互相切换,单画面显示摄像头或屏幕; - [x] [**摄像头叠加到屏幕**] 支持摄像头按照设置坐标,叠加到屏幕指定位置,并支持实时关闭叠加层; - [x] [**屏幕叠加到摄像头**] 支持屏幕按照设定坐标,叠加到摄像头指定位置,并支持实时关闭叠加层; - [x] [透明度]可以设置透明度处理; - [x] [音频]采集音频设备, - [x] [音频]采集扬声器; - [x] [音频]推送过程中实时静音/取消静音; - [x] [音视频]支持纯音频、纯视频、音视频推送; - [x] [对接服务器]完美支持自建服务器或CDN; - [x] [录像]支持“边推送边录像”、“先推送、后录像”、“先录像,后推送; - [x] [录像]支持设置录像文件前缀、录像文件大小,录像文件增加日期、时间。 **windows播放器** - [x] 基于C C++开发的低延迟低资源占用的windows cs架构的播放器(exe),支持RTSP/RTMP协议封装; - [x] 基于flash控件开发的web播放器。 **android推流/iOS推流** - [x] 多分辨率选择; - [x] 支持横竖屏推送; - [x] `音视频`推送、`纯音频`推送、`纯视频`推送; - [x] 支持`边采集、边录像`; - [x] 支持rtmp推送 live|record模式设置; - [x] 网络中断,本地录像继续,保证数据的完整性; - [x] 支持本地录像文件回放、处理; - [x] 采集过程中,前后摄像头切换; - [x] 提供编码前(YUV/RGB)、编码后音视频(H.264/AAC)接口对接,方便AR/VR设备调用。 - [x] android/iOS自带美颜功能; - [x] android完美支持`文字水印、实时时间水印和图片水印`; - [x] 支持`推送端实时静音/取消静音`; - [x] 支持软硬编码自适应; - [x] android支持后台service推送摄像头或屏幕(推送屏幕需要5.0+版本); - [x] 完美支持各个厂家CDN。 **windows播放器/android播放器/iOS播放器** - [x] 超低延迟的rtmp播放器; - [x] 超低延迟的rtsp播放器; - [x] 完美支持多实例播放(同时播放多路stream,可同时支持rtmp、rtsp stream播放); - [x] 支持RTSP TCP/UDP模式切换; - [x] 支持播放端,buffer设置; - [x] 支持自定义播放布局; - [x] 音视频多种render机制; - [x] 支持播放过程中,'实时静音/取消静音'; - [x] android/iOS支持软硬解码,业内真正靠谱的超低延迟、低资源占用播放rtsp/rtmp 1080p+。 **微信播放** - [x] 支持android设备rtmp/hls播放; - [x] 支持iOS设备hls播放; - [x] 支持公众号集成。 公网环境下,**毫秒级延迟**,支持云服务部署、各类厂商的CDN产品对接; 支持**边推送边录像**(如执法记录或移动单兵场景),网络中断仍可继续录制,结束后可本地回放,并可对接第三方云服务,把录像数据保存到云端服务器; 支持跨平台**纯音频、纯视频、音视频推送**、**纯音频、纯视频、音视频播放**、**纯音频、纯视频、音视频实时存储**。 **[基于RTMP、RTSP安防摄像机、编码器、智能眼镜平台对接]** 无论rtsp、rtmp,我们提供高稳定性、超低延迟的跨平台(Windows/android/iOS)综合视频监控系统对接。 **[多对一实时通讯]** 适用于应急指挥、公安巡检等,以移动单兵设备为采集载体,实时上传音视频数据到指挥中心,并实现指挥中心对现场的实时指导。 您可以用网页进行播放测试:http://218.25.89.108:8080/files/SmartPlayer/SmartPlayer.html **[SmarterStreamServer]** - [x] 高并发,分布式部署,支持rtmp摄像机和采集设备完美对接,提供代建服务器或整套软硬件服务器方案; - [x] 高性能的流媒体服务器,标准rtmp输入,多种方式流输出(rtmp/hls),并同步保存采集端数据; - [x] 支持鉴权认证、各种信息展示; - [x] 点播服务器:满足录像文件点播需求。 ## 公网环境下推流、直播效果展示 ## 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推送端:** Beta公测版:超低延迟、可直接推url到rtmp server的windows桌面/摄像头采集的SDK(为防止未经许可的第三方利用本软件从事恶意盗录等非法活动,未经授权版本,每次只允许实时推送1小时(1小时后,如需继续试用,请关闭应用程序再重新打开),**请在法律许可范围内使用本软件**),也可能是目前市面上最好用的PC端屏幕推送软件。[点击下载](http://218.25.89.108:8080/files/daniulive/windows-推送-播放版-2017-02-28.zip) 1. 设置帧率和关键帧间隔(关键帧间隔可以是帧率的倍数); * 如需屏幕裁剪,输入屏幕裁剪坐标和裁剪宽高信息; * [屏幕裁剪] 推送之前,点击“选取屏幕区域”,可弹出选择框,双击即可完成区域选择; * [屏幕裁剪] 推送过程中,可以点击“移动屏幕区域”,实时设置推送的屏幕区域; * [码流获取] 点击“获取默认值”,拿到系统推荐的平均码率和最高码率; * [摄像头] 如需推送摄像头数据,从摄像头列表选择设备,然后设置分辨率和推送帧率; * [**摄像头和屏幕实时切换**]支持推送过程中,摄像头和屏幕互相切换,单画面显示摄像头或屏幕; * [**摄像头叠加到屏幕**] 支持摄像头按照设置坐标,叠加到屏幕指定位置,并支持实时关闭叠加层; * [**屏幕叠加到摄像头**] 支持屏幕按照设定坐标,叠加到摄像头指定位置,并支持实时关闭叠加层; * [透明度]可以设置透明度处理; * [音频选择] 采集麦克风:实时获取麦克风数据; * [音频选择] 采集扬声器:实时获取扬声器数据,比如,无杂音的采集系统播放的音乐; * [音频控制] 推送过程中,可以选择“静音”或取消静音; * [音频控制] 如果不选择桌面或摄像头,可支持纯音频推送; * [视频控制] 如果不选择音频,可支持纯视频推送; * 设置RTMP推送url; * 点击“推送”,如推到daniulive的服务器,系统会自动分配播放url,请按生成的播放地址,用大牛播放器播放; * 点击“停止”,关闭推送; * [录像] 设置录像目录; * [录像] 设置录像文件前缀、录像文件大小,录像文件增加日期、时间; * [录像] 点击“录像”或“停止录像”; **1.2.1 Android推流:** 1. 安装SmartPublisher; * [推流类型] 可选择推“纯音频”、“纯视频”、“音视频”; * [水印类型] 可选择“图片水印”、“文字水印”、“全部水印”、“不加水印”; * [分辨率] 可选择高、中、低、超高分辨率 * [录像] 可选择“本地录像”或不录像,如选择“本地录像”,支持边推流边录像; * [录像管理] 可进入录像页面,比如,进行录像回放、文件管理; * [静音] 支持推送过程中,主播端实时静音或取消静音; * [硬编码/软编码] 默认软编码,如需硬编码,系统自动检测是否支持,如支持,优先采用硬编码; * [输入推流URL] 可自定义推送url,如不输入,默认自动生成url,推送到daniulive服务器; * [开始推流] 点击后,推送数据到流媒体服务器,如需停止,点击“停止推流”; * [前后摄像头切换] 推流过程中,可点击前后摄像头切换图标,前后采集源。 **1.2.2 Android后台推送摄像头/屏幕数据]** [点击下载](http://218.25.89.108:8080/files/daniulive/SmartServicePublisher.zip) 1. 安装SmartServicePublisherSDKDemo; * [推送类型] 可选“推送屏幕”或“推送摄像头”; * [推送屏幕] 分辨率分“屏幕标准分辨率”和“屏幕低分辨率”; * [推送摄像头] 分“摄像头高分辨率”、“摄像头中分辨率”、“摄像头低分辨率”、“摄像头超高分辨率”; * [录像功能] 默认“本地不录像”,如需录像,请选择下来菜单“本地录像”; * [录像管理] 针对录像数据的回放、删除等操作; * [前后置摄像头选择] 默认后置摄像头,如需采集前置摄像头,请点击按钮,切换前后摄像头; * [输入推流URL] 默认我们会自动随机生成推送到我们server的url,如需推送到自己server,请自行设置,并点击“确认”生效; * [软硬编码切换] 默认软编码,如需硬编码,请点击此按钮选择; * [推屏权限检测] 由于android屏幕采集需要android 5.0以上版本,如推送屏幕数据,需要先检测推屏权限,如检测通过,才可以推流; * [开始推流] 推送数据到server端, 点击“开始推流”后,可切换到后台,采集屏幕或者摄像头数据,如需停止推送,点级"停止推送"按钮就可,NOTE: 开始推送后,后台会进入一直推流状态,测试结束后,记得点击“停止推送”。 **1.3 iOS推流:** 1. 安装SmartPublisher; * [分辨率] 可选择高、中、低、超高分辨率; * [推流类型] 可选择推“纯音频”、“音视频”、“纯视频”; * [美颜] iOS推送端支持推送过程中,美颜设置,也可选择不美颜; * [录像] 可选择“边推边录”或不录像,如选择“边推边录”,支持边推流边录像; * [进入推流页面] 1~5步骤完成后,可进入推流页面; * [进入回放页面] 可进入录像页面,比如,进行录像回放、文件管理; * [静音] 支持推送过程中,主播端实时静音或取消静音; * [美颜] 支持几种常规美颜; * [前后摄像头切换] 推流过程中,可点击前后摄像头切换图标,前后采集源; * [推流] 点击后,推送数据到流媒体服务器,如需停止,点击“停止”; * [返回] 未推流状态,返回上层设置页面。 **1.4 iOS端边推流边录像:** 1. [录像相关]设置推流过程中,是否录像(不录像 边推边录); * [录像相关]如有边推送边录像,直播结束后,点击“进入回放页面”,可显示录像文件名称,点击回放,可进行本地录像回放; * [录像相关]点击“删除全部文件”,可删除本地录制的所有文件; * [录像相关]回放过程中,点击“暂停”,进入播放暂停状态,点击“恢复”继续播放。 **2 播放:** **2.1 Windows播放器:** [点击下载](http://218.25.89.108:8080/files/daniulive/windows-推送-播放版-2017-02-28.zip) 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] 进入系统后,在输入框输入“urlID”,stream后的部分(如“rtmp://218.25.89.108:1935/hls/stream123456”,那就输入“123456”),点击“进入播放页面”即可,停止的话,点击“返回”按钮,返回主页面,可重新选择其他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,播放过程中,可以实时静音/取消静音; * [软解码/硬解码]播放页面,默认会显示“当前软解码”,如需用硬解码,请点击此按钮,页面会显示“当前硬解码”,点击开始播放,会以页面当前显示的软解或硬解运行。 **2.3 iOS播放器** 1. 安装SmartPlayer.ipa; * [大牛直播url] 进入系统后,在输入框输入“urlID”,stream后的部分(如“rtmp://218.25.89.108:1935/hls/stream123456”,那就输入“123456”),点击“进入播放页面”即可,停止的话,点击“返回”按钮,返回主页面,可重新选择其他url播放; * [纯音频url] 如需播放纯音频,请选择“纯音频”选项,然后,输入urlID,进入播放状态; * [软解码/硬解码]如需用硬解码,请选择“硬解”,然后进入播放页面; * [rtsp播放] 如需测试rtsp url,请编译工程,设置全的url即可; * [rtsp播放] rtsp模式下,支持TCP/UDP模式切换; * [静音功能] 无论播放rtmp还是rtsp,播放过程中,可以实时静音/取消静音; * [返回] 播放另外一个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 给大家带来的不便,谢谢谅解。。 ## 获取更多信息 ## 商务合作:QQ:89030985 点我在线商务咨询 技术支持:QQ: 2679481035 点我在线技术咨询 QQ群(大牛直播技术交流群1):[499687479](http:////shang.qq.com/wpa/qunwpa?idkey=e7686f68a39bf1b95dc2ac3b775867efc7d3cbaf3596daf6e12bc1df21e1dc59) QQ交流群 QQ群(大牛直播技术交流群2 精英群):[294891451](http://shang.qq.com/wpa/qunwpa?idkey=476a9cc05db0b2924530ccbbf4fae78fa485d39418ef79c8ab71b24a8fee8a48) QQ交流群 想了解更多信息,点击 [大牛直播十万个为什么](https://github.com/daniulive/SmarterStreaming/wiki/%E5%A4%A7%E7%89%9B%E7%9B%B4%E6%92%AD%E5%8D%81%E4%B8%87%E4%B8%AA%E4%B8%BA%E4%BB%80%E4%B9%88)