CN102802041A - 支持多个实时动态数据源的智能流媒体服务器的实现方法 - Google Patents

支持多个实时动态数据源的智能流媒体服务器的实现方法 Download PDF

Info

Publication number
CN102802041A
CN102802041A CN2012102765687A CN201210276568A CN102802041A CN 102802041 A CN102802041 A CN 102802041A CN 2012102765687 A CN2012102765687 A CN 2012102765687A CN 201210276568 A CN201210276568 A CN 201210276568A CN 102802041 A CN102802041 A CN 102802041A
Authority
CN
China
Prior art keywords
streaming media
video
media server
source
server
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.)
Granted
Application number
CN2012102765687A
Other languages
English (en)
Other versions
CN102802041B (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.)
Fujian Chuanggao Zhilian Technology Co ltd
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201210276568.7A priority Critical patent/CN102802041B/zh
Publication of CN102802041A publication Critical patent/CN102802041A/zh
Application granted granted Critical
Publication of CN102802041B publication Critical patent/CN102802041B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明涉及一种支持多个实时动态数据源的智能流媒体服务器的实现方法,包括视频观看终端、流媒体数据源、流媒体服务器、视频源通信模块、应用服务器及应用服务器通信模块,本发明中的流媒体服务器不同于普通流媒体服务器,没有存放用户帐号以及权限的数据库,视频观看终端的身份认证和权限控制是在已有的应用服务器上完成的。因此更能适用于公共网络的应用,解决互联网连接不稳定的问题,随时取得最实时以及最稳定的传输效果。同时,本发明还提出了一种基于引用计数的内存缓冲池的管理办法,这种缓冲池的管理方式显著减低了传统的动态分配内存缓冲区的运行开销,同时也消除了对于单个视频观看终端能察看的数据源的个数限制。

Description

支持多个实时动态数据源的智能流媒体服务器的实现方法
 
技术领域
   本发明属于网络多媒体技术领域,尤其涉及一种支持多个实时动态数据源的智能流媒体服务器的实现方法。
