CN108881944A - 一种流媒体加速发布方法与系统 - Google Patents
一种流媒体加速发布方法与系统 Download PDFInfo
- Publication number
- CN108881944A CN108881944A CN201810614738.5A CN201810614738A CN108881944A CN 108881944 A CN108881944 A CN 108881944A CN 201810614738 A CN201810614738 A CN 201810614738A CN 108881944 A CN108881944 A CN 108881944A
- Authority
- CN
- China
- Prior art keywords
- server
- streaming media
- video
- user
- cache
- 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 43
- 230000007246 mechanism Effects 0.000 claims abstract description 3
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000009434 installation Methods 0.000 claims description 3
- 230000000644 propagated effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 6
- 238000012384 transportation and delivery Methods 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/231—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
- H04N21/23113—Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving housekeeping operations for stored content, e.g. prioritizing content for deletion because of storage space restrictions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2389—Multiplex stream processing, e.g. multiplex stream encrypting
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种流媒体加速发布方法与系统,所述方法包括:引入虚拟机技术,即在一个物理机上运行多个虚拟机,转码服务器和流媒体服务器独立运行在虚拟机上;缓存服务器利用内存优先,磁盘备用缓存机制缓存视频流;局域网用户观看同一视频,通过流媒体转发模块进行共享。
Description
技术领域
本发明涉及流媒体领域,特别是涉及流媒体加速发布方法与系统。
背景技术
随着流媒体技术高速发展,4G网络甚至5G网络的普及带给人们更加便捷的生活方式,使网络视频直播服务成为现代流媒体服务的重要组成部分,也导致流媒体服务规模逐渐增大,数据量急剧增加。如何高效地发布视频直播源已经成为了视频提供商和网络运营商面临的一大挑战。
流媒体的数据中心通常是由庞大的物理机(Physical Machine,PM)群组成。在数据中心尤其是云数据中心,如何充分的利用物理机资源,降低功耗,减少维护成本,以及最大限度利用网络带宽等,都是流媒体服务商需要重点关注的问题。
目前的流媒体分发策略主要有:IP单播技术、IP组播技术、P2P技术、CDN(ContentDelivery Network)技术。大规模流媒体应用主要面临服务质量 (Quality of Service,QoS)和可扩展性的问题。采用基于 C/S(Client/Server)结构的IP单播技术,不但无法保证QoS,而且可扩展性较差。
传统流媒体中心服务器,由多个物理机组成,出于出于对安全、可靠性和性能的考虑,这些服务器基本上只运行一种应用服务.通常中心服务器数量是根据峰值服务请求进行配置的,在大多数时间段内, 大多数服务器处于空闲状态,造成服务器利用率低下。在某时间段,一些流媒体中心服务器负载比较重,而其他服务器负载可能比较轻。如果一个服务器能够同时提供多种服务应用,原来由多个服务器分别提供服务就可以用 1 个中心服务器来同时提供这些服务。虚拟化技术为这个设想的实现提供了可行的解决方案,通过服务器虚拟化,一个物理服务器可被虚拟化成若干个虚拟服务器使用。不同的虚拟服务器也称为虚拟机(virtual machine,简称VM)。提供资源虚拟化技术的软件称为虚拟机监视器(virtual machine monitor,简称 VMM)。虚拟机监视器直接运行在硬件上或操作系统中,虚拟机运行在虚拟机监视器上。虚拟机操作系统使用的是虚拟化资源,虚拟机监视器负责虚拟资源到物理资源的映射。这样,中心服务器可根据不同类型服务应用负载的不同,减少执行轻载服务应用的虚拟机的物理资源,增加执行重载服务应用的虚拟机的物理资源。
当传统缓存服务器面临大规模数据访问时,缓存区往往被频繁读写,磁盘 I/O 响应速度成为性能瓶颈,从而导致过高的响应延迟。如果将高速内存作为数据对象的存储介质,数据以 key/value 形式存储,理想情况下可以获得DRAM级的读写性能。
另一方面,在同一局域网内,传统流媒体访问方法是每个请求用户需要向中心流媒体服务器获取视频内容,如此极大消耗了可用带宽,增加了中心流媒体服务器压力,因为带宽占用导致视频播放卡顿,带来的用户体验变差。
发明内容
于针对上述流媒体发布问题,本发明提供一种用于缓解中心服务器压力提高用户体验的流媒体加速发布方法与系统。
本发明的技术方案:一种流媒体加速发布方法与系统,基于互联网发布流媒体,所述方法包括:
一个以上视频采集设备,用于将模拟信号转换为原始数字视频流,通过有线或者无线接口传送给中心服务器。
如上所述中心服务器,在至少一台物理机上安装虚拟机平台,创建两个虚拟机系统,分别独立运行转码服务器和中心流媒体服务器(以下简称流媒体服务器)。
所述转码服务器将接收到的所述原始数字视频流转换成通用的TS流媒体文件并暂时存储在内存,同时告知流媒体服务器转换后的TS视频流文件暂存地址(ip+路径)。
所述流媒体服务器记录所述TS视频流文件地址,在接收到用户视频内容请求后,判断TS文件是否存在远程缓存服务器,如果不存在,则根据所述记录的TS流文件地址推流给缓存服务器,同时将用户请求重定向到缓存服务器地址。
所述缓存服务器,至少一个以上,由内存和磁盘作为缓存介质,内存缓存优先级高于磁盘,首先所述流媒体服务器判断剩余内存容量是否满足当前任务,如果满足,则将TS文件存储在内存,同时根据最近最久未使用LRU算法删除部分TS文件。否则,将TS文件存储在磁盘。
客户端发送HTTP连接请求视频内容后,根据所述流媒体服务器重定向的缓存服务器地址,从缓存服务器上进行拉流观看视频,缓存服务器同步记录用户信息。
所述缓存服务器进一步包括:
安装一个缓存服务器,用于推流给用户;存储管理模块,包括LRU算法模块,用于刷新TS文件,提高资源利用率。用户信息记录模块,用于记录用户访问信息。
所述缓存服务器,仅仅用于推流视频流给用户。
所述存储管理模块,根据剩余容量动态调整内存缓存区大小,磁盘不调整。间隔一段时间执行一次LRU算法更新TS文件。
所述用户信息记录模块,当用户观看了此缓存服务器上的视频,此模块记录用户各种信息,包括:ip地址,当前观看的内容,带宽大小等,同时实时上报给中心流媒体服务器。
第二方面,本发明还公开了一种流媒体加速发布方法与系统,基于局域网流媒体分享方法 ,所述方法包括:
经由客户端(PC浏览器或移动端浏览器)发送视频内容请求,其中客户端浏览器通过带有浏览器版本的http连接发送请求,经由Internet到达流媒体服务器。
所述中心流媒体服务器收到请求后经过第一方面所述的步骤,重定向用户请求连接到缓存服务器。局域网内第一个观看此视频的用户称为初始用户,初始用户从缓存服务器上拉流观看视频,在初始用户观看途中如果同一局域网内有其他用户请求同一视频,所述中心流媒体服务器查询所述缓存服务器上报的记录信息重定向请求到初始用户连接到的缓存服务器,缓存服务器查询当前局域网内是否有用户在观看此视频,如果有,则发送共享请求协议征求初始用户同意,如果初始用户同意,则推送流媒体转发模块在初始用户的客户端安装。初始用户开始共享视频,请求用户根据缓存服务器的重定向连接从局域网内初始用户的连接地址拉流观看视频,否则用户从缓存服务器拉流观看或拒绝此用户观看。
所述流媒体转发模块,包括:
缓存模块,一个嵌入式流媒体服务器,用户信息记录模块。
为了降低用户观看代价,规定一个用户只服务有限个请求。
所述缓存模块,在用户观看视频同时缓存TS流文件,同时刷新TS流文件,缓存区只存储能够使二级用户流畅观看的TS切片文件数量。
所述嵌入式流媒体服务器特点是精简,消耗资源低。能满足局域网流媒体服务。在接收到用户请求之后,将缓存里的TS文件推流到请求用户。
所述用户信息记录模块,记录局域网请求用户的信息,以便进行局域网内下一级转发。
本发明的有益效果:本发明引入虚拟机技术克服了传统流媒体服务多物理机服务引起的资源利用率低下的问题,同时利用内存型缓存服务器加快了资源读取速度;针对传统流媒体发布方法在局域网内服务体验差资源利用率低,本发明提出并实施了局域网流媒体共享方法,有效缓解了中心服务器负载和宽带的压力,提升了用户体验。
附图说明
下面参考结合附图所进行的下列描述,以便更透彻地理解本公开内容,在附图中:
图1是本发明实施例流媒体加速发布系统架构示意图;
图2是本发明实施例流媒体加速发布方法根据图一客户端请求视频流程图;
图3是本发明实施例流媒体加速发布系统客户端结构框图;
图4是本发明实施例流媒体加速发布系统局域网流媒体共享结构示意图;
图5是本发明实施例流媒体加速发布方法局域网流媒体共享流程图。
具体实施方式
下面将详细描述本发明的具体实施例,在附图中示出了本发明的实施例。然而,可以以许多不同形式来体现本发明,并且不应将其理解为局限于本文阐述的实施例。相反,提供这些实施例使得本公开将是透彻和完整的,并将向本领域的技术人员全面传达本发明的范围。相同的附图标记自始至终指示相同的元素。
应理解的是,虽然术语“第一”、“第二”等在本文中可以用来描述各种元素,但这些元素不应受到这些术语的限制。这些术语仅用来将一个元素与另一个区别开。
本文所使用的术语仅仅是出于描述特定实施例的目的,并且并不意图限制本发明。除非上下文明确指明,本文所使用的单数形式“一个”、“一种”和“该”意图也包括复数形式。还应理解的是当在本文中使用时,术语“包括”和/或“包含”指定所述特征、整体、步骤、操作、元素和/或组件的存在,但是不排除一个或多个其他特征、整体、步骤、操作、元素、组件和/或其群组的存在或添加。
除非另外定义,本文所使用的所有术语(包括技术和科学术语)具有与本发明所属领域的普通技术人员一般理解的相同的意义。还应理解的是应将本文所使用的术语解释为具有与其在本说明书和相关领域的上下文中的意义一致的意义,并且不应以理想化或过度形式化的意义来进行解释,除非在本文中明确地这样定义。
在以下描述中,除非明确指出,术语“缓存文件”和“TS文件”、”切片文件”可以互换使用,它们都表示流媒体的流式文件这个含义。
一种流媒体加速发布方法与系统,所述方法包括:(1)在流媒体发布系统中,引入虚拟机技术,将服务应用运行在由一个物理服务器托管的2个以上独立的虚拟服务器上,即在一个物理机上运行多个虚拟机,转码服务器和流媒体服务器独立运行在虚拟机上;(2)缓存服务器利用内存优先,磁盘备用缓存机制缓存视频流;(3)局域网用户观看同一视频,通过流媒体转发模块进行共享。
述流媒体发布系统包括:
视频采集系统,用于采集视频流信息;
转码服务器,将原始视频流转换成可在网络上传播的通用视频流格式,将转换后的视频流缓存连接告知流媒体服务器;
流媒体服务器,根据用户请求,从转码服务器获取视频流位置并将视频流推流给用户或缓存服务器,记录用户信息,视频信息和缓存服务器位置信息;
缓存服务器,用于缓存多个视频流,加快用户播放速度,同时记录用户信息,动态删除已经播放过并且存储时间超过最大存储阀值的视频TS片;
所述的流媒体转发模块,用于局域网内,用户观看视频前,发送请求到流媒体服务器,流媒体服务器响应请求,重定向用户请求到缓存服务器,缓存服务器收到请求后根据记录表查询局域网内其他用户是否在观看同一视频,如果有,则重定向用户从局域网用户获取缓存视频观看。
转码服务器和流媒体服务器独立运行在虚拟机上,虚拟机由主机按需分配物理资源,转码服务器将接收到的原始视频流进行转码,并在内存中缓存,同时告知流媒体服务器缓存位置信息,流媒体接收到用户的请求后,从缓存位置取得视频流进行推流给缓存服务器。
流媒体服务器推流给缓存服务器时,首先查询缓存服务器的剩余内存容量是否满足此次推流,如果满足则推流到缓存服务器的内存,否则,推流到缓存服务器的磁盘,同时告知用户缓存服务器地址。
进一步包括,缓存服务器的内存型缓存,采用的技术为Linux或类Unix等不限于此类操作系统的虚拟文件系统tmpfs创建流媒体TS文件的缓存区。
用户请求视频内容后,根据流媒体服务器重定向的缓存服务器地址,从缓存服务器上进行拉流观看视频,缓存服务器同步记录用户信息。
用户观看视频中,如果同意分享视频,则缓存TS文件,同时下载安装流媒体转发模块,请求用户根据缓存服务器记录的信息查询到局域网中有同一视频资源,则直接指向正在观看的用户地址拉流观看视频,同时自身进行同样的分享操作。
下面结合附图对本发明的实施例进行描述。
特别说明,以下是本发明所有实施例中的一个实施例,此实施例完全基于Apple公司的HLS协议实现。
如图1所示,根据本发明实施例的用于流媒体加速发布方法与系统的结构示意图。该示意图中,包括以下步骤:
S101: 在一台物理机上安装虚拟机软件,比如VMware、KVM、Xen、OpenVZ等。本例使用CentOS-6操作系统作为母系统,并安装OpenVZ虚拟机平台,根据OpenVZ命令vzctl在母系统上创建两个CentOS-6子系统,同时设置每个子系统的IP地址。示例命令如:
vzctl create $vmname --ostemplate centos-6-x86_64 --config basic
vzctl set $vmnam --ipadd $ipadd
接着在其中一个子系统上安装转码软件ffmpeg(一款开源软件同时支持推流),将此系统作为转码服务器S001,另一个子系统安装rtmp-nginx流媒体服务器S002,修改nginx的配置文件nginx.conf开启HLS支持,添加如下内容:
rtmp {
server {
listen 1935;
application myapp {
live on;
}
application hls {
live on;
hls on;
hls_path /var/www/hls;
hls_fragment 5s;
}
}
}
同时为了充分利用物理资源,母系统通过OpenVZ的控制命令vzctrl动态调整子系统的资源,如CPU、内存、带宽等。调整过程参考OpenVZ操作手册。
此步骤执行过程为:视频采集设备---->转码服务器----->流媒体服务器,具体流程包括:视频采集设备,如智能手机、平板电脑、摄像机等采集到原始视频流通过有线(网线、USB)或无线(WIFI、3/4/5G)接口推送到转码服务器S001,S001调用ffmpeg开始实时转码,此时母系统检测到S001需要更多的资源,开始调整系统的资源分配,给予S001更多的资源。S001转码同时将转码后的TS文件存放位置告知S002,S002根据用户请求直接将TS文件推流到下级缓存服务器。
S102:所述缓存服务器,由一个以上组成,内存和磁盘作为缓存介质,内存缓存优先级高于磁盘,首先所述流媒体服务器判断剩余内存容量是否满足当前任务,如果满足,则将TS文件存储在内存,同时根据最近最久未使用LRU算法删除部分TS文件。否则,将TS文件存储在磁盘。
客户端发送HTTP连接请求视频内容后,根据所述流媒体服务器重定向的缓存服务器地址,从缓存服务器上进行拉流观看视频,缓存服务器同步记录用户信息。
所述客户端拉流观看实施例进一步说明:客户端发送HTTP请求从缓存服务器获取HLS的播放索引文件xxx.m3u8,紧接着客户端解析索引文件,从缓存服务器上下载第一个视频切片文件xxx.ts,下载完毕后,进行播放,同时下载第二个切片文件,以此类推。需要强调的是,缓存服务器上的索引文件和切片文件都在实时更新,更新时间由中心流媒体服务器决定。
所述缓存服务器实施例包括:
安装一个缓存流媒体服务器精简的rtmp-nginx,用于推流给用户;存储管理模块,包括LRU算法模块,用于刷新TS文件;用户信息记录模块,用于记录用户访问信息。
所述存储管理模块,创建守护进程,根据剩余容量动态调整内存缓存区大小,磁盘不调整。间隔5分钟执行一次LRU算法更新TS文件。
所述存储管理模块实施例进一步包括:利用Linux虚拟文件系统tmpfs开辟内存型缓冲区。tmpfs本身是根据内存大小动态的,所以无需考虑内存是否会溢出。分配示例:[root@node ~]# mount -t tmpfs -o size=1Gtmpfs /var/www/hls
所述用户信息记录模块,当用户观看了此缓存服务器上的视频,此模块以守护进程存在,监听80端口,记录用户各种信息,包括:ip地址,当前观看的内容,带宽大小等,同时实时上报给中心流媒体服务器。
S102:客户端发送视频内容请求到流媒体服务器,流媒体接收到请求后重定向请求到缓存服务器,客户端从缓存服务器进行拉流观看视频。
如图2所示,根据本发明实施例的用于流媒体加速发布方法与系统的流程图。该流程图中,包括以下步骤:
客户端发送视频请求到流媒体服务器,流媒体服务器查询缓存服务器是否存在请求的视频内容,如果存在,则判断视频内容缓存的介质,根据存储介质重定向客户端的视频请求到缓存具体地址=IP+缓存路径。如果不存在,流媒体服务器判断缓存服务器的内存容量是否满足此次推流,如果满足,则将TS文件推流到缓存服务器的内存,如果不满足,则推流至磁盘缓存。如果磁盘也不满足,退出并报错。
如图3所示,根据本发明实施例的用于流媒体加速发布方法与系统的客户端结构框图,包括以下步骤:
A.根据本发明实施例的用于流媒体加速发布方法与系统的客户端以PC端为例。进一步包括:硬件层,Windows/Linux/IOS操作系统,应用层。
主要描述应用层,本发明实施例的客户端运行于应用层,播放视频的客户端是浏览器,包括:IE、Firefox、EDGE、Safari、Chrome等支持HTML5的浏览器。为了兼容各浏览器转发,流媒体转发模块以独立进程形式进行视频内容转发。
B.根据本发明实施例的用于流媒体加速发布方法与系统的客户端以安卓手机为例。进一步包括:硬件层,Android操作系统,应用层。
应用层进一步包括,浏览器如步骤A所述,流媒体转发模块以AndroidAPP独立运行。转发时需要开启Wi-Fi Direct使可以与其他用户由WIFI组成局域网共享视频内容。如果已经加入局域网,则忽略此步。
如图4所示,根据本发明实施例的用于流媒体加速发布系统局域网流媒体共享结构示意图。包括以下步骤:
A.客户端1在观看视频过程中,从缓存服务器获取的TS切片文件,需要暂时存放在内存中,然后浏览器才能播放,此时,TS切片文件存放地址对用户是透明的,缓存模块就是获取TS切片位置同时告知嵌入到APP中的流媒体转发服务器,
B.与客户端1同属于一个局域网内的其他客户端从所述缓存服务器获取客户端1的发布地址后,通过路由器或交换机向客户端1发起HTTP内容请求,所述流媒体转发服务器接收到请求后根据步骤A的TS切片地址进行推流,此时完成流媒体转发。
如图5所示,根据本发明实施例的用于流媒体加速发布方法局域网流媒体共享流程图。描述了局域网用户请求视频内容的一般流程:同属于一各局域网内的客户端N根据缓存服务器重定向的地址访问客户端1,客户端1接收到请求后判断自身是否缓存了视频内容,如果没有则拒绝服务。客户端N则发送带有客户端1拒绝标识的请求到缓存服务器,缓存服务器直接推流到客户端N。客户端1如果已经缓存了视频内容,则推流到客户端N。
综上所示,根据本发明的用于流媒体加速发布方法可以有效降低中心服务器负载压力,虚拟机的引入充分利用了服务器资源,使资源管理更加便捷。并且内存型缓存技术,减少了流媒体传输过程中的延时。局域网内转发技术,极大降低了用户的访问流量,加快了访问速度,带来了高质量的用户体验。
虽然上述已经结合附图描述了本发明的具体实施例,但是本领域技术人员在不脱离本发明的精神和范围的情况下,可以对本发明进行各种改变、修改和等效替代。这些改变、修改和等效替代都意为落入随附的权利要求所限定的精神范围之内。
Claims (7)
1.一种流媒体加速发布方法与系统,其特征在于:所述方法包括:(1)在流媒体发布系统中,引入虚拟机技术,将服务应用运行在由一个物理服务器托管的2个以上独立的虚拟服务器上,即在一个物理机上运行多个虚拟机,转码服务器和流媒体服务器独立运行在虚拟机上;(2)缓存服务器利用内存优先,磁盘备用缓存机制缓存视频流;(3)局域网用户观看同一视频,通过流媒体转发模块进行共享。
2.如权利要求1所述一种流媒体加速发布方法与系统,其特征在于,所述流媒体发布系统包括:
视频采集系统,用于采集视频流信息;
转码服务器,将原始视频流转换成可在网络上传播的通用视频流格式,将转换后的视频流缓存连接告知流媒体服务器;
流媒体服务器,根据用户请求,从转码服务器获取视频流位置并将视频流推流给用户或缓存服务器,记录用户信息,视频信息和缓存服务器位置信息;
缓存服务器,用于缓存多个视频流,加快用户播放速度,同时记录用户信息,动态删除已经播放过并且存储时间超过最大存储阀值的视频TS片;
所述的流媒体转发模块,用于局域网内,用户观看视频前,发送请求到流媒体服务器,流媒体服务器响应请求,重定向用户请求到缓存服务器,缓存服务器收到请求后根据记录表查询局域网内其他用户是否在观看同一视频,如果有,则重定向用户从局域网用户获取缓存视频观看。
3.如权利要求2所述一种流媒体加速发布方法与系统,其特征在于,转码服务器和流媒体服务器独立运行在虚拟机上,虚拟机由主机按需分配物理资源,转码服务器将接收到的原始视频流进行转码,并在内存中缓存,同时告知流媒体服务器缓存位置信息,流媒体接收到用户的请求后,从缓存位置取得视频流进行推流给缓存服务器。
4.如权利要求2或3所述一种流媒体加速发布方法与系统,其特征在于,流媒体服务器推流给缓存服务器时,首先查询缓存服务器的剩余内存容量是否满足此次推流,如果满足则推流到缓存服务器的内存,否则,推流到缓存服务器的磁盘,同时告知用户缓存服务器地址。
5.如权利要求4所述一种流媒体加速发布方法与系统,其特征在于,进一步包括,缓存服务器的内存型缓存,采用的技术为Linux或类Unix等不限于此类操作系统的虚拟文件系统tmpfs创建流媒体TS文件的缓存区。
6.如权利要求4所述一种流媒体加速发布方法与系统,其特征在于,用户请求视频内容后,根据流媒体服务器重定向的缓存服务器地址,从缓存服务器上进行拉流观看视频,缓存服务器同步记录用户信息。
7.如权利要求2或5所述一种流媒体加速发布方法与系统,其特征在于,用户观看视频中,如果同意分享视频,则缓存TS文件,同时下载安装流媒体转发模块,请求用户根据缓存服务器记录的信息查询到局域网中有同一视频资源,则直接指向正在观看的用户地址拉流观看视频,同时自身进行同样的分享操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810614738.5A CN108881944B (zh) | 2018-06-14 | 2018-06-14 | 一种流媒体加速发布方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810614738.5A CN108881944B (zh) | 2018-06-14 | 2018-06-14 | 一种流媒体加速发布方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108881944A true CN108881944A (zh) | 2018-11-23 |
CN108881944B CN108881944B (zh) | 2020-10-27 |
Family
ID=64339021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810614738.5A Active CN108881944B (zh) | 2018-06-14 | 2018-06-14 | 一种流媒体加速发布方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108881944B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110401851A (zh) * | 2019-08-28 | 2019-11-01 | 浪潮软件集团有限公司 | 一种基于cmsp的视频转码方法 |
CN110493244A (zh) * | 2019-08-28 | 2019-11-22 | 浪潮软件集团有限公司 | 一种基于cmsp的视频采集方法 |
CN110535977A (zh) * | 2019-09-29 | 2019-12-03 | 深圳市网心科技有限公司 | 文件分发方法及装置、计算机装置及存储介质 |
CN110933036A (zh) * | 2019-10-29 | 2020-03-27 | 咪咕互动娱乐有限公司 | 一种云游戏服务系统和服务器 |
CN111028577A (zh) * | 2019-12-26 | 2020-04-17 | 宁波舜宇仪器有限公司 | 一种显微数码互动实验教学系统 |
CN111061171A (zh) * | 2019-12-04 | 2020-04-24 | 广州穗能通能源科技有限责任公司 | 配电房监控系统、配电房数据处理、调用方法及其装置 |
CN111355997A (zh) * | 2018-12-21 | 2020-06-30 | 北京字节跳动网络技术有限公司 | 视频文件的生成方法、装置、移动终端及存储介质 |
CN111565168A (zh) * | 2020-03-02 | 2020-08-21 | 杭州云毅网络科技有限公司 | 一种对象存储方法、系统、存储介质及电子设备 |
CN112565247A (zh) * | 2020-12-03 | 2021-03-26 | 东北大学 | 基于IPv6的移动终端实时多媒体数据流传输系统及方法 |
CN112738637A (zh) * | 2020-12-29 | 2021-04-30 | 南京金智视讯技术有限公司 | web页面实时视频播放方法、装置和计算机设备 |
CN114286125A (zh) * | 2021-12-30 | 2022-04-05 | 北京爱学习博乐教育科技有限公司 | 企业直播实现方法及系统 |
CN114465989A (zh) * | 2020-10-30 | 2022-05-10 | 京东方科技集团股份有限公司 | 流媒体数据处理方法、服务器、电子设备和可读存储介质 |
CN116636224A (zh) * | 2020-12-07 | 2023-08-22 | 活动视频网络有限公司 | 可替代联网应用程序服务的系统和方法 |
WO2023165372A1 (zh) * | 2022-03-01 | 2023-09-07 | 北京字节跳动网络技术有限公司 | 视频流获取方法、装置、系统、设备和介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101673298A (zh) * | 2009-09-29 | 2010-03-17 | 深圳市融创天下科技发展有限公司 | 一种视频点播中的视频数据分布式缓存方法 |
CN102638443A (zh) * | 2011-02-15 | 2012-08-15 | 中兴通讯股份有限公司 | 流媒体资源共享的方法、系统及具有dlna功能的设备 |
US20130046896A1 (en) * | 2011-08-17 | 2013-02-21 | Simon Ball | Scalable transcoding for streaming audio |
CN103914399A (zh) * | 2012-12-31 | 2014-07-09 | 中国移动通信集团公司 | 一种并行计算系统中的磁盘缓存方法及装置 |
CN105426228A (zh) * | 2015-10-29 | 2016-03-23 | 西安交通大学 | 一种面向流媒体直播与视频转码的OpenStack虚拟机放置方法 |
-
2018
- 2018-06-14 CN CN201810614738.5A patent/CN108881944B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101673298A (zh) * | 2009-09-29 | 2010-03-17 | 深圳市融创天下科技发展有限公司 | 一种视频点播中的视频数据分布式缓存方法 |
CN102638443A (zh) * | 2011-02-15 | 2012-08-15 | 中兴通讯股份有限公司 | 流媒体资源共享的方法、系统及具有dlna功能的设备 |
US20130046896A1 (en) * | 2011-08-17 | 2013-02-21 | Simon Ball | Scalable transcoding for streaming audio |
CN103914399A (zh) * | 2012-12-31 | 2014-07-09 | 中国移动通信集团公司 | 一种并行计算系统中的磁盘缓存方法及装置 |
CN105426228A (zh) * | 2015-10-29 | 2016-03-23 | 西安交通大学 | 一种面向流媒体直播与视频转码的OpenStack虚拟机放置方法 |
Non-Patent Citations (1)
Title |
---|
刘峰: "基于HLS的RED5虚拟流媒体服务器部署方法研究与应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111355997A (zh) * | 2018-12-21 | 2020-06-30 | 北京字节跳动网络技术有限公司 | 视频文件的生成方法、装置、移动终端及存储介质 |
CN110493244A (zh) * | 2019-08-28 | 2019-11-22 | 浪潮软件集团有限公司 | 一种基于cmsp的视频采集方法 |
CN110401851A (zh) * | 2019-08-28 | 2019-11-01 | 浪潮软件集团有限公司 | 一种基于cmsp的视频转码方法 |
CN110535977A (zh) * | 2019-09-29 | 2019-12-03 | 深圳市网心科技有限公司 | 文件分发方法及装置、计算机装置及存储介质 |
CN110933036B (zh) * | 2019-10-29 | 2022-03-22 | 咪咕互动娱乐有限公司 | 一种云游戏服务系统和服务器 |
CN110933036A (zh) * | 2019-10-29 | 2020-03-27 | 咪咕互动娱乐有限公司 | 一种云游戏服务系统和服务器 |
CN111061171A (zh) * | 2019-12-04 | 2020-04-24 | 广州穗能通能源科技有限责任公司 | 配电房监控系统、配电房数据处理、调用方法及其装置 |
CN111028577A (zh) * | 2019-12-26 | 2020-04-17 | 宁波舜宇仪器有限公司 | 一种显微数码互动实验教学系统 |
CN111565168A (zh) * | 2020-03-02 | 2020-08-21 | 杭州云毅网络科技有限公司 | 一种对象存储方法、系统、存储介质及电子设备 |
CN114465989A (zh) * | 2020-10-30 | 2022-05-10 | 京东方科技集团股份有限公司 | 流媒体数据处理方法、服务器、电子设备和可读存储介质 |
CN112565247A (zh) * | 2020-12-03 | 2021-03-26 | 东北大学 | 基于IPv6的移动终端实时多媒体数据流传输系统及方法 |
CN112565247B (zh) * | 2020-12-03 | 2022-02-11 | 东北大学 | 基于IPv6的移动终端实时多媒体数据流传输系统及方法 |
CN116636224A (zh) * | 2020-12-07 | 2023-08-22 | 活动视频网络有限公司 | 可替代联网应用程序服务的系统和方法 |
CN112738637A (zh) * | 2020-12-29 | 2021-04-30 | 南京金智视讯技术有限公司 | web页面实时视频播放方法、装置和计算机设备 |
CN114286125A (zh) * | 2021-12-30 | 2022-04-05 | 北京爱学习博乐教育科技有限公司 | 企业直播实现方法及系统 |
CN114286125B (zh) * | 2021-12-30 | 2023-12-19 | 北京爱学习博乐教育科技有限公司 | 企业直播实现方法及系统 |
WO2023165372A1 (zh) * | 2022-03-01 | 2023-09-07 | 北京字节跳动网络技术有限公司 | 视频流获取方法、装置、系统、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108881944B (zh) | 2020-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108881944A (zh) | 一种流媒体加速发布方法与系统 | |
US8880650B2 (en) | System and method for storing streaming media file | |
US9178928B2 (en) | Scalable content streaming system with server-side archiving | |
US9497035B2 (en) | Method, device, and system for playing media based on P2P | |
US9674252B2 (en) | System and method for efficient delivery of repetitive multimedia content | |
CN106878315B (zh) | 可变速率媒体传送系统 | |
US20140165119A1 (en) | Offline download method, multimedia file download method and system thereof | |
US20190372856A1 (en) | Server side content delivery network quality of service | |
US8219711B2 (en) | Dynamic variable rate media delivery system | |
CN102546711B (zh) | 流媒体系统中的内容存储调整方法、装置及系统 | |
US8200747B2 (en) | Session handoff of segmented media data | |
CN104093088B (zh) | 实现自适应流媒体播放控制的系统及方法 | |
US8812718B2 (en) | System and method of streaming data over a distributed infrastructure | |
CN101237429A (zh) | 基于内容分发网络的流媒体直播系统、方法及装置 | |
CN110022482A (zh) | 视频起播方法、视频服务系统及存储介质 | |
CN103108008A (zh) | 一种下载文件的方法及文件下载系统 | |
US20210203709A1 (en) | Embedding MQTT messages in media streams | |
WO2015076705A1 (ru) | Управление передачей потока видеоданных по сети на сетевое пользовательское устройство | |
CN104320672A (zh) | Cdn-p2p混合架构下的直播流媒体系统资源调度方法 | |
WO2020135562A1 (zh) | 一种组播方法、装置、设备和计算机存储介质 | |
CN102497389A (zh) | 一种iptv 中基于大雨伞缓存算法的流媒体协作缓存管理方法及系统 | |
CN110493245A (zh) | 一种基于分布式并行系统的流媒体数据分发系统 | |
CN101489102A (zh) | 一种设置并执行网络电视内容发布策略的方法及系统 | |
WO2011131098A1 (zh) | 一种设备调度方法、装置及系统 | |
KR101341441B1 (ko) | 멀티미디어 콘텐츠 분할 및 분산 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |