CN100493091C - 基于会话初始化协议的流媒体直播p2p网络方法 - Google Patents

基于会话初始化协议的流媒体直播p2p网络方法 Download PDF

Info

Publication number
CN100493091C
CN100493091C CNB2006100114737A CN200610011473A CN100493091C CN 100493091 C CN100493091 C CN 100493091C CN B2006100114737 A CNB2006100114737 A CN B2006100114737A CN 200610011473 A CN200610011473 A CN 200610011473A CN 100493091 C CN100493091 C CN 100493091C
Authority
CN
China
Prior art keywords
module
server
information
sip
processing module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2006100114737A
Other languages
English (en)
Other versions
CN1816053A (zh
Inventor
黄永峰
刘辉
何杰
李星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Shiji Jinqiao Safety Technology Co., Ltd.
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CNB2006100114737A priority Critical patent/CN100493091C/zh
Publication of CN1816053A publication Critical patent/CN1816053A/zh
Application granted granted Critical
Publication of CN100493091C publication Critical patent/CN100493091C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明属于互联网流媒体信息传输技术领域,其特征在于:本发明含有客户端程序,SIP服务器程序,对等体选择程序和流媒体服务器程序,他们依次放在客户端、SIP服务器、扩展媒体服务器和流媒体服务器上,基于SIP协议,客户端利用P2P网络向SIP服务器请求节目,SIP服务器则把该请求转发至扩展媒体服务器,扩展媒体服务器为客户选择最佳节目源,可以是别的客户或者是流媒体服务器,客户端便可根据该节目源的地址下载流媒体节目,并把节目缓存信息发往扩展媒体服务器,客户端或流媒体服务器也可向扩展媒体服务器发送节点状态的变更信息,从而引起媒体信息数据库的刷新;本发明具有:延时小、带宽消耗小、视频、音频效果好的优点。

Description

基于会话初始化协议的流媒体直播P2P网络方法
技术领域:
本发明属于信息通信,尤其是互联网通信领域。
背景技术:
互联网是人类迈入信息化社会一个伟大的里程碑。作为计算机技术与网络通信技术融合的产物,互联网正在由一般意义下的通信平台逐步演变成为无处不在的计算平台。如何对互联网上日益增长的巨大资源实施有效管理,实现互联网资源的“有效聚合、合理分配、自主协同和可信共享”,不仅对于互联网能否成为计算平台至关重要,而且对于一个国家在信息化时代生产力水平和国际竞争力的提高具有重要战略意义。
对等网络(P2P)被美国《财富》杂志称为改变因特网发展的四大新技术之一,甚至被认为是无线宽带互联网的未来技术。P2P技术不仅为个人用户提供了前所未有的自由和便利,同时也试图有效地整合互联网的潜在资源,将基于网页的互联网转变成动态存取、自由交互的海量信息网络。P2P技术的发展以及P2P与网格技术的结合,将影响整个计算机网络的概念和人们的信息获取模式,真正实现“网络就是计算机,计算机就是网络”的梦想。但是现存的P2P软件的缺点很多:1,管理性和可控性差;2,版权问题很难解决;3,垃圾信息泛滥;4,吞噬网络带宽;5,慈善病毒横行;而且,起协调作用的服务器的脆弱性是众所周知的。
由IETF最年轻的工作组之一的会话初始协议SIP工作组发布的SIP相关标准已经成为通信和网络界的研究热点.目前SIP工作组发表的协议和草案超过30个,除了核心协议以外,其他协议涵盖服务质量、安全、消息头和方法扩展、与公共交换电话网络协议等其他协议的互操作性、穿透防火墙和NAT、应用、多消息体、即时消息等诸多话题,其最终目标是为所有Internet成功的应用提供无所不在的接入,成为联系Internet和电信、多媒体的媒介.
然而目前却并没有SIP和P2P的联合,我们已经进行的实验证明了把SIP和P2P结合起来是切实可行的。不仅如此,我们还可以从本源上看出SIP确实具有与生俱来的P2P的特性,尽管现在的很多的应用并没有利用它们,例如,SIP中所有的服务器都是可选的,用户可以不经过他们而在相互之间建立直接通信,甚至与像代理服务器这样的服务器在使用他们的时候,在进行了开始的信息交换之后,后续的消息也可以利用URL来直接进行端到端的路由的。
我们的发明是根据“下一代互联网可控制、可管理、可运营”的基本要求和技术发展趋势,采用下一代网络的核心协议—SIP,基于第二代中国教育科研网的网络环境,实现“可控、可管、可运营”的、标准化的、流媒体P2P播放系统(具有直播、点播等功能)的体系结构,并实现系统的原型。
与我们想法相近想把SIP引进到P2P网络,目前为止还只有SIPshare:SIPshare是一个简单的、基于SIP协议应用程序。SIPshare主要是向人们展示,SIP协议除了能实现语音、视频等多媒体通信之外,也能实现常见的P2P应用,即很方便地在SIP用户间实现内容共享。SIPshare与我们的区别是:SIPshare只能传输文件和图片,我们除了文件,语音和图片还可以传输实时的视频。
发明内容:
本发明目的在于提供一种用户可以通过SIP协议从节目源实时下载流媒体节目的流媒体直播P2P网络方法。
本发明的特征在于:该方法是在一个基于会话初始化协议的IPTv系统中实现的,所述系统含有:
客户端:为各单独的PC机,或移动通信终端,或其它的非PC机终端;在该客户端上设有:
SIP消息接收、发送、解析模块,所述SIP是会话初始化协议的简称,下同;
SIP消息处理模块,与所述SIP消息接收、发送、解析模块互连;同时设有与其它P2P用户交互的接口;
流媒体接收模块,与所述SIP消息处理模块互连;
流媒体播放模块,输入接口与该流媒体接收模块的输出接口连接;
下游节点连接处理模块,分别设有所述SIP消息处理模块、流媒体接收模块输出数据的输入接口;
流媒体发送模块,与所述下游节点连接处理模块互连,而且该流媒体发送模块还设有该流媒体接收模块输出数据的输入接口;
下游节点探测模块,设有:该下游节点连接处理模块输出数据的输入端口,分别向该流媒体发送模块、SIP消息处理模块输送下游节点探测数据的输出端口;
备份节点探测模块,与所述的SIP消息处理模块互连;
状态信息处理模块,设有向所述SIP消息处理模块输出处理后的状态信息的输出端口,以及接收所述下游节点连接处理模块的下游节点信息的接收端口;
延时计算模块,与该状态信息处理模块互连,通过检测本节点到某个标准节点的延时,以确定自己的相对时延,传送给状态信息处理模块;
有效带宽计算模块,根据延时计算模块提供的延时数据来计算有有效带宽,再向状态信息处理模块发出:发送的数据量/延时时间的比值;
以上所述客户端的程序实现以下的操作:与其他的客户交互,从他们那里得到需求的节目信息;向下述SIP服务器注册自己的信息;向下述扩展媒体服务器实时的发送自己的更新消息,或者请求节目,并注册自己的节目信息;从包括其他客户端和下述媒体服务器在内的节目源下载、存储并播放节目;
SIP服务器,分布在SIP高速路由服务器上,该服务器是一个工业增强型的基于SIP协议的自由SIP服务器;
扩展媒体服务器,拥有自己单独的通用资源标识符URI,通过一下程序模块为客户端选择最佳的节目源进行节目下载:
SIP消息接收、发送、解析模块与客户端的相应模块等同;
SIP消息处理模块,与所述SIP消息接收、发送、解析模块互连,该SIP消息处理模块与客户端的相应模块等同;
信息收集模块,设有从所述SIP消息处理模块输出的更新后的状态信息,并且对发送来的离去节点是否删除的信息进行决策:是否与该离去节点相关的所有节点都向信息收集模块发出了该节点离去的信息;
状态信息数据库,接收所述信息收集模块发来的状态信息;
最佳对等体选择模块,与所述SIP消息处理模块互连,同时设有接收来自该状态信息数据库发送来的状态信息输入端口;该最佳对等体选择模块根据SIP消息处理模块的节目对等体选择需求,再根据状态信息库中的数据,选择最佳的对等体节点,即:针对一个节目请求,首先从状态信息数据库中选择缓存了该节目的节点,再考虑双方的IP关系,分析是否在一个网段内,若是,则优先考虑该节点,否则,任选一个节点作为最佳对等体节点;
用户更新模块,设有:从该状态信息所发送来的状态信息的接收端口,以及发向该SIP消息处理模块的用户更新消息,以完成向所有快要过期的节点发送即将过期用户的信息;
媒体服务器,用PC机实现,相当于一个普通用户,把本地采集到的信息流化,发送给相关的提出请求的用户,这是通过以下程序模块实现的:
SIP消息接收、发送、解析模块与客户端的相应模块等同;
SIP消息处理模块,与所述SIP消息接收、发送、解析模块互连;除了没有设其他用户交互接口外,该SIP消息处理模块与客户端相应模块相同;
流媒体文件读取模块,从原始的编码好的视频文件中提取出必需的文件头信息以及文件头本身,并把这些内容传送给下述节点连接模块,同时向下述流媒体模块提供相关的遵守实时传输协议的流媒体包;
下游节点连接处理模块,设有所属媒体文件读取模块输出的编码好的视频文件信息的接收端口;同由设有接收SIP消息处理模块输出的下游节点信息的输入端口;
流媒体发送模块,与所述下游节点及连接处理模块互连,同时设有接收该流媒体文件读取模块输出的遵守实时传输协议的流媒体包的输入端口;
下游节点探测模块,设有:来自该下游节点连接处理模块发送来的下游节点连接处理信息接收端口,分别发往所述流媒体发送模块和SIP消息处理模块的下游节点探测信息输出端口;
状态信息处理模块,设有:下游节点连接处理信息接收端口,以及发送到SIP消息处理模块的状态信息处理数据输出端口;
延时计算模块,与所述的状态信息处理模块相连,通过检测本节点到几个标准节点的延时以确定自己的相对延时,传送给所述状态信息处理模块;
有效带宽计算模块,根据延时计算模块提供的延时数据来计算有有效带宽,再向状态信息处理模块发出:发送的数据量/延时时间的比值;
所述基于会话初始化协议的流媒体直播P2P网络主体依次含有如下的步骤:
步骤1.初始化
客户端,设定:IP地址,端口号,文件保存的位置以及编解码方式;
SIP服务器,设定:IP地址,端口号,初始化用户信息数据库;
扩展媒体服务器,设定:IP地址,端口号,初始化媒体信息数据库;
媒体服务器,设定:IP地址,端口号,以及编码方式;
步骤2.注册
客户端向SIP服务器注册,包括用户名和密码在内的自己的信息;SIP服务器在接收到用户注册后,更新用户信息数据库;
扩展媒体服务器向SIP服务器注册,包括用户名和密码在内的自己的信息,然后,等待媒体服务器来注册媒体信息,更新媒体信息数据库;
媒体服务器向SIP服务器注册包括用户名和密码在内的自己的信息,向扩展媒体服务器注册包括节目名称、下载速度在内的自己的媒体信息;
步骤3.客户端向SIP服务器请求节目;
步骤4.SIP服务器在接收到用户的请求后,判断目的地,向扩展媒体服务器转发用户的请求;
步骤5.扩展媒体服务器在接收到客户端的节目请求之后,进行媒体信息数据库查询,找出最佳的节点来提供给客户端;
步骤6.客户端收到扩展媒体服务器的节目源地址后,向节目源请求节目;
步骤7.客户端接收、下载并播放节目源发送过来的节目,同时,缓存一部分节目;同时向扩展媒体服务器注册自己的缓存的节目信息,该信息包括:节点的IP、节点能提供的最大带宽、节点的缓存大小、以及节点内缓存的节目编号:
步骤8.客户端等待下游节点的连结,准备向下游节点发送节目;退出时向下游节点、节目源、以及扩展媒体服务器发送离开消息;
步骤9.客户端或媒体服务器在状态改变后,向扩展媒体服务器发送更新消息,该扩展媒体服务器在收到所述的更新消息后,存入,并更新媒体信息数据库。
本发明有以下的优点:
1,使用了标准协议SIP,可以实现很好的移植性和兼容性。
2,使用P2P作为节目提供者和下载者之间的协议,减轻了服务器的负担。
3,对SIP服务器的功能要求很低,只需要一些最基本的功能,可以方便以后的升级。
4,将更多的功能分散到了终端,实现了网络负担的分散化,这也适应了未来的终端越来越智能化的要求。
5,把媒体处理功能单独放在一个模块(对等体选择模块)中,可以实现很好的扩充性,以后如果需要修改什么,只需要改动这一部分,可以不改动SIP服务器的。
6,通过及时的发送更新消息,可以让扩展媒体服务器始终可以掌握最新的网络状态,便于全局的管理。
7,可以很好的实现计费功能。
8,对于数字版权,可以在节目源上实现,所以不存在侵权问题。
本发明的硬件实现方式:
1服务器:
硬件配置要求:cpu1.5G以上
              内存512M以上
              硬盘80G以上
              LCD显示器
              键盘鼠标等输入设备
              具备打印机接口
              具备接入INTERNET的能力
软件配置要求:具有LINUX操作系统,需要RedHat 9.0以上版本
              具有C语言编辑器,需要VC6.0以上版本
             具有上网,打印机接口
2客户端:
硬件配置要求:cpu1.0G以上
              内存128M以上
              硬盘10G以上
              LCD显示器
              键盘鼠标等输入设备
              具备打印机接口
              具备接入INTERNET的能力
软件配置要求:具有Windows操作系统
              具有C语言编辑器,需要VC6.0以上版本
              具有上网,打印机接口
3网络要求:
网络速度>512Kbps
初步实验结果如下:
在只有一个节目源的情况下,只有一个SIP服务器和扩展媒体服务器,可以同时下载的用户数目可以达到100,并且相互之间延迟很小(<50ms)基本实现了同步,而且对带宽消耗很小,只有128kbps,用户感觉图像和声音效果较好。
附图说明:
图1.本发明的系统结构图;
图2.本发明的网络层次结构图;
图3.本发明的原理示意图;说明:其中的live@address表示地址为“address”上面的一个名为“live”的节目源;上面的表示就是SIP中的一个URI。
图4.用户端协议层次结构图;
图5.扩展服务器协议层次结构图;
图6.媒体服务器协议层次结构图;
图7.用户端的程序模块划分关系图;
图8.媒体服务器程序模块划分关系图;
图9.用户消息流程图;
图10.媒体服务器消息流程图;
图11.扩展媒体服务器消息流程图;
图12.SIP服务器消息流程图;
图13.扩展媒体服务器程序结构;
具体实施方式:
系统中包含4个部分:客户端,SIP服务器,扩展媒体服务器(以下简称为EMS服务器),以及媒体服务器(以下简称为MS服务器),见图1。
客户端上面运行我们的客户端软件,功能是:1,实现向SIP服务器注册客户端的信息,包括用户名和密码;2,请求节目;3,从节目源处下载节目;4,缓存一部分的节目;5,将缓存的节目的信息注册到扩展媒体服务器上;6,在状态改变的时候,能实时的向扩展媒体服务器报告自己的最新状态。
SIP服务器上面运行SIP协议栈实现基本的SIP服务器的功能,包括注册,代理,以及对数据包的寻址、路由和转发等。
媒体服务器是节目的初始提供者,拥有一个或者多个节目可供用户下载。它实现的功能主要有:开始的时候向SIP服务器进行注册自己的信息,包括用户名和密码;向扩展媒体服务器注册自己的媒体信息;在状态改变时能及时地向扩展媒体服务器发出更新消息。
扩展媒体服务器实现的功能如下:开始的时候向SIP服务器注册自己的信息,包括用户名和密码;接受媒体服务器的注册信息,创建媒体信息数据库;根据用户请求在媒体信息数据库中进行查询和选择满足要求的最佳对等体以供用户下载;在接收到用户的更新消息的时候能及时地更新媒体信息数据库。
客户端,扩展媒体服务器,媒体服务器开始的时候都需要向SIP服务器进行注册。
并且开始的时候所有的节目源媒体服务器通过SIP服务器向扩展媒体服务器注册自己的媒体信息,包括节目名称,缓存大小等信息。
客户端1在成功向SIP服务器注册之后,可以向SIP服务器端请求节目,SIP服务器可以将请求节目的消息转发给扩展媒体服务器,后者再根据一定的算法(最佳对等体选择算法)选出合适的节目源,并将结果返回给客户端,从而,客户端可以直接和节目源建立连接,接收媒体节目。
同时,客户端1缓存一定的节目,并向扩展媒体服务器注册自己的缓存节目的情况。
新的客户端2成功注册后,向SIP服务器请求节目,扩展媒体服务器接收到SIP服务器转发过来的信息之后,进行最佳对等体选择算法,选择出最合适的下载节点,并将结果返回给客户端2,从而客户端2可以和下载节点建立连接,上图中客户端2被安排在客户端1下载节目。同时,客户端2也需要缓存一部分的节目,并向对扩展媒体服务器注册自己的缓存节目的情况。
在上面所有的消息交互全部是按照SIP协议的标准格式实现的,而媒体信息则是在被我们扩展的会话描述协议SDP中进行传输的。
针对第3代P2P网络存在的不足,基于国际标准协议SIP,结合IPv6网络特点(更大、更快,更安全和支持服务质量QoS),面向流媒体播放的特定应用,提出一种新的P2P网络体系结构,即所谓的第4代P2P网络,这种网络的结构特征主要体现在3个方面:
第1:系统的核心协议标准化。数据的组织与分发、路由以及定位等方法是构成P2P网络的核心技术,这些方法的标准化,是P2P网络标准化的基础。根据我们前期研究工作,我们证实了SIP和P2P技术结合的可行性和优越性。例如:通过SIP的代理服务来实现P2P网络节点之间定位和路由,通过SIP的呼叫方式来实现节点之间的流媒体数据分发。因此,SIP作为互联网普遍采用的标准控制协议,用它来构建的P2P网络,具有较强的可管性和可控性,同时,也提供了一种灵活的运营模式。
第2:系统将采用分层的混合结构。根据前期研究成果,初步确定系统可以分为3层,见图2。第1层为应用管理层,由系统管理工作站以及认证服务器等组成,利用第2层提供的接口,实现系统参数配置、管理员对系统的监控和管理、以及认证计费等功能。第2层为SIP中间层,由分布式的SIP服务器组成,这些服务器具有SIP所有实体的功能,包括Proxy(代理)、Registrar(注册)等,这一层将采用结构化的P2P网络结构,主要实现系统数据的组织与分发、路由选择和资源信息定位等功能,同时还能控制节点加入、退出以及第3层播放节点之间P2P连接建立和拆除;除此以外,还需要给应用层提供计费、认证以及管理接口。第3层为流媒体数据传输层,由流媒体服务器、播放节点组成,采用非结构化P2P组织方式,在第2层的控制下,节点之间可以建立P2P连接,实现数据的传输。这种多层结构模型,既提高了系统的可扩展性和灵活性,同时又不要求第3层播放节点维护邻居信息和状态信息,简化了系统的整体开销,提高了系统性能。
第3:可以连接多种类型的播放终端,例如非PC机终端。目前,P2P流媒体播放系统都是面向PC机而设计的,而且只能通过WEB的点击方式来选择流媒体文件。在第4代P2P网络中,考虑到NGI无所不在的分布优势和泛在特点,通过使用SIP协议,可以支持各种类型的SIP终端,并且利用SIP的URI机制,可以采用E.164数字编号方式来选择媒体文件。例如,可以采用带有机顶盒的电视机,利用数字键,使用类似频道选择方式来选择P2P网络中直播的电视节目、或者视频文件;也可以采用带有MP3播放功能IP网络话机,利用电话拨号来选择MP3歌曲,还可以采用PDA或者手机等手持设备来点播流媒体、或者选择网络电台直播节目,而不需要登陆到WEB服务器上进行节目的选择。因此,可以在真正意义上实现三网业务的融合。
本发明提出了下述的SIP-P2P的体系结构,见图3:
1.主要实体的实体功能
该系统主要分为四种物理实体,如下图3所示:
1.1 客户端实体:
客户端程序分布在各个单独的PC和其他的设备上,并且支持可移动的。其主要的功能是:1)与其它客户进行交互,从它们那里得到需求的节目信息;2)向SIP服务器注册自己的信息;3)向EMS服务器请求节目;4)向EMS服务器注册自己的节目信息;5)下载和存储节目,并播放节目;6)向下游节点发送节目;7)实时的向EMS服务器发送自己的更新消息。
1.2 SIP服务器实体:
SIP服务器实体分布在SER服务器(即SIP高速路由服务器)上,主要完成注册、代理功能。这一部分我们采用的是技术成熟的服务器,因而可以直接实现对数据包的路由,寻址,转发功能。
为了更好的说明SIP服务器实体,下面我们来认识一下SER服务器:
SER(SIP Express Router)是一个工业增强型的基于SIP协议的自由的SIP服务器,他被设计来扩展IP电话组织到一个很大的范围。
SER可以记录用户行踪,建立会话,转播即时消息和为新的插件应用创造空间,它的被证实了的协同工作能力保证了同其他的卖主的部件的无缝的整合,从而减少了遭遇单卖主陷阱的风险。
他的性能和鲁棒性允许他不仅仅能为数百万的用户服务,而且还能够满足非常大的运营商的要求。
SER配置具有高度的灵活性,他不仅可以允许各种各样的路由和管理策略而且可以设置新的或者用户自定义的服务。他的可配置能力允许他承担很多的角色,网络安全屏障,应用服务器,或者PSTN的网关守卫。同时,SER也可以被应用到分布式的应用中。
1.3 扩展媒体服务器(以下简称EMS服务器)实体:
EMS服务器拥有自己单独的URI(例如livebroadcast@address),它的主要功能就是为客户端选择最佳的节目源进行节目下载,具体的操作:1)向SIP服务器实体进行注册;2)接受媒体实体的媒体信息的注册,并建立媒体信息数据库;3)在接受了客户端的节目请求的时候能从媒体信息的数据库中找出最佳的节目源以供客户端下载;4)能够向用户和媒体服务器提出求,要求他们随时报告自己的状态;5)在接受到客户端或者媒体服务器的更新消息的时候能够及时的更新数据库。而EMS服务器所作的这些都是对用户透明的。
1.4媒体服务器(以下简称MS)实体:
媒体服务器提供原始的流媒体信息,其利用普通的PC机来实现。在本系统中媒体服务器的地位和普通的用户相当。它将本地采集到的媒体信息流化,然后发送给相应的提出请求的用户。功能如下:1)向SIP服务器注册自己的信息;2)向EMS服务器注册自己的媒体信息;3)将媒体流发送给下载的客户端;4)实时的向EMS服务器发送自己的更新消息。
上图中基本表示出了各个物理实体之间的消息交互情况,所有交互的消息都是标准的SIP方法。
2 主要实现实体的协议层次结构
2.1 用户端的协议层次结构
用户端的协议层次结构如图4所示:
用户端分成信令处理和媒体处理两个部分:信令部分使用标准的SIP方法,媒体流通过RTP传送,这两者都是基于UDP之上的。通过SIP信令的交互,主要完成了最佳邻居节点的获取,备用节点的维护,下游节点的探测等等一些功能,以实现直播的控制保证各个节点都能够得到尽可能优质的流媒体数据。在RTP上传送的流媒体和有SIP作为信令的直播控制共同构成了直播的用户平台。
2.2 EMS服务器的协议层次结构
EMS的功能主要在于直播的控制,为请求的用户提供最佳的邻居节点。没有涉及流媒体的传输。所以协议层次比较简单,见图5。
2.3 媒体服务器的协议层次结构
媒体服务器的功能在本P2P SIP直播系统的作用与普通的用户节点相似,协议层次相同,见图6。
3 主要实现实体的模块划分以及相关接口
3.1 用户端的程序模块划分,见图7。
各个模块的功能和消息交互关系的叙述如下:
3.1.1 SIP消息发送、接收、解析模块:
该模块负责完成SIP协议栈的基本功能,主要包括SIP方法的接收、SIP方法的解析、SIP方法相关内容的提取、SIP方法的构造等等。
这部分的实现,我们以eXosip为基础。下面我们了解一下eXosip。
Osip2是一个开放源代码的sip协议栈,是开源代码中不多使用C语言写的协议栈之一,它具有短小简洁的特点,专注于sip底层解析使得它的效率比较高。
eXosip是Osip2协议栈的封装和调用。它实现了作为单个sip终端的大部分功能,如register、call、subscription等。
eXosip使用UDP socket套接字实现底层sip协议的接收/发送。并且封装了sip消息的解释器。他使用定时轮循的方式调用Osip2的transaction处理函数,这部分是协议栈运转的核心。透过添加/读取transaction消息管道的方式,驱动transaction的状态机,使得来自远端的sip信令能汇报给调用程序,来自调用程序的反馈能通过sip信令回传给远端。
根据exosip中的定义的接口函数主要包括:
eXosip_call_dialog_find()                    eXosip_call_find()
eXosip_call_free()                           eXosip_call_init()
eXosip_call_send_request()                   eXosip_call_build_notify()
eXosip_call_send_answer()                    eXosip_call_build_answer()
eXosip_call_set_reference()                  eXosip_call_send_initial_invite()
eXosip_call_build_initial_invite()           eXosip_call_build_request()
eXosip_call_send_prack()                     eXosip_call_build_prack()
eXosip_call_send_ack()                       eXosip_call_build_ack()
eXosip_event_add()                           eXosip_event_free()
eXosip_event_get()                           eXosip_event_init()
eXosip_event_wait()
eXosip_init()                                eXosip_lock()
eXosip_quit()                                eXosip_unlock()
eXosip_update()                              eXosip_guess_localip()
eXosip_listen_to()                           eXosip_add_authentication_info()
eXosip_automatic_action()
eXosip_options_send_request()                eXosip_options_send_answer()
eXosip_options_build_request()
eXosip_message_send_answer()e                Xosip_message_build_answer()
eXosip_masquerade_contact()                  eXosip_message_send_request()
eXosip_message_build_request()
eXosip_insubscription_send_request()      eXosip_insubscription_build_notify()
eXosip_insubscription_send_answer()       eXosip_insubscription_build_answer()
eXosip_get_audio_media()                 eXosip_get_audio_connection()
eXosip_get_sdp_info()                    eXosip_get_remote_sdp()
eXosip_get_local_sdp()
eXosip_register_send_register()       eXosip_register_build_register()
eXosip_register_build_initial_register()
eXosip_subscribe_build_initial_request()
eXosip_subscribe_send_initial_request()
eXosip_refer_send_request()       eXosip_refer_build_request()
3.1.2 Sip消息处理模块
Sip消息处理模块是用户端程序中处于核心地位的模块。一方面,通过从Sip消息发送、接收、解析模块接收到的SIP方法的信息、对其进行相应的处理,然后将重要的消息或者传送到其他相关的模块,让这些相关的模块做出相应的动作,或者在模块内部综合其他信息做出决策,然后调用Sip消息发送、接收、解析模块的接口函数构造相应的SIP消息,在恰当的时候传送到特定的地点。另一方面,通过其他模块传送过来的消息,在本模块内作出决策,然后或者发送消息到其他的模块指导其进行动作,或者构造消息传送到指定的地点。而且该模块还是与用户交互的中间模块,接收用户输入的消息,并向用户传送必要的程序运行过程中产生的数据。
3.1.3 流媒体模块
该模块主要完成与流媒体接收时的相关操作,包括流媒体接收之前的Socket的初始化、流媒体的接收、接收到的流媒体排序、将接收流媒体RTP包重新组成应用层数据包、丢弃无效的流媒体包、流媒体接收停止等等。
对外的接口:
Stream_Receive_Initiation()
Stream_Receive_Begin()
Stream_Receive_End()
Get_Nec_Info()
3.1.4 下游节点连接处理模块
该模块主要完成如下功能:
A.该模块接收从Sip消息处理模块传送过来的消息Permit_another_subpeer_connect(),来处理所有已经通过Sip消息处理模块协商的下游节点的连接。
B.通过对流媒体发送模块发送消息Get_Nec_Info()来得到发送流媒体必须的流媒体文件头信息
C.将本节点的连接状态向状态信息处理模块通告
D.向下游节点探测模块发送消息Subnode_Detect_Begin(),开始对与下游节点存活状态的检测。
E.向流媒体发送模块发送Stream_Send_Begin(),开始对下游节点提供流媒体的数据。
对外的接口如下:
SubNode_Connect_Process_Begin()
Permit_another_subpeer_connect()
Refuse_another_subpeer_connect()
SubNode_Connect_Process_End()
3.1.5 流媒体发送模块
该模块主要负责向下游的节点发送流媒体数据,同时接收从下游节点探测模块传送过来的反馈信息以决定是否继续发送流媒体数据。
主要的接口:
Stream_Send_Begin()
Stream_Send_End()
3.1.6 下游节点探测模块
主要负责周期性的监测下游节点的存活状态。
对外提供的接口如下:
Is_Subnode_Alive()
Subnode_Detect_Initiation()
Subnode_Detect_Begin()
Subnode_Detect_End()
3.1.7 备份节点探测模块
主要负责周期性的监测备用节点是否存活以及下游节点的能力状况提供的接口主要有:
Backup__Node_Detect_Initiation()
Backup_Node_Detect_Begin()
Backup_Node_Detect_End()
Backup_Node_Detect_Info()
3.1.8 状态信息处理模块
该模块的主要功能:收集必要的状态信息,传送给Sip消息处理模块以做出决
策。其中的状态信息目前只包含:节点的IP,节点能提供的最大带宽,节点的缓存
大小以及节点的缓存的节目编号。这些状态信息是要被发送给EMS服务器的信息数
据库的。
接口:
Get_State_Info()
State_Info_Process_Begin()
State_Info_Process_End()
3.1.9 延迟计算模块
该模块主要监测本节点到几个标准节点的延时,以确定自己的相对延时,传送给状态信息处理模块
接口:
Delay_Compute_Begin()
Delay_Compute_End()
Get_Delay()
3.1.10 带宽计算模块
在延迟计算模块的基础上,目前只是根据计算带宽公式:发送的数据量/延迟。
3.1.11 流媒体播放模块
在本例中直接调用Windows Media Player的EXE
3.2 EMS程序模块结构关系,见图13:
EMS主要的功能就是:
A.从用户和MS收集相关的状态信息,以便进行最佳邻居节点的选取
B.给提出请求的用户,寻求最佳的邻居节点
功能上的单一性决定了EMS程序模块结构的简单性。
3.2.1 SIP消息发送、接收、解析模块
等同于用户模块相应部分的功能
3.2.2 SIP消息处理模块
功能上与用户模块相应部分的功能类似
3.2.3 信息收集模块
该模块主要负责和状态信息数据库打交道。SIP消息处理模块对收到的请求进行分析,信息更新相关的请求与更新相关的数据,直接转交给信息收集模块进行处理。很多情况下,信息收集模块可以直接将收到的数据依据一定的原则向状态信息数据库进行写入。但是另外一些情况,则要进行相应的分析,才能够决定是否向状态信息数据库写入以及写入什么信息。
举个例子:
当一个节点的上游节点通告EMS该节点可能离去了,当这个请求到达SIP消息处理模块之后,立刻将该消息报告了信息收集模块。但是现在并不能通知数据库要求删除与该节点相关的信息。因为仅仅凭一个上游节点说某某节点离去了,是不充分的。是否能够将该节点删除,这个决定由信息收集模块来进行决策。严格的说应该等到所有的与该节点相关的节点都通告该节点离去时,才能判定该节点离去。当然具体的算法还用根据实际情况合理的选定。
该模块主要提供的接口如下:
Information_Collect_Init()
Information_Collcet_Begin()
Information_Collect_End()
Delete_correlative_data()
Update_correlative_data()
3.2.4 最佳对等体选择模块
该模块是EMS的核心模块,完成最佳对等体节点的选取的功能,他是根据状态信息数据库中的数据,选择对等体节点。针对一个节目请求,他首先从数据库中选择缓存了这个节目的节点,然后考虑双方的IP的关系,分析是否在一个网段内,如果是,则优先考虑此节点,否则,任意选择一个节点作为最佳对等体节点。
提供的接口:
Peer_Select_Init()         Peer_Select_Begin()
Peer_Select_End()
3.2.5 预定消息更新模块
该模块主要完成向所有的预定消息期限时间快要过期的节点重新发送预定消息,以订阅相关必要信息的更新。预定消息更新模块通过搜索状态信息数据库以决定向哪些节点发送预定消息。
接口:
Subscribe_Refresh_Begin()       Subscribe_Refresh_End()
3.2.6 状态信息数据库模块
状态信息数据库接口:
Bind_dbroad()     Db_init()      Db_close()
Db_query()     Db_free_query()   Db_insert()
Db_delete()      Db_update()     Db_use_table()
3.2 MS程序模块结构框图
具体的MS程序模块结构框图如图8所示:
可以看出MS程序模块结构和用户的程序模块结构没有太大的区别。仅有的区别如下:
A.没有流媒体接收模块,改为流媒体文件读取模块
B.没有流媒体播放模块
以上的区别都是由于MS和普通用户的定位不同:MS是一个专门的流媒体发送服务器,然而普通的用户是个兼职的流媒体发送服务器,普通用户还要享用流媒体的乐趣。
我们主要只讨论流媒体文件读取模块。该模块主要负责以下功能:
A.从原始的WMV文件中提取必要的文件头信息以及文件头本身
B.将必要的文件信息和文件头本身传送给下游节点连接处理模块
C.向流媒体模块提供相应的按照实时传输协议传输的流媒体包
主要的接口函数如下:
Get_File_Header()
Get_File_Nec_Info()
Stream_File_Reader_Begin()
Stream_File_Reader_End()
本发明的程序包含4部分:客户端程序,SIP服务器程序,扩展媒体服务器(又名EMS用户代理)程序,媒体服务器程序。
网络环境就是用的SER服务器和几台主机,他们都在CERNET2中运行,其中寻址和路由的实现都是用的SER服务器,数据传输采用的是UDP协议,其中各个功能部件的工作步骤如下:
3.3 工作步骤
3.3.1 客户端
1.初始化,包括设定IP地址,端口号,文件保存位置,编解码方式。
2.注册:向SIP服务器注册自己的信息,包括用户名和密码等
具体实现:通过构建SIP中的register消息,再通过套接字传输实现注册
3.向SIP服务器请求节目
具体实现:通过SIP的Invite消息构建请求消息,其中包含节目的编号
4.收到EMS服务器的消息后,向节目源请求节目,具体实现同3
5.下载并播放节目,同时缓存一部分节目。
具体实现:播放采用的是Windows Media Player直接播放。
6.向EMS服务器注册自己缓存的节目信息
其中的节目信息目前只包含:节点的IP,节点能提供的最大带宽,节点的缓存大小以及节点的缓存的节目编号。
7.等待下游节点的连结
8.向下游节点发送节目
9.向EMS服务器发送更新消息
10.退出时向下游节点,节目源,以及EMS服务器发送离开消息。
3.3.2 SIP服务器
1.初始化,包括设定IP地址,端口号,初始化用户信息数据库。其中数据库采用的是mysql。
2.等待用户的注册
3.接收到用户注册后,更新用户信息数据库
4.在接收到用户的请求时,判断目的地,并转发用户请求。
具体实现就是SIP服务器的转发功能,可以采用Exosip来实现。
3.3.3 EMS服务器
1.初始化,包括设定IP地址,端口号,初始化媒体信息数据库其中数据库采用的Mysq1,对信息数据库的初始化就是建一些只有属性名的空表。
2.注册:向SIP服务器注册自己的信息,包括用户名和密码等
3.接收注册:等待媒体服务器注册他的媒体信息,更新媒体信息数据库
4.接收到客户端的节目请求时,进行数据库的查询,找出最佳的节点来提供给客户端。具体的实现在前面的EMS模块说明中有所说明。
5.发送subscribe更新消息请求,以便客户端和节目源在他们的状态改变的时候能够实时的通知EMS服务器。
6.在收到客户端和节目源的更新的消息的时候更新媒体信息数据库。
3.3.4 媒体服务器
1.初始化,包括设定IP地址,端口号,编码方式。
2.注册1:向SIP服务器注册自己的信息,包括用户名和密码等具体实现同4.2.1.1中的2
3.注册2:向EMS服务器注册自己的媒体信息,包括节目名称,下载速率等。具体实现同1.2.1.1中的6
4.向下游节点发送节目
5.在状态改变的时候发送更新消息给EMS服务器
3.4 消息交互流程图,见图9-图12.