背景技术
在诸多的实时网络流媒体应用如网络摄像机和即时通信中,基于点对点(peer-to-peer ,P2P)的网络技术因为其稳定的分散式结构和较低的运营成本而越来越普及。但是现有的点对点技术具有以下一些缺点:(1)点对点连接建立的时间比较长;(2)因为防火墙或网络地址翻译器(NAT)的大量部署,点对点连接无法保证100%的连接成功;(3)现在越来越普及的智能手机和平板电脑在不安装额外的应用程序情况下,无法支持特定程序的点对点连接。
现有的流媒体服务器大部分都是基于点播系统(VOD)模式,以静态的存储设备上的文件作为数据源。这种流媒体无法满足实时多媒体应用,主要体现在:
(1)     现有的主流流媒体服务器协议只能管理和发送静态流媒体文件,而实时流媒体应用中的数据源都是动态产生的,如电脑摄像头或者网络摄像机; 
(2)     现有的主流流媒体服务器通常都要求有特定的客户端软件,比较常用的flash软件,而很多智能手机或者平板电脑(如iPad)中都无法支持;
(3)     现有的主流流媒体服务器配置基本都很复杂,对服务器硬件的要求也很高,很难和实时流媒体应用进行整合。
除了上述的主流流媒体服务器,市面上也有一些内嵌在网络摄像机中的轻型流媒体服务器能够以超文本传送协议(HTTP)发送流媒体数据,但是这种流媒体服务器只能服务单一的数据源,无法作为真正的实用的流媒体服务器。而且,由于网络摄像机通常都部署在防火墙或者NAT后面,所以通过HTTP协议很难访问到这样的流媒体服务器。
发明内容
为解决上述现有技术中存在的问题,本发明提出一种支持多个实时动态数据源的智能流媒体服务器的实现方法,该方法克服了现有技术中流媒体服务器配置复杂、无法满足实时多媒体应用、只能服务单一的数据源等缺陷。
为实现上述发明目的,本发明采用的技术方案为:一种支持多个实时动态数据源的智能流媒体服务器的实现方法,包括视频观看终端、流媒体数据源、流媒体服务器、视频源通信模块、应用服务器及应用服务器通信模块,具体工作过程为:视频观看终端向应用服务器发出访问请求,经过应用服务器的身份认证,取得相应权限,并将这些数据通过进程通信约定函数发送给视频观看终端;同时,应用服务器在收到视频观看终端的请求后指示被请求的视频源去连接流媒体服务器并向流媒体服务器发送请求命令。流媒体服务器收到请求命令时,检查视频观看终端从已有的应用服务器那里拿到的进程通信约定函数,并依据进程通信约定函数,从视频源取得相关数据并转发到对应的视频观看终端。
进一步地,流媒体服务器采用基于引用计数的内存缓冲池管理方法管理视频数据,该方法包括以下步骤:
(1)        当流媒体数据源有数据来时,流媒体服务器从空闲缓冲池中申请一个空闲缓冲区分配给请求的数据源;
(2)        流媒体服务器将填充了数据的缓冲区添加到对应的视频观看终端的发送队列等待发送,由于同一个数据源可以被多个视频观看终端观看,所以填充的缓冲区可能被加到多个发送队列,每添加到一个队列,其对应的引用计数就被加1,而当某个缓冲区从某个发送队列发送出去后,其对应的引用计数就减1,为0时该缓冲区就被放回到空闲缓冲池中;
(3)         当流媒体数据源与某个视频观看终端的网络带宽不对称时,流媒体服务器根据该视频观看终端的实际速度自动丢弃来不及发送的缓冲区。
进一步地,流媒体数据源可以为网络摄像机、电脑摄像头或其他流媒体文件。
进一步地,视频观看终端为智能手机或电脑。
更进一步地,视频源通信模块支持实时视频流与抓拍格式连接视频源。
本发明采用的技术方案与现有技术相比,更能适用于公共网络的应用,解决互联网连接不稳定的问题,随时取得最实时以及最稳定的传输效果。采用基于引用计数的内存缓冲池管理方法显著减低了传统的动态分配内存缓冲区的运行开销,同时也消除了对于单个视频观看终端能察看的数据源的个数限制。
附图说明
图1本发明支持多个实时动态数据源的智能流媒体服务器系统框架图;
图2为基于引用计数的内存缓冲池管理方法的工作示意图。
具体实施方式
本发明支持多个实时动态数据源的智能流媒体服务器系统框架图如图1所示的,包括视频观看终端、流媒体数据源、流媒体服务器、视频源通信模块、应用服务器及应用服务器通信模块。本发明中的视频源通信模块支持实时视频流与抓拍格式连接视频源;应用服务器通信模块与现有的应用服务器模块实现方式类似,用来连接已有的应用服务器,例如XMPP服务器;流媒体数据源可以来自网络摄像机,或者装有摄像头的电脑,也可以是基于流媒体文件的实时流媒体数据源模拟器;对于流媒体服务器来说,流媒体数据源的类型是透明的,只要它们遵循同样的通信协议;应用服务器中有管理者建立的完整的用户列表以及授权列表;本发明中的流媒体服务器不同于普通流媒体服务器,没有存放用户帐号以及权限的数据库,视频观看终端的身份认证和权限控制是在已有的应用服务器如XMPP服务器上完成的。
本发明的工作过程如下:视频观看终端向应用服务器发出访问请求,经过应用服务器的身份认证,取得相应权限,并将这些数据通过进程通信约定(Socket)函数发送给视频观看终端;同时,应用服务器在收到视频观看终端的请求后指示被请求的视频源去连接流媒体服务器并向流媒体服务器发送请求命令。流媒体服务器收到请求命令时,检查视频观看终端从已有的应用服务器那里拿到的进程通信约定(Socket)函数,并依据进程通信约定(Socket)函数,通过调用基于引用计数的内存缓冲池的管理办法从视频源取得相关数据并转发到对应的视频观看终端。
本发明流媒体服务器的基于引用计数的内存缓冲池管理方法,其工作示意图如图2所示,图2中上面的大椭圆部分表示的是系统的空闲缓冲池,存放当前所有的空闲缓冲区。当视频数据源有数据来时,便从空闲缓冲池中申请一个空闲缓冲区分配给请求的数据源,如图2的中部所示,然后将填充了数据的缓冲区添加到对应的视频观看终端的发送队列等待发送,如图2的下面部分所示。因为同一个数据源可以被多个视频观看终端观看,所以填充的缓冲区可能被加到多个发送队列,每添加到一个队列,其对应的引用计数就加1,而当某个缓冲区从某个发送队列发送出去后,其对应的引用计数就减1,为0时该缓冲区就被放回到空闲缓冲池中。图2中每个缓冲区小括号中的数字代表该缓冲区的引用计数。
图2中可以看出视频观看终端2的网络下载速度比较慢,因为其发送队列中的等待发送的缓冲区比较多。这种数据源和视频观看终端的网络带宽不对称性在现实中是很常见的,而基于引用计数的缓冲池的管理则可以根据视频观看终端的实际速度自动丢弃来不及发送的缓冲区,从而达到对不同网络状况的视频观看终端实行不同的视频帧率的控制。
这种缓冲池的管理方式显著减低了传统的动态分配内存缓冲区的运行开销,同时也消除了对于单个视频观看终端能察看的数据源的个数限制。
本发明流媒体服务器支持最常见的超文本传送协议(HTTP),各种网页浏览器都可以支持:对于支持MJPEG的浏览器(如Firefox),流媒体服务器选择视频流(streaming)的方式;而对于无法支持MJPEG的浏览器(如IE或很多手机浏览器),流媒体服务器则选择抓拍(snapshot)的方式。因为几乎所有的网络设备基本都有网页浏览器,所以几乎所有的网络终端在无需安装额外的软件的情况下都可以作为视频观看终端。 

