CN1406070A - 一种基于实时流媒体的现场点播方法 - Google Patents
一种基于实时流媒体的现场点播方法 Download PDFInfo
- Publication number
- CN1406070A CN1406070A CN02146144A CN02146144A CN1406070A CN 1406070 A CN1406070 A CN 1406070A CN 02146144 A CN02146144 A CN 02146144A CN 02146144 A CN02146144 A CN 02146144A CN 1406070 A CN1406070 A CN 1406070A
- Authority
- CN
- China
- Prior art keywords
- user
- audio
- video data
- video
- unit
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 239000000872 buffer Substances 0.000 claims abstract description 14
- 230000003139 buffering effect Effects 0.000 claims description 38
- 230000006870 function Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明属于计算机多媒体技术领域,包括:接收到的n个用户点播请求信息分别送到所请求码流的各用户链表的1-M单元中;n路音视频数据由压缩编码服务器同时送到各音视频数据接收缓冲区的1-L单元中;将接收缓冲区中的音视频数据分别发送到对应码流的音视频数据转发缓冲区的1-K单元中;读对应码流的用户链表中的用户,将不同码流的音视频转发缓冲区中数据转发给对应的用户,用户通过播放器欣赏所请求码流的节目。本发明同时设置接收缓冲区和转发缓冲区,使其具有支持大容量用户,且可提供多路音视频数据转发功能的优点。
Description
技术领域
本发明属于计算机多媒体技术领域,特别涉及流媒体播放服务器设计技术。
背景技术
流媒体技术是近年来兴起的一种在线播放技术。在线播放,顾名思义就是边下载边播放,播放器并不用等到多媒体文件全部下载到本地硬盘以后再播放,而是在下载的同时进行播放。播放器在客户端的内存中开辟出一个缓冲区,通常是几兆字节的空间,播放器等待缓冲区中有足够的数据后开始解码播放,这个过程通常需要几秒钟的时间,同下载完后再播放相比大大节省了等待时间,而且由于没有下载到硬盘上,而是直接存储到内存中,播放完后即被播放器删除,因此对数字版权起到保护作用。
流媒体系统如图1所示,主要由四部分组成:压缩编码服务器、播放服务器、文件服务器、播放器。播放服务器在流媒体系统中处于核心位置,它的设计的优劣将直接决定流媒体系统性能的好坏。播放服务器对外提供的服务主要有文件点播和现场点播两种。文件点播的源是音视频文件,现场点播的来源是编码服务器。由于编码服务器要进行实时节目的采集压缩,已经占用了大量的CPU资源,因此不能支持大容的用户接入,这部分工作就要转移到播放服务器上,由播放服务器直接对用户提供现场点播功能。
当前的播放服务器对用户提供基于实时流媒体的现场点播方法,如图2所示包括;用户点播的信息通过用户接收单元送到用户链表中,用户所需的音视频数据由压缩编码服务器送到音视频数据接收单元的音视频缓冲区中,然后根据用户点播的信息将用户所需的音视频数据送到用户播放器中进行在线播放。
上述播放服务器是针对单码率的压缩编码服务器设计的,只能启动单路音视频数据转发功能,且支持的用户数少。
发明内容
本发明的目的是为克服已有技术的不足之处,提出一种基于实时流媒体的现场点播方法,本发明同时设置接收缓冲区和转发缓冲区,使其具有支持大容量用户,且可提供多路音视频数据转发功能的优点。
本发明提出的一种基于实时流媒体的现场点播方法,包括以下步骤:
1)接收到的n个用户点播请求信息分别送到所请求码流的各用户链表的1-M单元中;
2)n路音视频数据由压缩编码服务器同时送到各音视频数据接收缓冲区的1-L单元中;
3)接收缓冲区中的音视频数据分别发送到对应码流的音视频数据转发缓冲区的1-K单元中;
4)读对应码流的用户链表中的用户,将不同码流的音视频转发缓冲区中数据转发给对应的用户,用户通过播放器欣赏所请求码流的节目。
本方法的结构设计共有n路输入,每一路输入对应不同的现场直播节目的码流或者是同一现场直播节目不同码率的码流。
上述的步骤1的具体实现方法,可包括以下步骤:
(1)等待用户接入;
(2)当有用户点播接入,根据用户所请求的现场直播节目或者所请求的码率,将该用户信息放到对应码流的用户链表单元1到单元M中;
(3)然后返回等待下一个用户的接入。
上述步骤3的具体实现方法,可包括以下步骤:
(1)等待音视频接收缓冲区单元1到单元L中的数据;
(2)若音视频接收缓冲区单元1到单元L中有数据;
(3)将音视频数据放到对应码流的音视频转发缓冲区的单元1到单元K中后,等待下一个音视频数据的到来;
(4)若音视频接收缓冲区单元1到单元L中无数据,则等待下一个音视频数据的到来。
步骤4的具体实现方法,可包括以下步骤:
(1)等待音视频转发缓冲区中的数据;
(2)音视频转发缓冲区中有音视频数据,判断对应码流的用户链表中是否有用户接入信息,若没有扔掉该音视频数据,然后返回步骤1;
(3)若有用户接入信息,就遍历用户链表单元1到单元M,将音视频转发缓冲区中的音视频数据转发给对应码流的用户链表中的每一个用户;
(4)返回等待下一个音视频数据。
本发明的方法特点:
1.可以接收多个实时节目源,或同一实时节目源不同编码速率;
2.支持大量的用户点播接入;
3.音视频输入和用户点播采用模块化设计;
4.结构清晰;
5.可靠性高。
附图说明
图1为典型的流媒体系统结构图。
图2为已有的单路音视频数据转发流程图。
图3为本发明的基于实时流媒体的现场点播方法总体流程图。
图4为本发明的用户接收方法详细流程图。
图5为本发明的音视频数据接收方法详细流程图。
图6为本发明的音视频数据转发方法详细流程图。
具体实施方式
本发明提出的基于实时流媒体的现场点播方法实施例结合附图详细说明如下:
本发明提出的一种基于实时流媒体的现场点播方法总体流程,如图3所示,包括以下步骤:
1)接收到的n个用户点播请求信息分别送到所请求码流的各用户链表的1-M单元中;
2)路音视频数据由压缩编码服务器同时送到各音视频数据接收缓冲区的1-L单元中;
3)将接收缓冲区中的音视频数据分别发送到对应码流的音视频数据转发缓冲区的1-K单元中;
4)读对应码流的用户链表中的用户,将不同码流的音视频转发缓冲区中数据转发给对应的用户,用户通过播放器欣赏所请求码流的节目。
本方法的结构设计共有n路输入,每一路输入对应不同的现场直播节目的码流或者是同一现场直播节目不同码率的码流。
上述的总体步骤1的具体实现方法,如图4所示,包括以下步骤:
(1)等待用户接入;
(2)当有用户点播接入,根据用户所请求的现场直播节目或者所请求的码率,将该用户信息放到对应码流的用户链表单元1到单元M中;
(3)然后返回等待下一个用户的接入。
上述总体步骤3的具体实现方法,如图5所示,包括以下步骤:
(1)等待音视频接收缓冲区单元1到单元L中的数据;
(2)若音视频接收缓冲区单元1到单元L中有数据;
(3)将音视频数据放到对应码流的音视频转发缓冲区的单元1到单元K中后,等待下一个音视频数据的到来;
(4)若音视频接收缓冲区单元1到单元L中无数据,则等待下一个音视频数据的到来。
上述总体步骤4的具体实现方法如图6所示,包括以下步骤:
(1)等待音视频转发缓冲区中的数据;
(2)音视频转发缓冲区中有音视频数据,判断对应码流的用户链表中是否有用户接入信息,若没有扔掉该音视频数据,然后返回步骤1;
(3)若有用户接入信息,就遍历用户链表单元1到单元M,将音视频转发缓冲区中的音视频数据转发给对应码流的用户链表中的每一个用户;
(4)返回等待下一个音视频数据。
本发明的实施例实现方法结合图3、4、5、6所示,详细说明如下,本实施例包括以下步骤:
1.用户接收线程启动后,等待用户点播接入;
2.当有用户接入,根据用户所请求码流的码率,用户接收线程将该用户信息放入对应码流的用户链表中,然后返回等待下一个用户的接入;
3.音视频接收线程从对应码流的音视频接收缓冲区接收音视频数据,若音视频接收缓冲区中有数据,将音视频数据转发到对应码流的音视频转发缓冲区中,然后继续等待下一个音视频数据的到来;
4.音视频转发线程等待音视频转发缓冲区中的音视频数据,若音视频转发缓冲区中有音视频数据,然后判断对应码流的用户链表中是否有用户,若用户数大于1,就遍历用户链表,将音视频转发缓冲区中的音视频数据转发给用户;如对应码流用户链表中没有用户,将收到的音视频数据扔掉,然后返回等待音视频转发缓冲区中的下一个音视频数据数据。
本实施例采用的压缩编码服务器的配置为:
CPU:Intel PIII 1GHz
内存:128M
操作系统:RedHat7.1 Linux Server
编程语言:C++
节目源:n=3同一节目的不同编码速率:
rate1=100kbps
rate2=450kbps
rate3=900kbps
本实施例中的参数的设置为:
最大用户接入数:3000
音视频接收缓冲区L=50
音视频转发缓冲区K=50
用户链表M=3000
音视频缓冲区和用户链表均采用单向链表实现,音视频数据接收、用户接入、音视频数据的转发均采用线程实现。
Claims (4)
1、一种基于实时流媒体的现场点播方法,包括以下步骤:
1)将接收到的n个用户点播请求信息分别送到所请求码流的各用户链表的1-M单元中;
2)n路音视频数据由压缩编码服务器同时送到各音视频数据接收缓冲区的1-L单元中;
3)将接收缓冲区中的音视频数据分别发送到对应码流的音视频数据转发缓冲区的1-K单元中;
4)根据读对应码流的用户链表中的用户,将不同码流的音视频转发缓冲区中数据转发给对应的用户,用户通过播放器欣赏所请求码流的节目。
2、如权利要求1所述的基于实时流媒体的现场点播方法,其特征在于,所说的步骤1具体包括以下步骤:
(1)等待用户接入;
(2)当有用户点播接入,根据用户所请求的现场直播节目或者所请求的码率,将该用户信息放到对应码流的用户链表单元1到单元M中;
(3)然后返回等待下一个用户的接入。
3、如权利要求1所述的基于实时流媒体的现场点播方法,其特征在于,所说的步骤3具体包括以下步骤:
(1)等待音视频接收缓冲区单元1到单元L中的数据;
(2)若音视频接收缓冲区单元1到单元L中有数据;
(3)将音视频数据放到对应码流的音视频转发缓冲区的单元1到单元K中后,等待下一个音视频数据的到来;
(4)若音视频接收缓冲区单元1到单元L中无数据,则等待下一个音视频数据的到来。
4、如权利要求1所述的基于实时流媒体的现场点播方法,其特征在于,所说的步骤4具体包括以下步骤:
(1)等待音视频转发缓冲区中的数据;
(2)音视频转发缓冲区中有音视频数据,判断对应码流的用户链表中是否有用户接入信息,若没有扔掉该音视频数据,然后返回步骤1;
(3)若有用户接入信息,就遍历用户链表单元1到单元M,将音视频转发缓冲区中的音视频数据转发给对应码流的用户链表中的每一个用户;
(4)返回等待下一个音视频数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021461449A CN1185872C (zh) | 2002-11-01 | 2002-11-01 | 一种基于实时流媒体的现场点播方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021461449A CN1185872C (zh) | 2002-11-01 | 2002-11-01 | 一种基于实时流媒体的现场点播方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1406070A true CN1406070A (zh) | 2003-03-26 |
CN1185872C CN1185872C (zh) | 2005-01-19 |
Family
ID=4751011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB021461449A Expired - Fee Related CN1185872C (zh) | 2002-11-01 | 2002-11-01 | 一种基于实时流媒体的现场点播方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1185872C (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1314250C (zh) * | 2004-10-29 | 2007-05-02 | 清华大学 | 一种鲁棒的基于点对点的流调度方法 |
CN100334919C (zh) * | 2005-03-25 | 2007-08-29 | 北京北方烽火科技有限公司 | 一种gmlc中多目标定位时用户上下文的管理方法 |
CN100456284C (zh) * | 2003-08-01 | 2009-01-28 | 微软公司 | 用于流媒体的分散高速缓存 |
CN101867692B (zh) * | 2009-02-03 | 2012-08-15 | 美国博通公司 | 一种通信方法和通信系统 |
-
2002
- 2002-11-01 CN CNB021461449A patent/CN1185872C/zh not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100456284C (zh) * | 2003-08-01 | 2009-01-28 | 微软公司 | 用于流媒体的分散高速缓存 |
CN1314250C (zh) * | 2004-10-29 | 2007-05-02 | 清华大学 | 一种鲁棒的基于点对点的流调度方法 |
CN100334919C (zh) * | 2005-03-25 | 2007-08-29 | 北京北方烽火科技有限公司 | 一种gmlc中多目标定位时用户上下文的管理方法 |
CN101867692B (zh) * | 2009-02-03 | 2012-08-15 | 美国博通公司 | 一种通信方法和通信系统 |
Also Published As
Publication number | Publication date |
---|---|
CN1185872C (zh) | 2005-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101075949A (zh) | 一种改变流媒体文件播放速度的方法 | |
CN1516184A (zh) | 一种多媒体数据的处理方法 | |
CN1798097A (zh) | 一种缓存流媒体数据的方法 | |
CN1826592A (zh) | 内容输出设备 | |
CN1551643A (zh) | 移动通信系统的基于超文本传输协议的视频流设备和方法 | |
CN1754370A (zh) | 用于广播多媒体内容的系统 | |
CN1462535A (zh) | 本地内容代替单播的数据流系统 | |
CN1870717A (zh) | 一种网络电视用机顶盒 | |
CN101068155A (zh) | 一种对等连接流媒体直播系统及其采集服务器 | |
CN1507731A (zh) | 演示内容重放速率的实时控制技术 | |
CN1692353A (zh) | 用于流媒体的稀少高速缓存 | |
CN1217317C (zh) | 音频信号编码 | |
CN1798383A (zh) | 用于提供终端中的广播流的暂停功能的装置和方法 | |
CN101068336A (zh) | 一种对等连接流媒体直播系统和装置 | |
CN101060418A (zh) | 适用于带时移iptv直播服务器的专用磁盘读写系统 | |
CN101076135A (zh) | 多媒体录制、回放方法及处理系统 | |
CN1241410C (zh) | 数字广播系统中控制应用程序操作时间点的方法和设备 | |
CN1496118A (zh) | 视频记录/再现装置及其存储设备的控制方法 | |
CN1185872C (zh) | 一种基于实时流媒体的现场点播方法 | |
CN1419380A (zh) | 数字视频记录器和数字记录方法 | |
CN1477537A (zh) | 用于将流式数据记录到存储装置中的信息处理装置 | |
CN1852424A (zh) | 一种流媒体节目的点播方法 | |
CN1992889A (zh) | 一种流媒体移动终端的适配方法 | |
CN101047813A (zh) | 控制数据广播应用的方法及其广播接收机 | |
CN1474276A (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 | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20050119 Termination date: 20141101 |
|
EXPY | Termination of patent right or utility model |