一、背景

为满足内网无纸化/电子教室等内网超低延迟需求,避免让用户配置单独的服务器,我们研发了轻量级RTSP服务开发包。

单播不再赘述,这里重点介绍下我们的组播技术方案:

组播解决的主要痛点是服务器部署和带宽占用问题,一般来说,内网电子教室/无纸化/实时同屏场景用RTMP推送+RTMP服务器,然后其他端从服务器拉取RTMP流,这个方案的劣势在于,如果单独部署服务器,需要额外的机器,增加了成本开销,如果教师端机器作为服务器,网络和机器性能双重压力下,负荷过重。

通过组播技术方案,只要网络设备支持组播组网,轻松实现多并发的同屏/摄像头直播场景。

但是,组播的劣势在于,高码率的无线网络环境体验很差,也就是说,如果是Windows或者Android平台推送,Android无线PAD播放,真正好用的,还是RTMP推拉流技术解决方案。

二、基于组播的技术方案

1. 设置需要共享的视音频,设置码率后,点击“配置查看Rtsp服务”,选中“组播”和“SSM”选项,点击启动服务即可:

2. 确定后,返回主界面,点击“发布Rtsp流”,拷贝回调的RTSP url,用我们的SmartPlayer.exe或移动端播放器,播放即可。

注意:需要内网网络设备支持组播功能。

经长时间测试,毫秒级延迟,完全满足内网同屏技术指标。

内置RTSP服务核心接口(以Windows C++ 接口为例:nt_smart_publisher_sdk.h):

     /*+++rtsp server操作接口+++*//** 创建一个rtsp server * pRtspServerHandle: rtsp server 句柄* reserve:保留参数传0* 成功返回 NT_ERC_OK*/NT_UINT32(NT_API *OpenRtspServer)(NT_PHANDLE pRtspServerHandle, NT_INT32 reserve);/** 设置rtsp server 监听端口, 在StartRtspServer之前必须要设置端口* rtsp_server_handle: rtsp server 句柄* port: 端口号,可以设置为554,或者是1024到65535之间,其他值返回失败* 成功返回 NT_ERC_OK*/NT_UINT32(NT_API *SetRtspServerPort)(NT_HANDLE rtsp_server_handle, NT_INT32 port);/** 设置rtsp server 鉴权用户名和密码, 这个可以不设置,只有需要鉴权的再设置* rtsp_server_handle: rtsp server 句柄* user_name: 用户名,必须是英文* password:密码,必须是英文* 成功返回 NT_ERC_OK*/NT_UINT32(NT_API *SetRtspServerUserNamePassword)(NT_HANDLE rtsp_server_handle, NT_PCSTR user_name, NT_PCSTR password);/** 设置rtsp server 组播, 如果server设置成组播就不能单播,组播和单播只能选一个, 一般来说单播网络设备支持的好,wifi组播很多路由器不支持* rtsp_server_handle: rtsp server 句柄* is_multicast: 是否组播, 1为组播, 0为单播, 其他值接口返回错误, 默认是单播* 成功返回 NT_ERC_OK*/NT_UINT32(NT_API *SetRtspServerMulticast)(NT_HANDLE rtsp_server_handle, NT_INT32 is_multicast);/** 设置rtsp server 组播组播地址 * rtsp_server_handle: rtsp server 句柄* multicast_address: 组播地址* 如果设置的不是组播地址, 将返回错误* 组播地址范围说明: [224.0.0.0, 224.0.0.255] 为组播预留地址, 不能设置. 可设置范围为[224.0.1.0, 239.255.255.255], 其中SSM地址范围为[232.0.0.0, 232.255.255.255]* 成功返回 NT_ERC_OK*/NT_UINT32(NT_API *SetRtspServerMulticastAddress)(NT_HANDLE rtsp_server_handle, NT_PCSTR multicast_address);/** 获取rtsp server当前的客户会话数, 这个接口必须在StartRtspServer之后再调用* rtsp_server_handle: rtsp server 句柄* session_numbers: 会话数* 成功返回 NT_ERC_OK*/NT_UINT32(NT_API *GetRtspServerClientSessionNumbers)(NT_HANDLE rtsp_server_handle, NT_INT32* session_numbers);/** 启动rtsp server* rtsp_server_handle: rtsp server 句柄* reserve: 保留参数传0* 成功返回 NT_ERC_OK*/NT_UINT32(NT_API *StartRtspServer)(NT_HANDLE rtsp_server_handle, NT_INT32 reserve);/** 停止rtsp server* rtsp_server_handle: rtsp server 句柄* 成功返回 NT_ERC_OK*/NT_UINT32(NT_API *StopRtspServer)(NT_HANDLE rtsp_server_handle);/** 关闭rtsp server* 调用这个接口之后rtsp_server_handle失效,* 成功返回 NT_ERC_OK*/NT_UINT32 (NT_API *CloseRtspServer)(NT_HANDLE rtsp_server_handle);/*---rtsp server操作接口---*/