Claims (1)

1.基于会话初始化协议的流媒体直播P2P网络方法,其特征在于,该方法是在一个基于会话初始化协议的IPTv系统中实现的,所述系统含有:
客户端:为各单独的PC机,或移动通信终端,或其它的非PC机终端;在该客户端上设有:
SIP消息接收、发送、解析模块,所述SIP是会话初始化协议的简称,下同;
SIP消息处理模块,与所述SIP消息接收、发送、解析模块互连;同时设有与其它P2P用户交互的接口;
流媒体接收模块,与所述SIP消息处理模块互连;
流媒体播放模块,输入接口与该流媒体接收模块的输出接口连接;
下游节点连接处理模块,分别设有所述SIP消息处理模块、流媒体接收模块输出数据的输入接口;
流媒体发送模块,与所述下游节点连接处理模块互连,而且该流媒体发送模块还设有该流媒体接收模块输出数据的输入接口;
下游节点探测模块,设有:该下游节点连接处理模块输出数据的输入端口,分别向该流媒体发送模块、SIP消息处理模块输送下游节点探测数据的输出端口;
备份节点探测模块,与所述SIP消息处理模块互连;
状态信息处理模块,设有向所述SIP消息处理模块输出处理后的状态信息的输出端口,以及接收所述下游节点连接处理模块的下游节点信息的接收端口;
延时计算模块,与该状态信息处理模块互连,通过检测本节点到某个标准节点的延时,以确定自己的相对时延,传送给该状态信息处理模块;
有效带宽计算模块,根据延时计算模块提供的延时数据来计算有效带宽,再向状态信息处理模块发出:发送的数据量/延时时间的比值;
以上所述各模块实现以下的操作:与其他的客户交互,从他们那里得到需求的节目信息;向下述SIP服务器注册自己的信息;向下述扩展媒体服务器实时的发送自己的更新消息,或者请求节目,并注册自己的节目信息;从包括其他客户端和下述媒体服务器在内的节目源下载、存储并播放节目;
SIP服务器,分布在SIP高速路由服务器上,SIP服务器是一个工业增强型的基于SIP协议的自由SIP服务器;
扩展媒体服务器,拥有自己单独的通用资源标识符URI,通过以下程序模块为客户端选择最佳的节目源进行节目下载:
SIP消息接收、发送、解析模块与客户端的相应模块等同;
SIP消息处理模块,与所述扩展媒体服务器中的SIP消息接收、发送、解析模块互连,该SIP消息处理模块与客户端的相应模块等同;
信息收集模块,设有从所述SIP消息处理模块输出的更新后的状态信息,并且对发送来的离去节点是否删除的信息进行决策:是否与该离去节点相关的所有节点都向信息收集模块发出了该节点离去的信息;
状态信息数据库,接收所述信息收集模块发来的状态信息;
最佳对等体选择模块,与所述SIP消息处理模块互连,同时设有接收来自该状态信息数据库发送来的状态信息输入端口;该最佳对等体选择模块根据SIP消息处理模块的节目对等体选择需求,再根据状态信息库中的数据,选择最佳的对等体节点,即:针对一个节目请求,首先从状态信息数据库中选择缓存了该节目的节点,再考虑双方的IP关系,分析是否在一个网段内,若是,则优先考虑该节点,否则,任选一个节点作为最佳对等体节点;
用户更新模块,设有:从该状态信息模块所发送来的状态信息的接收端口,以及发向该SIP消息处理模块的用户更新消息接口,以完成向所有快要过期的节点发送即将过期用户的信息;
媒体服务器,用PC机实现,相当于一个普通用户,把本地采集到的信息流化,发送给相应的提出请求的用户,这是通过以下程序模块实现的:
SIP消息接收、发送、解析模块与客户端的相应模块等同;
SIP消息处理模块,与所述媒体服务器中的SIP消息接收、发送、解析模块互连;除了没有设其他用户交互接口外,该SIP消息处理模块与客户端相应模块相同;
流媒体文件读取模块,从原始的编码好的视频文件中提取出必需的文件头信息以及文件头本身,并把这些内容传送给下述下游节点连接处理模块,同时向下述流媒体发送模块提供相关的遵守实时传输协议的流媒体包;
下游节点连接处理模块,设有所述媒体文件读取模块输出的编码好的视频文件信息的接收端口;同时设有接收SIP消息处理模块输出的下游节点信息的输入端口;
流媒体发送模块,与所述下游节点连接处理模块互连,同时设有接收该流媒体文件读取模块输出的遵守实时传输协议的流媒体包的输入端口;
下游节点探测模块,设有:来自该下游节点连接处理模块发送来的下游节点连接处理信息接收端口,分别发往所述流媒体发送模块和SIP消息处理模块的下游节点探测信息输出端口;
状态信息处理模块,设有:下游节点连接处理信息接收端口,以及发送到SIP消息处理模块的状态信息处理数据输出端口;
延时计算模块,与所述的状态信息处理模块相连,通过监测本节点到几个标准节点的延时以确定自己的相对延时,传送给所述状态信息处理模块;
有效带宽计算模块,根据延时计算模块提供的延时数据来计算有效带宽,再向状态信息处理模块发出:发送的数据量/延时时间的比值;
所述基于会话初始化协议的流媒体直播P2P网络方法依次含有如下的步骤:
步骤1.初始化
客户端,设定:IP地址,端口号,文件保存的位置以及编解码方式;
SIP服务器,设定:IP地址,端口号,初始化用户信息数据库;
扩展媒体服务器,设定:IP地址,端口号,初始化媒体信息数据库;
媒体服务器,设定:IP地址,端口号,以及编码方式;
步骤2.注册
客户端向SIP服务器注册包括用户名和密码在内的自己的信息;SIP服务器在接收到用户注册后,更新用户信息数据库;
扩展媒体服务器向SIP服务器注册包括用户名和密码在内的自己的信息,然后,等待媒体服务器向扩展媒体服务器注册媒体信息,更新媒体信息数据库;
媒体服务器向SIP服务器注册包括用户名和密码在内的自己的信息,向扩展媒体服务器注册包括节目名称、下载速度在内的自己的媒体信息;
步骤3.客户端向SIP服务器请求节目;
步骤4.SIP服务器在接收到用户的请求后,判断目的地,向扩展媒体服务器转发用户的请求;
步骤5.扩展媒体服务器在接收到客户端的节目请求之后,进行媒体信息数据库查询,找出最佳的节点来提供给客户端;
步骤6.客户端收到扩展媒体服务器的节目源地址后,向节目源请求节目;
步骤7.客户端接收、下载并播放节目源发送过来的节目,同时,缓存一部分节目;同时向扩展媒体服务器注册自己的缓存的节目信息,该信息包括:节点的IP、节点能提供的最大带宽、节点的缓存大小、以及节点内缓存的节目编号;
步骤8.客户端等待下游节点的连结,准备向下游节点发送节目;退出时向下游节点、节目源、以及扩展媒体服务器发送离开消息;
步骤9.客户端或媒体服务器在状态改变后,向扩展媒体服务器发送更新消息,该扩展媒体服务器在收到所述的更新消息后,存入,并更新媒体信息数据库。
CNB2006100114737A 2006-03-10 2006-03-10 基于会话初始化协议的流媒体直播p2p网络方法 Expired - Fee Related CN100493091C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006100114737A CN100493091C (zh) 2006-03-10 2006-03-10 基于会话初始化协议的流媒体直播p2p网络方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006100114737A CN100493091C (zh) 2006-03-10 2006-03-10 基于会话初始化协议的流媒体直播p2p网络方法

