美文网首页
多人实时应用层组播

多人实时应用层组播

作者: shuinan | 来源:发表于2020-01-07 10:25 被阅读0次

目标: 多人实时互动(多达数十到数百人)

•尽量减少服务器的资源(中心转发式的10%以下)

•音视频延迟控制在1s以内

•纯web、浏览器就可以聚会了

技术: 应用层组播

–利用webrtc的p2p data channel分发数据

(使用 simple-peer库)

–模糊分层、性能激励的p2p组网分发

–通过超级节点(服务器)提供传输保证

–通过socket.io和服务器传输控制信息

–利用webrtc的p2p data channel传递节点间的控制信息

开发中主要是视频的显示问题:

一开始使用了MediaStreamRecorder这个库来录制,但是播放就不太好控制,另外,这个库如果设置间隔小于1000ms,就出问题。  所以后来参考 webrtc samples中的MediaRecorder来录制,使用MediaSource Extension来播放。  播放中总是报告有问题,MediaSource播放第一段后就ended了,排除了数据、传输等问题,最后觉得是关键帧的问题。 

参考如下,两个链接:

https://blog.csdn.net/camike/article/details/82797768

MediaSource对象上有三个主要事件, sourceopen、sourceended、sourceclose。其中,sourceopen事件是在给video.src赋值之后触发;sourceended事件是在用户主动调用终止或者视频数据解析、播放错误时被触发;sourceclose事件是在SourceBuffer和MediaElement中无可用数据(一般是播放到视频末尾)时被触发。我们一般需要在给video.src赋值之后,监听sourceopen事件,以确保MediaSource和HTMLMediaElement已经完成绑定,并在此之后才开始进入数据处理流程。

下面这个说的更清楚:

https://blog.csdn.net/Vikanill/article/details/99213067  讲解了使用mse要注意的事项

最后总算是做出来了,不过离实用还有很多事情要做。

相关文章

  • 多人实时应用层组播

    目标: 多人实时互动(多达数十到数百人) •尽量减少服务器的资源(中心转发式的10%以下) •音视频延迟控制在1s...

  • TCP/IP网络应用Socket编程实验报告

    摘要 基于Socket编程的基本原理和开发流程,本文设计并实现了基于单播和组播的多人聊天工具,以及基于组播的...

  • 多人实时对战

    文档:https://www.tianti.com/nanolink/docs/unity.html

  • RPF检测和URPF检测的区别

    RPF叫做逆向路径转发,主要用于组播环境中针对于组播源对于组播组地址的所有数据做路由检查。首先组播路由协议是基于单...

  • spydroid-ipcamera源码分析(七):Rtsp和Rt

    Rtsp协议 实时流协议(RTSP)是应用层协议,控制实时数据的传送 。RTSP提供了一个可扩展框架,使受控、按需...

  • 组播IGMP

    一.什么是组播?1.一个发送(组播源),多个接收,接收的有个特点就是在同一个组播组里面,组播组有自己的IP2.对于...

  • RTSP 流相关工具介绍

    RTSP (Real Time Streaming Protocol),实时流协议,是一种应用层协议,专为流媒体使...

  • 组播地址,IP组播

    IANA已经把D类地址空间分配给了IP组播地址. IANAIANA(The Internet Assigned N...

  • Http长连接和短连接

    首先我们要知道的是http所在的是TCP/IP协议组中的应用层。 应用层-传输层-网络层 应用层:HTTP FTP...

  • iOS UDP组播

    组播步骤: 建立socket socket和端口绑定 加入一个组播组 通过sendto / recvfrom进行数...

网友评论

      本文标题:多人实时应用层组播

      本文链接:https://www.haomeiwen.com/subject/rlhractx.html