Claims (5)

1.一种支持多个实时动态数据源的智能流媒体服务器的实现方法,包括视频观看终端、流媒体数据源、流媒体服务器、视频源通信模块、应用服务器及应用服务器通信模块,其特征在于视频观看终端向应用服务器发出访问请求,经过应用服务器的身份认证,取得相应权限,并将这些数据通过进程通信约定函数发送给视频观看终端;同时,应用服务器在收到视频观看终端的请求后指示被请求的视频源去连接流媒体服务器并向流媒体服务器发送请求命令;流媒体服务器收到请求命令时,检查视频观看终端从已有的应用服务器那里拿到的进程通信约定函数,并依据进程通信约定函数,从视频源取得相关数据并转发到对应的视频观看终端。
2.如权利要求1所述的支持多个实时动态数据源的智能流媒体服务器的实现方法,其特征在于所述流媒体服务器采用基于引用计数的内存缓冲池管理方法管理视频数据,该方法包括以下步骤:
(1)当流媒体数据源有数据来时,流媒体服务器从空闲缓冲池中申请一个空闲缓冲区分配给请求的数据源;
(2)流媒体服务器将填充了数据的缓冲区添加到对应的视频观看终端的发送队列等待发送,由于同一个数据源可以被多个视频观看终端观看,所以填充的缓冲区可能被加到多个发送队列,每添加到一个队列,其对应的引用计数就被加1,而当某个缓冲区从某个发送队列发送出去后,其对应的引用计数就减1,为0时该缓冲区就被放回到空闲缓冲池中;
(3)当流媒体数据源与某个视频观看终端的网络带宽不对称时,流媒体服务器根据该视频观看终端的实际速度自动丢弃来不及发送的缓冲区。
3.如权利要求1所述的支持多个实时动态数据源的智能流媒体服务器的实现方法,其特征在于所述流媒体数据源可以为网络摄像机、电脑摄像头或其他流媒体文件。
4.如权利要求1所述的支持多个实时动态数据源的智能流媒体服务器的实现方法,其特征在于所述视频观看终端为智能手机或电脑。
5.如权利要求1所述的支持多个实时动态数据源的智能流媒体服务器的实现方法,其特征在于所述视频源通信模块支持实时视频流与抓拍格式连接视频源。
CN201210276568.7A 2012-08-06 2012-08-06 支持多个实时动态数据源的智能流媒体服务器的实现方法 Active CN102802041B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210276568.7A CN102802041B (zh) 2012-08-06 2012-08-06 支持多个实时动态数据源的智能流媒体服务器的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210276568.7A CN102802041B (zh) 2012-08-06 2012-08-06 支持多个实时动态数据源的智能流媒体服务器的实现方法