Publications (2)

Publication Number Publication Date
CN1816053A CN1816053A (zh) 2006-08-09
CN100493091C true CN100493091C (zh) 2009-05-27

Family

ID=36908001

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100114737A Expired - Fee Related CN100493091C (zh) 2006-03-10 2006-03-10 基于会话初始化协议的流媒体直播p2p网络方法

Country Status (1)

Country Link
CN (1) CN100493091C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10248301B2 (en) 2012-06-01 2019-04-02 Microsoft Technology Licensing, Llc Contextual user interface

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100479528C (zh) * 2006-08-30 2009-04-15 华为技术有限公司 一种支持多音轨的方法、系统及流媒体服务器
CN101145921B (zh) * 2006-09-11 2011-01-19 千兆科技(深圳)有限公司 互联网高清视频广告系统及其实现方法
CN101068155B (zh) * 2006-09-20 2010-06-09 腾讯科技(深圳)有限公司 一种对等连接流媒体直播系统及其采集服务器
CN100559870C (zh) * 2006-09-21 2009-11-11 中国科学技术大学 视频点播系统及该系统实现数据部署的方法
CN100559871C (zh) * 2006-09-21 2009-11-11 中国科学技术大学 视频点播系统及通过该系统实现视频点播的方法
CN100593928C (zh) * 2006-09-30 2010-03-10 中国科学院计算技术研究所 一种基于数据特征的流媒体内容下载方法
KR20080030899A (ko) 2006-10-02 2008-04-07 엘지전자 주식회사 맞춤형 방송 신호 수신기 및 방송 수신 방법
KR101086418B1 (ko) 2006-11-29 2011-11-25 삼성전자주식회사 Ip 네트워크에서 정보를 송수신하는 방법 및 장치
CN100428670C (zh) * 2006-12-01 2008-10-22 清华大学 流媒体服务器用户层通信方法
CN101287102B (zh) * 2007-04-13 2010-06-30 中国科学院声学研究所 一种基于弹性重叠网络的存储流媒体数据下载方法
US20080294788A1 (en) * 2007-05-21 2008-11-27 Hong Kong Applied Science And Technology Research Institute Co., Ltd. Systems and methods for p2p streaming
CN101072326B (zh) * 2007-06-20 2011-12-21 华为技术有限公司 访问非归属签约iptv业务提供者业务的方法、系统和设备
KR101370381B1 (ko) * 2007-06-26 2014-03-06 삼성전자주식회사 Iptv 시스템의 사용자 단말장치 및 프록시 서버 그리고그들의 동작 방법
CN101350731B (zh) * 2007-07-17 2011-06-08 北京大学 一种节点永久离开判别方法及长期数据维护方案
CN101123528B (zh) * 2007-07-23 2012-01-11 中兴通讯股份有限公司 因特网网络电视的流媒体系统及创建方法
CN101094389B (zh) * 2007-07-24 2011-09-21 杭州华三通信技术有限公司 视频下载方法、视频服务器及监控中心系统
CN101365128A (zh) 2007-08-10 2009-02-11 中兴通讯股份有限公司 综合视频业务对等网络系统
CN101378491B (zh) * 2007-08-29 2010-08-25 华为技术有限公司 一种实现画中画视频的方法、系统及实体装置
CN101166190B (zh) * 2007-09-20 2010-10-13 腾讯科技(深圳)有限公司 影音文件的多源下载方法及装置
CN101415250B (zh) * 2007-10-16 2010-07-07 华为技术有限公司 Ip互联网络电视系统中会话建立的方法、系统及实体
CN101202640A (zh) * 2007-10-17 2008-06-18 深圳市同洲电子股份有限公司 一种流媒体数据播放控制方法及装置
CN101459664B (zh) * 2007-10-22 2010-10-20 华为技术有限公司 一种获取iptv业务媒体描述信息的方法及装置
CN101471855B (zh) * 2007-12-29 2012-12-12 华为终端有限公司 一种通信设备及其应用方法、系统
CN101197841B (zh) * 2007-12-29 2012-01-04 何名 音频定向传送方法及装置
CN101557331B (zh) * 2008-04-07 2012-02-15 华为技术有限公司 内容索引处理方法及系统、内容路由功能及内容分发控制实体
JP2010049526A (ja) 2008-08-22 2010-03-04 Sony Ericsson Mobile Communications Ab 携帯電子機器、コンテンツ再生装置、コンテンツ取得方法、コンテンツの所在通知方法、コンテンツ取得プログラム、コンテンツ所在通知方法、コンテンツ利用システム
CN101662407A (zh) * 2008-08-26 2010-03-03 华为技术有限公司 附着到对等网络及获取iptv内容的方法、系统和装置
CN101729357B (zh) * 2008-10-14 2013-06-05 华为技术有限公司 媒体文件存储处理与业务处理方法及装置、服务器集群
CN101459678B (zh) * 2009-01-08 2012-02-22 中国科学院计算技术研究所 一种数字媒体点播和数字资源下载的融合实现方法
CN101489108B (zh) * 2009-01-20 2011-06-15 深圳市同洲电子股份有限公司 节目内容处理的方法、系统及设备
CN101854374A (zh) * 2009-04-01 2010-10-06 日电(中国)有限公司 数据节点装置、对端信息获取方法和系统
CN101588492B (zh) * 2009-06-01 2012-01-11 中兴通讯股份有限公司 Iptv系统中播放素材发布方法及系统
CN101635831B (zh) * 2009-08-24 2013-01-02 成都市华为赛门铁克科技有限公司 一种p2p直播视频节点数据共享的方法、装置及代理系统
CN101997892A (zh) * 2009-08-25 2011-03-30 成都市华为赛门铁克科技有限公司 数据传输方法、装置、系统和网络节点
CN102045371A (zh) * 2009-10-20 2011-05-04 中兴通讯股份有限公司 业务处理装置及视频查询和搜索的方法
CN101778115B (zh) * 2010-02-03 2012-08-29 中国人民解放军国防科学技术大学 P2p-tv频道特征码出现规律的提取方法及基于其的p2p-tv频道识别方法和识别系统
CN102170456A (zh) * 2010-02-27 2011-08-31 华为技术有限公司 对等网络中获取内容的方法、装置和系统
CN101872556A (zh) * 2010-07-02 2010-10-27 苏州阔地网络科技有限公司 一种网页上实现的基于p2p的远程视频教育的方法
CN101894150B (zh) * 2010-07-05 2012-03-28 优视科技有限公司 移动通讯设备终端的互联网网页音视频采集方法及系统
CN102571372A (zh) * 2010-12-31 2012-07-11 北京大唐高鸿数据网络技术有限公司 一种ip广播系统的实现方法
CN103458318B (zh) * 2013-07-26 2016-12-28 融创天下(上海)科技发展有限公司 媒体数据传输方法及系统
CN103475638B (zh) * 2013-07-29 2016-09-07 融创天下(上海)科技发展有限公司 一种媒体数据传输方法及系统
CN103414886A (zh) * 2013-08-27 2013-11-27 北京汉邦高科数字技术股份有限公司 一种网络视频的传输方法
CN103648056A (zh) * 2013-12-09 2014-03-19 乐视致新电子科技(天津)有限公司 一种智能电视的点对点传输方法和装置
CN111131392A (zh) * 2019-11-27 2020-05-08 北京文渊佳科技有限公司 处理消息的方法、装置、电子设备及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10248301B2 (en) 2012-06-01 2019-04-02 Microsoft Technology Licensing, Llc Contextual user interface
US10963147B2 (en) 2012-06-01 2021-03-30 Microsoft Technology Licensing, Llc Media-aware interface

