一种在互联网发布和直播流媒体的系统技术方案

技术编号:8582567 阅读:215 留言:0更新日期:2013-04-15 06:05
本实用新型专利技术公开一种在互联网发布和直播流媒体的系统,包括发布客户端、服务器端和播放客户端;所述发布客户端用于读取和解析正在输出的多媒体文件,合并并生成流媒体数据分块,然后以HTTP方法上传至所述服务器;所述服务器端储存流媒体数据分块并构建流媒体数据分段文件;同时,服务器端生成对应流媒体数据分段文件的索引;所述播放客户端使用HTTP方法从服务器端获取索引,然后根据索引下载流媒体分段并同时对流媒体分段进行播放。本实用新型专利技术的系统基于HTTP协议体系;能够低耦合、非侵入、简单的与采集端应用集成;易于在各种终端平台上实现;实时直播的延时低、健壮性好、容错性好;支持在互联网大规模部署、支持CDN部署方式。(*该技术在2022年保护过期,可自由使用*)

【技术实现步骤摘要】

本技术涉及网络
,尤其涉及一种互联网流媒体的发布和直播技术。
技术介绍
互联网流媒体技术是采用流式传输的方式在互联网上传输多媒体文件,把连续的音视频等多媒体信息经过压缩处理后存储于网络媒体服务器,供互联网客户端在下载的同时回放,而无需等待全部多媒体文件下载完成。实时流媒体直播是在采集音视频信息的同时,使用流媒体技术发布和传输正在采集的媒体信息,使客户端能够通过互联网低延时地回放正在采集的媒体信息。现有技术的互联网流媒体实时直播的实现主要包括如下环节采集和编码(Encode):采集音视频信息,采用具体编码算法,对音频和视频信息进行压缩;多路合并(Muxing):采用具体容器格式,将编码后的音视频信息合并于具体的流媒体文件容器;发布(Publish):采用具体传输和控制协议,将文件流式传输于网络媒体服务器;交付(Delivery):采用具体传输和控制协议,客户端下载网络媒体服务器的流媒体;回放(Playback):客户端根据流媒体的文件容器格式和音视频信息的编码算法进行解码(Demuxing和Decode)并还原呈现所采集的音视频信息。现有技术在互联网,尤其是移动互联网,流媒体实时直播的各个环节所广泛采用的技术、标准和方案如下音频编码方式有AMR、AAC、MP3、Vorbis等;视频编码方式有MPEG-2、MPEG-4、H. 263、H. 264、VP6/8 等;文件容器包括MP4、3GPP、FLV、ASF、WebM、MPEG_TS等;流媒体发布所采用的方式完全依赖于流媒体服务器的实现,依据不同的流媒体服务器实现,可能采用的协议有RTP、RTMP、或私有协议;流媒体交付所广泛采用的协议有RTP/RTSP, RTMP、MMS等;客户端回放采用各类媒体播放器实现,如Flash Player, HTML5所支持的浏览器内置播放器、iPhone/iPad和Android等移动平台内置播放器及其他播放器应用程序。现有技术中RTP协议采用UDP传输,涉及防火墙穿越等复杂性;RTMP协议是Adobe公司技术的基于TCP传输的低延时协议,默认端口为1935,而且其协议实现细节并没有公开,因此完全依赖于其服务器和客户端实现;同样,MMS依赖于微软的媒体服务器和客户端实现,采用M)P/TCP传输,默认端口为1755,同样涉及防火墙穿越的复杂性。以上这些交付协议在保证QoS (服务质量)时,均需采用较为复杂的控制协议,需要专有的流媒体服务器实现,以提供服务。因此,针对现有技术的不足,苹果等公司又提出了一些基于HTTP协议的流媒体交付协议如,Http Live Streaming (请参照图 l)、Http Dynamic Streaming 等。基于 HTTP协议的流媒体交付协议在交付媒体内容时,只依赖于普通的HTTP服务器,使用80端口,不涉及防火墙穿越的复杂性,同时可以采用HTTP协议族所支持的加密或证书等安全措施。其中相比采用了更多私有实现方式的Http Dynamic Streaming, Http Live Streaming的方案更为简洁,目前在iPhone/iPad和Android 4.0以上的移动客户端都有内置播放器的支持,并且有越来越多的播放器开始支持这一协议。Http Live Streaming提供了最为简洁和优雅的,基于HTTP的流媒体交付方案。Http Live Streaming是由苹果公司提出并实现的基于HTTP的流媒体通信协议。该协议将整个媒体流分成一组连续的可供HTTP下载的小文件分段,分段以MPEG-TS容器格式承载,满足播放器流式回放的要求;同时提供以m3u8为标准格式的索引,作为这一组分段的索引。客户端通过HTTP服务器请求m3u8播放列表,根据列表中的索引,依次下载分段。在下载完一个分段后,客户端即可边下载后续分段,边进行播放。通常每个分段定位为承载10秒的音视频媒体,可以保证在客户端播放的连续性及合理的资源开销,并能够保持延时在30秒左右。另外,服务器可以根据不同的网络速率提供可选的不同速率的分段组,以适应不同网络速率的要求。播放列表可以在提供访问的同时不断进行更新,以实现实时直播。由于Http Live Streaming仅使用标准Http协议,因此与RTP不同,具备穿越防火墙和代理服务器的能力;同时能够满足⑶N (Content Delivery Network)部署的需求。Http Live Streaming系统由服务器端的分段程序、HTTP服务器和客户端组成(参见附图1)。服务器分段程序负责将已录制好的流媒体文件或实时媒体流进行分段,并生成播放列表;HTTP服务器为播放列表和分段文件提供HTTP请求服务;客户端通过HTTP请求获取播放列表和流媒体分段文件进行回放。但是,Http Live Streaming并没有定义和提供由媒体采集端向服务器实时发布流媒体的方法和系统。因此各种Http Live Streaming的发布仍然依赖于流媒体服务的具体实现,采用基于RTP、RTMP或私有协议的方式支持从采集端向媒体服务器实时发布流媒体。由此可见,Http Live Streaming还存在以下两个缺陷1.完全依赖于特定流媒体服务器的实现,及其所提供的客户端发布接口。对特定流媒体服务的引入破坏了 Http Live Streaming方案本身的简洁和优雅;依赖于具体客户端发布接口,造成采集端的实现和集成的复杂性;2.在采用依赖于RTP/RTSP流媒体通信协议的发布方案时,其控制协议实现复杂,造成采集端和服务器端的实现和集成均具有复杂性,容错能力有限,系统不稳定。
技术实现思路
针对上述现有技术的不足,本技术提供一种延时、健壮性、容错性好且能够简单地与采集端和客户端集成的完全基于HTTP协议体系的在互联网发布和直播流媒体的方法及系统。本技术解决其技术问题所采用的技术方案是一种在互联网发布和直播流媒体的系统,包括服务器端和播放客户端,其特征在于还包括发布客户端,用于实时读取和解析正在输出的多媒体文件,重新以设定的格式进行媒体流的合并,并按预设的流媒体数据分块时间生成流媒体数据分块,然后以HTTP方法上传至所述服务器;所述服务器端用于处理来自发布客户端的流媒体数据分块,储存流媒体数据分块并根据预设的流媒体数据分段时间构建流媒体数据分段文件;同时,服务器端生成对应流媒体数据分段文件顺序和储存位置的索引;所述播放客户端使用HTTP方法从服务器端获取所述索引,然后根据所述索引下载流媒体分段并同时对流媒体分段进行播放。优选的,所述的在互联网发布和直播流媒体的系统还包括媒体采集端,用于采集并生成媒体数据并把媒体数据传递至所述发布客户端。优选的,所述发布客户端包括媒体输入模块、发布客户端音频编码模块、发布客户端视频编码模块、发布客户端流媒体处理模块和发布模块;所述媒体输入模块读取音频流和/或视频流数据并把该音频流和/或视频流数据传输至所述发布客户端流媒体处理模块;所述发布客户端流媒体处理模块调用发布客户端音频编码模块和/或发布客户端视频编码模块对音频流和/或视频流数据重新编码并根据设定的格式进行媒体流的合并,并按预设的流媒体数据分块时间生成流媒体数据分块。优选的本文档来自技高网
...