三、基于RTMP的技术方案

注意事项

1. 组网:无线组网,需要好的AP模块才能撑得住大的并发流量,推送端到AP,最好是有线网链接;

2. 服务器部署:如果Windows平台,可以考虑NGINX,如果是Linux,可以考虑SRS或NGINX,服务器可以和Windows平台的教师机部署在一台机器;

3. 教师端:如教师有移动的PAD,可以直接推到RTMP服务器,然后共享出去;

4. 学生端:直接拉取RTMP流播放即可;

5. 教师和学生互动:学生端如需作为示范案例,屏幕数据共享给其他同学,只需请求同屏,数据反推到RTMP服务器,其他学生查看即可。

6. 扩展监控:如果需要更进一步的技术方案,如教师端想监控学生端的屏幕情况,可以有两种方案,如学生端直接推RTMP过来,或者,学生端启动内置RTSP服务,教师端想看的时候,随时看即可(亦可轮询播放)。

RTMP延迟大,这种说法,相对片面,好多是由于推拉流模块本身问题导致(如果服务器系NIGNX或SRS,基本可排除服务器转发导致的大时延,不要再赖服务器了),从我们官方和实际场景来看,RTMP整体技术方案,延迟可做到1秒内,毫秒级。

面向内网无纸化会议/智慧教室/实时同屏,组播还是RTMP?相关推荐

  1. 内网无纸化会议/智慧教室实时同屏RTSP组播技术方案思考

    内网环境下,为了满足内网无纸化/电子教室等内网超低延迟需求,避免让用户配置单独的服务器,好多开发者希望有RTSP的技术方案,用于小并发场景,特别是在组网环境好的有线环境下,使用RTSP服务配合组播,是 ...

  2. Android对接实现内网无纸化会议|智慧教室|实时同屏功能

    背景 本文主要讲的是基于Android平台实现RTMP的技术方案设计,基础架构图如下: 组网注意事项 1. 组网:无线组网,需要好的AP模块才能撑得住大的并发流量,推送端到AP,最好是有线网链接: 2 ...

  3. 2022-10-31 网工进阶(三十三) IP组播-流量模型、组播概念、组播报文结构、组播地址与MAC、组播网络架构、组播服务模型、组播数据转发原理(RPF检查、组播分发树、组播协议介绍)

    IP组播概念 流量模型 网络中存在各种各样的业务,从流量模型看一般可以将业务分为两类: 点到点业务:比如FTP,WEB业务,此类业务主要特点是不同的用户有不同的需求,比如用户A需要下载资料A,用户B需 ...

  4. 无纸化会议私有化部署需要哪些设备?

    无纸化会议私有化部署,对于军工,政企,金融,法院等高层研讨会是有一定必要性.内网无纸化会议系统保密性好,效率高.连通宝内网无纸化会议系统服务器既可以部署至单位内网也可以放到互联网上,是软硬一体的无纸化 ...

  5. 如何实现内网会议直播与内网培训直播

    内网会议直播一般分为内网视频会议直播与内网培训直播,适用于分支机构较多,安全性和保密性要求高的银行.保险.政府.大型集团等. RHUB内网会议直播优势 一.佳美迅内网会议直播系统支持双机备份功能,任何 ...

  6. 无线投屏(智慧教室)

    大家好,我是小杜,打工人又开始了这一周的"搬砖"了.周末两天很好的"休息"后,今天浑身充满了干劲,都可以打死一头"牛",从今天开始就要参与公 ...

  7. 基于智慧教室|无纸化会议的新选择:RTMP解决方案

    基于智慧教室或是会议的技术方案,一般主要是涉及到屏幕采集和推送,整体技术方案这块,一般建议走RTMP,说到这里,好人开发者提到,市面上也有RTSP的技术方案,甚至RTSP组播方案,这块,大牛直播SDK ...

  8. 科技楼里面有三间计算机教室,央广网:三间“样板房”迎首批“验收”上海理工大学打造高颜值智慧教室...

    央广网上海10月14日消息(记者唐奇云)移动式轨道智能插座,吸音面板背景墙,超静音地板,新风系统,零甲醛磁性书写墙,实时录播系统,交互大屏与远程物联设备--近日,上海理工大学内三间功能各异的" ...

  9. 星外主机管理系统可以装到内网_智慧消防管理系统_消防物联网远程管理平台...

    系统概述 智慧城市消防安全管理平台将各建筑物内独立的火灾自动报警系统.电气火灾监控系统.消防水系统.视频监控系统.无源消防设施巡查系统等联网,并综合运用地理信息系统信息技术,在监控中心内对联网单位消防 ...