Publications (2)

Publication Number Publication Date
CN102802041A true CN102802041A (zh) 2012-11-28
CN102802041B CN102802041B (zh) 2015-01-14

Family

ID=47200992

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210276568.7A Active CN102802041B (zh) 2012-08-06 2012-08-06 支持多个实时动态数据源的智能流媒体服务器的实现方法

Country Status (1)

Country Link
CN (1) CN102802041B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104063452A (zh) * 2014-06-24 2014-09-24 武汉烽火众智数字技术有限责任公司 一种共享队列的读写方法与装置
CN105306967A (zh) * 2015-10-28 2016-02-03 天彩电子(深圳)有限公司 一种云视频平台中的资源调配方法
US9307268B2 (en) 2013-12-16 2016-04-05 Industrial Technology Research Institute System and method for providing video-on-demand (VOD) service in network
CN105681325A (zh) * 2016-02-26 2016-06-15 深圳市磊科实业有限公司 一种快速响应对ipc的视频流实时请求的方法和装置
CN105897675A (zh) * 2015-11-27 2016-08-24 乐视云计算有限公司 视频服务提供方法、访问鉴权方法及服务器和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101046755A (zh) * 2006-03-28 2007-10-03 郭明南 一种计算机自动内存管理的系统及方法
CN101123718A (zh) * 2007-09-13 2008-02-13 华为技术有限公司 多媒体点播的方法及系统、多媒体终端
CN101719990A (zh) * 2009-12-18 2010-06-02 深圳市融创天下科技发展有限公司 一种流媒体直播节目审查方法
CN101826137A (zh) * 2010-04-14 2010-09-08 四川真视信息技术有限公司 基于网页的动态场景还原系统
CN101997872A (zh) * 2010-10-21 2011-03-30 中兴通讯股份有限公司 降低流媒体码流发送抖动的方法及流媒体服务器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101046755A (zh) * 2006-03-28 2007-10-03 郭明南 一种计算机自动内存管理的系统及方法
CN101123718A (zh) * 2007-09-13 2008-02-13 华为技术有限公司 多媒体点播的方法及系统、多媒体终端
CN101719990A (zh) * 2009-12-18 2010-06-02 深圳市融创天下科技发展有限公司 一种流媒体直播节目审查方法
CN101826137A (zh) * 2010-04-14 2010-09-08 四川真视信息技术有限公司 基于网页的动态场景还原系统
CN101997872A (zh) * 2010-10-21 2011-03-30 中兴通讯股份有限公司 降低流媒体码流发送抖动的方法及流媒体服务器

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9307268B2 (en) 2013-12-16 2016-04-05 Industrial Technology Research Institute System and method for providing video-on-demand (VOD) service in network
CN104063452A (zh) * 2014-06-24 2014-09-24 武汉烽火众智数字技术有限责任公司 一种共享队列的读写方法与装置
CN105306967A (zh) * 2015-10-28 2016-02-03 天彩电子(深圳)有限公司 一种云视频平台中的资源调配方法
CN105897675A (zh) * 2015-11-27 2016-08-24 乐视云计算有限公司 视频服务提供方法、访问鉴权方法及服务器和系统
CN105681325A (zh) * 2016-02-26 2016-06-15 深圳市磊科实业有限公司 一种快速响应对ipc的视频流实时请求的方法和装置
CN105681325B (zh) * 2016-02-26 2019-02-19 深圳市磊科实业有限公司 一种快速响应对ipc的视频流实时请求的方法和装置