【技术保护点】
一种在互联网发布和直播流媒体的系统,包括服务器端(2)和播放客户端(3),其特征在于:还包括发布客户端(1)包括媒体输入模块(11)、发布客户端音频编码模块(12)、发布客户端视频编码模块(13)、发布客户端流媒体处理模块(14)和发布模块(15);所述媒体输入模块(11)读取音频流和/或视频流数据并把该音频流和/或视频流数据传输至所述发布客户端流媒体处理模块(14);所述发布客户端流媒体处理模块(14)调用发布客户端音频编码模块(12)和/或发布客户端视频编码模块(13)对音频流和/或视频流数据重新编码并根据设定的格式进行媒体流的合并,并按预设的流媒体数据分块时间生成流媒体数据分块;所述服务器端(2)包括网页服务模块(21)、服务器流媒体处理模块(22)和服务器储存模块(23);发布客户端(1)发布模块(15)与网页服务模块(21)交互并上传所述流媒体分块,服务器流媒体处理模块(22)根据设定的流媒体分段时间合并所述流媒体分块为流媒体分段并生成对应流媒体数据分段文件顺序和储存位置的索引,分别储存至服务器储存模块(23);所述播放客户端(3)包括交付模块(31)、播放客户端流媒体处理模块(32)、播放客户端音频编码模块(33)、播放客户端视频编码模块(34)和播放模块(35);所述交付模块(31)与所述服务器端(2)交互并根据索引从服务器端(2)下载流媒体分段文件,播放客户端流媒体处理模块(32)对流媒体进行分解获取音频流和/或视频流,播放客户端流媒体处理模块(32)调用播放客户端音频编码模块(33)和/或播放客户端视频编码模块(34)对音频流和/或视频流所述进行解码并通过播放模块(35)进行播放。2.?根据权利要求1所述的在互联网发布和直播流媒体的系统,其特征在于:还包括媒体采集端(4),所述媒体采集端(4)包括媒体采集模块(41)、媒体处理模块(42)、采集端音频编码模块(43)和/或采集端视频编码模块(44),所述的媒体处理模块(42)调用所述的采集端音频编码模块(43)和/或采集端视频编码模块(44)生成特定格式的媒体文件。3.?根据权利要求2所述的在互联网发布和直播流媒体的系统,其特征在于:所述的采集端(4)集成于所述的发布客户端(1)中。4.?根据权利要求1至3任意一项所述的在互联网发布和直播流媒体的系统,其特征在于:所述的服务器储存模块(23)为分布式存储系统。...

