第一财经网站直播平台的系统架构设计和实现张琦1,高飞,仝渭民(1.上海广播电视台技术运营中心技术部,上海200041;)摘要:本文详细介绍了基于CDN等流媒体技术的第一财经流媒体直播平台设计和实施方案。文章首先介绍了平台设计开发的背景和意义;其次,详细介绍了各个子系统的功能和具体实现。第一财经流媒体直播平台不但改变了原第一财经网站单向发布的模式,增强网站用户的互动性,而且能收集用户行为数据,对其进行行为分析。为网站排名提升及收费信息、广告定向发布提供平台及数据支撑。关键词:流媒体,直播,CDN;中图法分类号:TP39文献标识码:ADesignandImplementofCBNLiveMediaStreamingSystem(ZhangQi1,GaoFei,TongWei-Min)(InformationTechnologyDept.ofTechnicalCenter,SMG,200041,China)Abstract:ThispaperintroducestheplatformdesignandimplementationplanofChinaBusinessNews(CBN)LiveStreamingMediaSystembasedonContentDistributionNetwork(CDN)technologyandsoon.WeintroducethebackgroundandsignificanceofCBNLiveMediaStreamingsystemfirst,andthenthedesignandimplementationdetailsofthesystemframeworkaswellasitssub-systems.ThenewCBNLiveStreamingMediaPlatform(LSMP)notonlychangedtheoldUnidirectionalReleasingModeltoimproveuserinteraction,butalsohelpforcollectingandanalyzinguserbehaviordataonCBNwebsite.ThenewCBNLSMPprovidesacomprehensiveplatformanddatasupportforCBNtoimprovewebsiteranking,billing,andadvertising.Keywords:MediaStreaming,Live,CDN;1引言随着宽带网络的普及和计算机相关技术的发展,向日益增长的、海量的互联网用户提供有服务质量保障的流媒体服务成为可能。对于目前以有线电视网络为传播的内容提供商而言,正在面临一个挑战——同时也是一个机遇:从目前的广播电视网络向互联网延伸。第一财经(CBN)作为内容提供商,在将内容、服务向互联网延伸时,具有了得天独厚的优势,而将内容延伸到互联网后,由于互联网本身具有的优势、特点,使得在传统广播电视网络上发展起来相对困难的一些增值服务、特色功能更容易实现。第一财经流媒体直播平台不但改变了原第一财经网站单向发布的模式,增强网站用户的互动性,而且通过收集用户行为数据,对其进行行为分析。为网站排名提升及收费信息、广告定向发布提供平台及数据支撑;随着承载网络的升级,用户接入带宽的增加,网络视频逐渐成为主流应用,第一财经流媒体直播平台能为用户提供IPTV的体验,通过先进的流切片技术、后台存储和索引设计,可以提供理论上无限长的时移距离。2结构设计以技术推动用户体验,以服务阐释新媒体,实现任何时间、任何地点访问任意电视内容是第一财经流媒体直播平台的产品设计理念。第一财经流媒体直播平台主要负责网上直播及节目收录,同时兼顾手机平台的直播。系统使用H.264编码和FLV封装,用户可无插件地观看。整个直播平台主要分为流媒体直播发布子系统和流媒体运营管理子系统;功能结构图如下:流媒体直播发布子系统主要完成流媒体视音频直播采集、流媒体视音频收录、流媒体发布、流媒体传输等功能;流媒体运营管理子系统主要实现第一财经流媒体直播平台的EPG采集和管理、VOD媒体资源管理、CDN监控管理和分发、后台流媒体服务等管理功能。第一财经流媒体直播平台结构图详见图1。第一财经流媒体直播平台流媒体直播发布流媒体运营管理边缘媒体分片缓存服务CDN监控管理和分发EPG采集和管理VOD媒体资源管理条件访问控制服务流媒体转发服务流媒体采集编码服务边缘时移流媒体服务流媒体定位和负载均衡流媒体录制存储服务后台流媒体服务图1第一财经流媒体直播平台结构图3流媒体直播发布系统设计3.1流媒体采集编码服务实时流媒体采集编码服务是整个系统中非常重要的组件,其主要功能是采集音视频源信号,将其编码成多种码率的FLV格式,并发送给直播引擎和集群存储服务器的录制端。媒体采集编码服务系统架构详见图2。操作系统/设备驱动硬件平台音/视频采集设备信号采集多路编码器通讯服务采集压缩系统直播引擎、转发服务及存储服务等图2媒体采集编码服务系统架构图实时流媒体采集编码服务系统包括信号采集、多路编码器和通讯服务三个主要模块:信号采集模块通过音、视频采集设备或数字信号进行多路实时采集,应用了优化的视音频帧interleave算法,通过由视频源采集出音视频的同步性更高。采集得到的中间格式以高清晰的MPEG2格式编码后传入实时流媒体编码器;实时流媒体编码器可对于每个视频源并发启动多路编码,接收到来自采集模块的MPEG2格式的原始视音频流后,按照用户需求将其编码成多个不同图像大小、码率、帧率的流,然后提供给通讯服务模块;通讯服务模块接受外部应用的请求后,将视音频数据拆分成网络传输包的形式分发给请求端。如果网络发生阻塞,通讯服务模块可以根据实时性要求选择暂存或丢弃帧的策略,后者可以保证所发数据都是最新的。3.2流媒体转发服务流媒体源信号所在地离用户往往有较长的距离,因此我们使用流媒体转发服务模块将流媒体数据从源信号发生地送达用户所在的流媒体边缘时移服务系统。由于在数据长途传输的途中,网络情况异常复杂,因此流媒体转发服务模块采用实时QoS策略,优先传输音频和视频关键帧;该模块支持从内网向外网服务器推送模式(Push)上传,可跨越NAT障碍;支持VPN或IPTunnel方式上传,保证在复杂现场条件下的数据发送。3.3边缘时移流媒体服务边缘时移流媒体服务模块是本系统的核心模块,由于它的存在,使得本系统能够给予用户崭新的电视观看体验——时移观看。使得用户在传统的被动直播观看之外又多出了主动选择的机会,可以随时观看已经播出过的节目。边缘时移流媒体服务模块部署在CDN网络的边缘,能够快速响应用户的流媒体数据请求。3.4边缘媒体分片缓存服务边缘媒体分片缓存服务器模块是CDN网络中的核心功能部件,其功能是由中心存储访问网关获取并缓存VoD和时移的文件分片,并且根据边缘流媒体服务模块的请求进行数据分发。由于本系统的数据分片传输协议是标准的HTTP/1.1协议,因此边缘媒体分片缓存服务模块具有良好的互操作特性和兼容性,可以方便的与各类业界成熟硬件产品进行集成,从而方便的实现负载均衡和性能扩展。3.5条件访问控制服务条件接收系统(CAS)作为第一财经流媒体直播平台的一个重要组成部分,可以在为版权拥有者提供大规模互联网流媒体服务的基础上,实现有控制的流分发,支持多种策略并且可以根据具体应用场景扩展和定制授权方式。CAS的设计目标是在HTTP流协议的基础上,以多种成熟、有效的安全机制和算法避免非授权的流媒体下载和复制。3.6流媒体定位和负载均衡服务边缘时移流媒体服务模块每5秒钟将自身状态信息汇报至CDN监控统计中心,提供的数据主要有:当前连接数、当前下行带宽、当前直播服务器与信号源之间的延迟时间(毫秒精度),服务器最近一次更新状态时间(keepalivetime)等。流媒体播放器连接某个频道时,会先到流媒体定位和负载均衡服务模块根据请求的频道编号获取边缘流媒体服务节点列表,流媒体定位和负载均衡服务模块将根据用户来源、预设的负载均衡策略和当前的CDN节点状态生成该节点列表,并且通过调整节点在该列表中的权值便可以实现负载均衡。具体流媒体定位和负载均衡服务流程详见图3。CDN监控统计中心边缘时移流媒体服务器边缘时移流媒体服务器边缘时移流媒体服务器状态更新定位和负载均衡服务器定位和负载均衡服务器定位和负载均衡服务器定位和负载均衡服务器集群用户用户用户1.媒体服务器请求2.返回服务器列表3.媒体流请求4.流媒体数据图3流媒体定位和负载均衡流程图3.7流媒体录制存储服务器集群流媒体录制存储服务器集群是第一财经网站直播系统中的数据存储模块。结合目前的设计,每个频道每秒所产生的数据超过1Mbps,数百个频道产生的数据量将更加可观,为此,设计了稳定可靠的的集群存储系统架构。流媒体录制存储服务器的网络包接收端从视频采集服务器接收视频数据包,并将其交给录制器,录制器从视频流中抽取出索引,写入索引数据库,同时将视频数据按照固定大小文件分片的形式,写入共享存储集群,存储/索引访问网关负责当用户请求数据时利用索引信息找到相应文件块并发送数据。3.8时移直播收录功能时移直播收录系统可指定任意直播流的任意开始和结束时间进行信号的收录,与传统的定时计划录制系统相比具有操作简便,打点精确,无需再次转码,可靠性高的特点。可以在直播完成之后的任意时间进行收录,具有时间上极大的灵活性。4流媒体运营管理系统设计4.1CDN监控、管理和分发子系统CDN的全称是ContentDeliveryNetwork,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将服务器的内容发布到最接近用户的网络边缘,使用户可以就近取得所需的内容,从而缓解Internet网络拥挤的状况,缓解骨干网带宽的压力,缓解中心服务器的压力,提高用户访问网络服务的响应速度。CDN是一个策略性部署的整体系统,通常由中心存储,分布式缓存、定位和负载均衡、全局监控统计服务器和内容分发管理系统等几个部分组成。本系统中的CDN系统主要负责流媒体内容的分发和调度,由于流媒体的特殊性,本系统CDN采用了先进的分片缓存和流缓存两种缓存方式。分片缓存的分发方式采用与传统的文件块分发类似的技术,流媒体录制存储服务器和边缘媒体分片缓存相结合便可实现推送和按需缓存两种模式。另一方面,由于视频分片在本存储系统中是按照频道、码率、时间等信息进行组织和管理的,因此可以方便的按照流媒体业务本身的特点,安排相应频道、相应日期、相应节目的分发策略。流缓存是本系统独有的一项优化CDN网络的技术,边缘时移流媒体服务器本身就可以实现内存/磁盘两级缓存策略,每个码流的磁盘缓存的时间可达7天以上。这样,用户在进行时移操作时,近几天的数据并不需要访问文件分片数据,也就是只需要持续输入一个实时媒体流便可以实现几日以内的时移电视业务。4.2EPG采集和管理子系统EPG采集和管理系统分为EPG采集系统、EPG管理系统两个部分。EPG采集系统可以使用不同形式的外部接口采集数据,包括外部webservice、广电内部webservice、广电的EPG数据库等。EPG采集系统的输出包括本系统自定义的EPGXML和EPG数据库,两者互相独立且可以相互转换。通过EPG数据库,EPG信息可以有不同形式的外部呈现,包括在FlashPlayer的EPG显示。同样,EPG管理系统也通过EPG数据库进行EPG信息的人工编辑管理。4.3VoD媒体资源管理子系统VoD媒体资源管理平台是一个多功能集成的开放性综合业务平台,包括文件系统管理和元数据管理两个部分。文件系统管理主要提供超大文件上传、分布式的存储集群、方便的增加删除修改等操作、操作日志和审计等功能。元数据管理系统功能主要包括全文检索查询现有VoD节目、对现有节目增加删除修改查询操作、可按照节目分类等条件查询现有VoD节目等功能。4.4后台流媒体服务管理后台流媒体服务管理模块主要实现拓扑管理、配置管理、配置管理、性能管理、日志分析、故障报警系统、系统