Also Published As

Publication number Publication date
CN102802041B (zh) 2015-01-14

Similar Documents

Publication Publication Date Title
CN104539977B (zh) 直播预览方法及装置
CN102546779B (zh) 一种跨设备间应用数据的同步方法及装置
CN102843436B (zh) 一种设备管理方法、设备、服务器以及系统
US20140165119A1 (en) Offline download method, multimedia file download method and system thereof
CN105516820A (zh) 一种弹幕交互方法和装置
CN105577549A (zh) 一种基于软件定义网络实现内容分发网络的方法及系统
CN103581245A (zh) 一种内容分发网络内容分发的方法及系统
CN104506950A (zh) 网络流媒体播放中的多线程下载方法、装置及下载设备
CN102802041A (zh) 支持多个实时动态数据源的智能流媒体服务器的实现方法
CN102523177A (zh) 一种消息推送服务的实现方法与系统
CN107888666A (zh) 一种跨地域数据存储系统以及数据同步方法和装置
CN103605798A (zh) 一种直接操作云端存储文件的方法
CN104219286A (zh) 流媒体处理方法、装置、客户端、cdn节点服务器及终端
CN103108008A (zh) 一种下载文件的方法及文件下载系统
CN103179148A (zh) 一种在互联网中分享附件的处理方法和系统
CN102523298A (zh) 基于移动终端的视频采集分享系统及其处理方法
CN103095684A (zh) 获取关注用户聚合信息的方法、装置及系统
CN115294310B (zh) 基于gis云渲染的多用户场景控制系统、方法及存储介质
CN103826139A (zh) Cdn系统、观看服务器以及流媒体数据传输方法
CN102938775A (zh) 一种视频微博发布方法、系统及客户端
CN104581421A (zh) 一种点对点流媒体下载方法及节点终端装置
CN105357260B (zh) 实现虚拟桌面的系统、vdi数据缓存方法和vdi缓存设备
US10505811B2 (en) Multi-terminal interaction relation maintenance system and method
CN103973747A (zh) 一种获取内容的方法和装置
CN111385593A (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
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160224

Address after: 212006 Zhenjiang city of Jiangsu province science and technology park by twelve Dingmao Road 99, 41 floor of Building 2

Patentee after: Jiangsu Wanlian new trillion Mdt InfoTech Ltd (foreign joint ventures)

Address before: 212009 Zhenjiang City, Jiangsu province science and Technology Park Dingmao Road No. 470 room 955 twelve

Patentee before: He Jianyi

TR01 Transfer of patent right

Effective date of registration: 20210401

Address after: 350000 617, overseas Chinese Pioneer Park, 108 Jiangbin East Avenue, Fuzhou Development Zone, Fuzhou City, Fujian Province

Patentee after: CHUANGO SECURITY TECHNOLOGY Corp.

Address before: 212006 2nd floor, building 41, 99 jing12 Road, Dingmao science and technology new town, Zhenjiang City, Jiangsu Province

Patentee before: Jiangsu Wanlian Xinzhao Information Technology Co.,Ltd. (foreign joint venture)

TR01 Transfer of patent right
CP03 Change of name, title or address

Address after: 350000 6th floor, building 3, Fuzhou Internet of things industrial innovation and development center, No. 136, Kuiqi Road, Mawei District, Fuzhou City, Fujian Province

Patentee after: Fujian chuanggao Zhilian Technology Co.,Ltd.

Address before: 350000 617, overseas Chinese Pioneer Park, 108 Jiangbin East Avenue, Fuzhou Development Zone, Fuzhou City, Fujian Province

Patentee before: CHUANGO SECURITY TECHNOLOGY Corp.

CP03 Change of name, title or address