Also Published As

Publication number Publication date
CN1816053A (zh) 2006-08-09

Similar Documents

Publication Publication Date Title
CN100493091C (zh) 基于会话初始化协议的流媒体直播p2p网络方法
CN100372348C (zh) 网络媒体话机终端的应用和通信方法
CN108881133B (zh) 一种媒体数据的通信方法和装置
CN106331581A (zh) 一种移动终端与视联网终端通信的方法和装置
CN103518351A (zh) 使用文件递送方法的ip广播流式传输服务分布
CN101123527A (zh) 一种流媒体系统、信令转发设备以及流媒体发送方法
CN101222418A (zh) Rtsp客户端访问sip媒体资源的方法、系统及信令网关
CN101753963A (zh) 视频监控系统的权限控制方法和系统
CN201238327Y (zh) 融合型网络媒体话机终端
CN109302451A (zh) 一种图片文件的展示方法和系统
CN110113631A (zh) 一种视频流共享方法和系统
CN101789956A (zh) 一种实现数字家庭远程通讯服务的系统及方法
CN110035005A (zh) 数据处理方法和装置
CN109769123A (zh) 一种视联网数据的处理方法及系统
CN101257435B (zh) 基于nat-pt的sip应用层网关的实现方法
CN101453349B (zh) 一种处理实时流媒体协议的方法及系统
WO2009092240A1 (zh) 一种通信设备及其应用方法、系统
CN109936563A (zh) 一种同声传译的数据处理方法和装置
CN110213334A (zh) 一种共享文件的传输方法及装置
US20090144438A1 (en) Standards enabled media streaming
CN110138728A (zh) 一种视频数据的共享方法和装置
CN109347856A (zh) 一种视联网终端的登录方法和系统
CN103036882B (zh) P2p网络媒体话机终端
CN102291244A (zh) 一种云广播系统及方法
CN102137064A (zh) 基于下一代业务网络的多媒体会议录制方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: WUHAN SHIJIN JINQIAO SAFETY TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: TSINGHUA UNIVERSITY

Effective date: 20120918

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100084 HAIDIAN, BEIJING TO: WUHAN, HUBEI PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20120918

Address after: Wuhan City, East Lake high tech Development Zone Luoyu Road No. 876 laborers technology Huagong tech building 3F

Patentee after: Wuhan Shiji Jinqiao Safety Technology Co., Ltd.

Address before: 100084 Beijing 100084-82 mailbox

Patentee before: Tsinghua University

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090527

Termination date: 20150310

EXPY Termination of patent right or utility model