CN1185872C - 一种基于实时流媒体的现场点播方法 - Google Patents

一种基于实时流媒体的现场点播方法 Download PDF

Info

Publication number
CN1185872C
CN1185872C CNB021461449A CN02146144A CN1185872C CN 1185872 C CN1185872 C CN 1185872C CN B021461449 A CNB021461449 A CN B021461449A CN 02146144 A CN02146144 A CN 02146144A CN 1185872 C CN1185872 C CN 1185872C
Authority
CN
China
Prior art keywords
audio
user
video
video data
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.)
Expired - Fee Related
Application number
CNB021461449A
Other languages
English (en)
Other versions
CN1406070A (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.)
Tsinghua University
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 CNB021461449A priority Critical patent/CN1185872C/zh
Publication of CN1406070A publication Critical patent/CN1406070A/zh
Application granted granted Critical
Publication of CN1185872C publication Critical patent/CN1185872C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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)返回等待下一个音视频数据。
CNB021461449A 2002-11-01 2002-11-01 一种基于实时流媒体的现场点播方法 Expired - Fee Related CN1185872C (zh)

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 CN1406070A (zh) 2003-03-26
CN1185872C true 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)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7941554B2 (en) * 2003-08-01 2011-05-10 Microsoft Corporation Sparse caching for streaming media
CN1314250C (zh) * 2004-10-29 2007-05-02 清华大学 一种鲁棒的基于点对点的流调度方法
CN100334919C (zh) * 2005-03-25 2007-08-29 北京北方烽火科技有限公司 一种gmlc中多目标定位时用户上下文的管理方法
US8364024B2 (en) * 2009-02-03 2013-01-29 Broadcom Corporation Constructing video frames and synchronizing audio data in a media player from data received via a plurality of diverse protocol stack paths

Also Published As

Publication number Publication date
CN1406070A (zh) 2003-03-26

Similar Documents

Publication Publication Date Title
CN101075949A (zh) 一种改变流媒体文件播放速度的方法
CN1798097A (zh) 一种缓存流媒体数据的方法
CN1826592A (zh) 内容输出设备
CN1897658A (zh) 一种单向网的网页点播多媒体应用的系统及实现方法
CN101068336A (zh) 一种对等连接流媒体直播系统和装置
CN1992889A (zh) 一种流媒体移动终端的适配方法
CN1662988A (zh) 在高级数字视频记录系统中的应用设备指导编辑操作
CN1507731A (zh) 演示内容重放速率的实时控制技术
CN101059797A (zh) 视频文件自动转换的系统及其方法
CN1326298A (zh) 信息发送、处理方法及装置、信息记录和再现方法及装置
CN1805362A (zh) 一种游戏录像回放方法及装置
CN1801678A (zh) 一种数字广播中的内容播放方法、系统及接收装置
CN101064824A (zh) 一种播放音视频数据的方法、系统和装置
CN1185872C (zh) 一种基于实时流媒体的现场点播方法
CN1419380A (zh) 数字视频记录器和数字记录方法
CN1477537A (zh) 用于将流式数据记录到存储装置中的信息处理装置
CN1812567A (zh) 一种视频素材远程审看的方法
CN1852424A (zh) 一种流媒体节目的点播方法
CN1992888A (zh) 一种流媒体移动终端适配系统
CN1360256A (zh) 一种机顶盒软件动态升级的方法
CN1951017A (zh) 一种顺序压缩/解压缩数据的方法及装置
CN101047813A (zh) 控制数据广播应用的方法及其广播接收机
CN1976393A (zh) 一种电子业务指南的节目预告信息的组织和传输方法
CN1717030A (zh) 用于存储并搜索广播流的方法和设备
CN1992937A (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