【技术特征摘要】
1.一种在互联网发布和直播流媒体的系统,包括服务器端(2)和播放客户端(3),其特征在于 还包括发布客户端(1)包括媒体输入模块(11)、发布客户端音频编码模块(12)、发布客户端视频编码模块(13)、发布客户端流媒体处理模块(14)和发布模块(15);所述媒体输入模块(11)读取音频流和/或视频流数据并把该音频流和/或视频流数据传输至所述发布客户端流媒体处理模块(14);所述发布客户端流媒体处理模块(14)调用发布客户端音频编码模块(12)和/或发布客户端视频编码模块(13)对音频流和/或视频流数据重新编码并根据设定的格式进行媒体流的合并,并按预设的流媒体数据分块时间生成流媒体数据分块; 所述服务器端(2 )包括网页服务模块(21)、服务器流媒体处理模块(22 )和服务器储存模块(23);发布客户端(1)发布模块(15)与网页服务模块(21)交互并上传所述流媒体分块,服务器流媒体处理模块(22)根据设定的流媒体分段时间合并所述流媒体分块为流媒体分段并生成对应流媒体数据分段文件顺序和储存位置的索引,分别储存至服务器储存模块(23); 所述播放客户端(3)包括交付模块(31)、播放客户端流媒体处...

【专利技术属性】
技术研发人员:樊志岩李洋
申请(专利权)人:北京对角巷科技发展有限公司
类型:实用新型
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1