最新文章

  1. python绘图subplot绘制5幅图:以2行绘制,首行3幅图,次行2幅图居中(内含绘制3幅图简单版)
  2. FT到底值多少钱——再议Fcoin机制及估值模型
  3. centos安装python3小白_在Linux CentOS7 下安装 python3
  4. 【APP接口开发】常用HTTP响应头状态码详解
  5. 基于JAVA+SpringMVC+Mybatis+MYSQL的共享单车管理系统
  6. python自动化办公模块有哪些-python常见的命令行交互自动化模块有哪些
  7. centos下配置LNMP环境(源码安装)
  8. 《乔布斯的魔力演讲》书摘
  9. js实现全国省份下拉
  10. 数据库中如何求候选码
  11. 2018全球APP收入排行榜:腾讯全球第一!
  12. C# Form默认的确认和取消按钮
  13. android卡在gradle,Android Studio打开新项目卡在Gradle的问题
  14. forEach、for…in、 for…of 的区别
  15. 【Scikit-Learn 中文文档】40 数据集加载工具 - 用户指南 | ApacheCN
  16. Linux 使用Nginx 拦截屏蔽异常访问IP并加入黑名单
  17. “名媛”不只值一个爱马仕包的钱
  18. SPM软件的参考资料链接
  19. 植物大战僵尸之加钱外挂..
  20. iOS 10适配须知

热门文章

  1. 滑动关机代码bat_BAT面试算法进阶--(2) 无重复字符的最长子串(滑动法优化+ASCII码法)...
  2. AD19 add pins to nets错误_为什么我认为Rust的Result错误处理方式不如Exception
  3. vue导入静态js_如何在vue js中加载静态图像
  4. 威纶通触摸屏与mysql_威纶触摸屏应用实例 以及威纶通触摸屏配方组合
  5. xml分析错误:注释未终止_错误:C中的未终止注释(无效的注释块) 常见的C程序错误...
  6. c++ 工厂模式_大连中山融雪剂工厂自营工厂批发
  7. android放微信@功能,Android仿微信语音消息的录制和播放功能
  8. appweb ejs_具有快速路线的EJS
  9. eclipse搭建maven开发环境
  10. LeetCode题库整理【Java】—— 1两数之和