找回密码
 注册

微信扫码登录

使用验证码登录

只需一步,快速开始

胜天工科技销售各种数字电视信号调制卡胜天工科技销售各种数字电视信号码流卡

【游客、新手、注册会员的区别】 【积分策略和会员晋级说明】 【发帖和附件上传规则】 【如何下载感兴趣的资料】 【如何获取梦游币】 【侵权资料处理及免责说明】
查看: 1962|回复: 0

一种基于云技术的视频转码平台设计

[复制链接]
  • TA的每日心情
    开心
    12 小时前
  • 签到天数: 4204 天

    [LV.Master]伴坛终老

    发表于 2015-3-7 11:20:41 | 显示全部楼层 |阅读模式
    分享到:
    消息来自- 北京
    作者:北京数码视讯科技股份有限公司 张翰 石小明   来源: 《有线电视技术》2015年第1期

    云计算的背景

    云计算是网格计算、分布式计算、并行计算、虚拟化、负载均衡等计数的融合和发展,可以理解为将大量的计算资源连接起来进行统一的管理和调度,形成一个统一的计算资源池,将用户的需求在资源池中计算后进行反馈。

    云计算技术善于处理大数据、大计算量任务,同时依靠其分布式文件系统,可以保证极高的可靠性及容错性。

    当前,各大研究机构都在开展对云计算的研究,很多科技公司也相继推出了基于云计算技术的服务,其中典型的有苹果公司的iCloud、亚马逊的EC2、IBM的 “蓝云”、微软的Windows Azure等。这些服务已经开始形成云计算技术独特的商业模式,可以预见今后云计算将更多的进入人们的视野,改变我们的生活。

    视频转码的特点

    目前对于广电行业来说,三网融合是大势所趋,然而对于广电技术领域最核心的视频技术而言,这将带来很大的挑战。电脑视频、手机视频等成千上万的视频文件要同时适配三个网络,在视频标准不同、用户类型不同、访问终端不同、播放软件不同的条件下都要具备良好的用户体验,这就需要我们能够实时任意的进行视频转码,而这种视频转码业务相对于其他的大数据业务有以下特点:

    (1)我们处于媒体资源极大丰富的时代,许多门户网站、社交网站每天都要有大量的视频需要转码,更不用说互联网或广电视频运营商了,几十到几百PB的源数据导致存储任务重、转码耗CPU资源高、持续时间长,高级编码算法(HEVC)下一般配置服务器无法实时作业等问题,需要专门的架构来快速处理任务。

    (2)现在的视频内容传输在不同的网络之间,播放在不同的终端之上,数据来源和输出多样化,可能是FTP、HTTP、UNC等,同时转码节目的分辨率、码率、封装格式各不相同,需求更加复杂多变,需要支持多元的数据输入输出。

    (3)由于媒体数据串行可分割的特点,因此可通过对媒体数据切片来加强系统并行计算能力,但是对于媒体内不同数据分割策略不一样,如视频按GOP结构,有些音频不能切或者切割点不一样,字幕与视频之间的关联性等都要考虑,因此需要灵活的数据拆分分发模式。

    (4)对于新闻快速上线这类实时性较强的转码应用,其业务存在持续性,即“边转边播边看”,对系统实时性要求很高。同时用户希望在多终端上都能看到最新的视频内容,因此转码系统必须为多平台发布提供适宜的节目源。

    (5)当前的视频转码服务器对于运营商而言存在着几个越来越突出的问题,比如转码任务量存在波动,所购服务器难免浪费;厂家之间架构难兼容,系统扩容选择余地小;单一厂家存在技术捆绑,升级开发成本飙升;服务器价格越来越高,单次投入成本过大;服务器、PC机难以利旧,堆积设备越来越多等。因此,转码平台必须充分考虑涉及到运营商利益的这些问题。

    视频转码的这些特点,对于我们选择适合的云计算框架等相关技术,具有很重要的指导意义。

    基于云技术的视频转码平台设计

    云技术现状介绍

    云计算技术的框架有很多种,而目前运用最广泛的开源分布式计算框架是Hadoop,它是一个由Apache基金会所开发的分布式系统基础架构,使用云计算编程模型在大量计算资源组成的集群上对任务进行分布式处理,提供高性能的分布式服务,在目前各大公司的云计算业务中均有应用。

    Hadoop计算框架中最核心的设计是MapReduce编程模型和HDFS分布式文件系统。MapReduce是一个开源的云计算编程模型,这是一种静态分布式计算架构,它的设计思想是“任务的分解与计算结果的汇总”,采用“分而治之”的思想,把对大规模数据集的操作,分发给一个主节点管理下的各个分节点共同完成,然后通过整合各个节点的中间结果,得到最终结果。HDFS是Hadoop系统中的文件系统,为云计算提供分布式文件存储,源数据的存储和输出都涉及到该分布式存储系统。

    此外,Hadoop的调度器策略对系统性能影响很大,其默认的FIFO调度器在唯一的调度队列中按时间顺序和优先级别安排任务的执行,没有考虑到作业间的需求差异,使得资源长期被大计算量任务占用,后续的作业无法得到执行。因此各大公司在实际应用中基本选择以接口的方式调用第三方调度器,比如Yahoo公司的Capacity计算能力调度器,Facebook公司的Fair公平调度器,适用于异构集群的LATE调度器和适用于有时间限制作业的Deadline调度器等。

    静态MapReduce编程模型的最大局限性在于需要处理的原始数据是静态存储在文件系统上的,但是在视频转码应用中目前越来越多的数据来源是动态的,如一个用户的请求,可能是一个视频源文件的URL,其中还可能带有字幕等其他信息,数据源的存储位置是不确定的;而媒体数据的输出可能是存储到某个地址,或者直接由播放器拉取进行播放,对于视频等媒体数据请求业务来说,最重要的是视频播放的流畅性,由于播放是一次持续的用户体验,而不是一个一次性的输出结果,因此业务处理无需一次性输出结果,只要以大于实时播放的速度不断地把处理好的输出数据发送到用户终端即可。

    流式分布式平台设计思路

    考虑到运营商实际应用中面对的以上情况,结合视频文件的特性,基于实时性的流式分布式计算系统便被提了出来,流式计算系统不同于静态分布式计算的最大特点是:源数据不需要提前被存储在系统中,而是作为转码任务实时输入系统,所有子任务都是通过实时动态分析产生的,任务在输入的过程中即被动态分割分发到不同的处理节点中进行处理,合并后的结果也是实时处理吐出的。即系统需具备边下载、边切片、边转码、边合并、边上传的“五边”特征。

    具体而言,一个基于流式分布式计算思想,灵活高效易于业务扩展的视频媒体数据处理云平台,应该有以下的系统特点:

    (1)平台采用一个纯计算的分布式框架,不存储或者只做少量存储,数据流能够最快速的由输入端经过处理流出到输出端,即转码时可以做到边下载边转码边封装边上传到目标地址。系统采用非对等结构,有效利用一切可用闲置的计算能力不同的计算资源,达到共同加速任务目的,每台主机可以根据CPU等配置为计算资源判断出一个能力值,主控和数据流输入拆分模块可以根据能力值动态切割分发不等量的任务到各具体主机执行。

    (2)平台能力计算执行单元可流式动态地生成,执行的能力计算单元是通过分析源数据并对其进行动态切分产生的,框架可以允许平台根据上下文动态调整各计算执行单元的参数,比如为了保证实时性可以对某执行单元下达快速完成转码,略微牺牲质量的命令。

    (3)平台具备高效的数据驱动引擎,采用模块化开发思想,底层数据驱动由专门的底层引擎驱动,对于增加新业务只需开发新的业务组件,开发迭代速度快,业务模式重组扩展灵活。支持数据输入输出协议的抽象,且抽象接口底层支持数据处理优化及容错断点续传处理,定义了标准的可扩展接口,可实现FTP、UNC、HTTP等协议接口抽象,其他协议如RTSP或第三方私有协议等可通过标准接口注册给框架来支持。

    (4)平台具备高可靠性,任意能力节点间可以互相备份,没有单一故障点;系统只关心设备计算能力,不与具体厂家配置绑定,具备高可扩展性,高伸缩性,可以进行动态能力注册与卸载,利于服务器利旧。

    (5)平台流式数据拆分及分发模式可以灵活定义,具备多种业务模式以应对实时播放或者结果快速输出等不同的任务要求,可对源数据进行纵向横向拆分,如对音频视频进行分离,并执行不同的数据拆分模式。实时模式下,为了保证播放的实时性,可以对前n段数据进行较细的拆分,只要在播放延时内完成第一片转码(非HLS模式下可以未转完),此时其他与之并行的转码切片也已转完,用户播放完这些已转码的视频文件后继续观看剩余的转码文件,即可达到实时播放。

    (6)平台支持多元数据输入,如字幕+视频合成,多视频合成,广告插入等从不同的URL过来的内容进行合并;媒体业务处理能力可灵活扩展,如视频编码、音频编码、视频分析处理等,理论上框架可以完成转码之外其他的媒体处理分析任务。

    平台组成及业务流程

    本文提出了一种典型的具备上述特点的云转码平台,其系统组成及业务流程如图1所示。

    1.png
    图1  云转码业务平台流程图

    如图所示,在云转码业务模式下,平台有三种能力节点:
    (1)Slicer:数据流入分析及数据拆分模块;
    (2)Transcoder:转码能力单元,视音频转码的主要计算单元,根据能力值类型不同可以执行不同转码任务与并发数;
    (3)Combiner:合并上传模块,负责视音频数据复用合并上传到目标地址。

    这三种能力可以部署在所有主机上,进行相互热备,具体任务执行时会被动态唤醒,其工作流程如下:
    (1)主控单元接收到外部事件驱动,产生转码任务,唤醒一个Slicer单元,Slicer单元从源地址拉取输入流,同时进行数据拆分,根据业务模式的不同,Slicer可以使用自定义的不同的数据拆分模式。
    (2)每当一片数据开始拆分时,便通知主控唤醒一个Transcode去执行,如此动态的产生一个个转码子任务。
    (3)当第一个Transcode执行有输出的时候,便可以唤醒一个Combiner去拉取Transcode的编码输出数据。

    因此,Combiner输出第一帧数据的延时等于切片访问数据源的延时加编码产生第一帧的延时;此时如果第一片能实时编码,则客户端可以一直实时播放;若单转码执行单元的倍数是1/n倍,则当第一片转到(n-1)/n时,用户可以实时播放,由于后续的切片与第一片是并行转码,所以在用户播放的时候,就会有转码的数据不断推送到播放服务器端,以保证用户流畅的播放体验。

    以上就是关于云计算技术及一种基于云技术的视频转码平台设计的介绍,可以看出,云转码平台具备的高效的任务处理能力,灵活丰富的输入输出及高可靠性、高扩展性等特点,可以很好地满足转码业务的需求。

    转码系统的集群管理

    转码平台的集群管理不只为用户提供操作和监控整个平台的图形化交互系统,同时也是平台的任务控制中心、调度中心。集群管理系统实时计算平台设备空闲处理能力,控制转码任务在整个系统范围内的动态下发、动态转移,使系统时刻处于负载均衡模式下。其主要完成的功能如下:
    (1)统一管理转码平台硬件资源,控制转码业务单元生成,对转码业务单元进行分组管理。控制执行任务排队机制,查看任务执行阶段的进度。
    (2)控制转码计算资源间的任意相互备份,任务回收、重新下发及自动断点续传,记录备份转码系统平台的所有任务,设备和账户,日志信息。
    (3)管理转码模板,鉴别用户权限,进行远程告警等操作。
    通过集群管理系统,转码平台可以灵活地进行任务的分配与调度,充分使用系统计算资源,保证系统运行稳定,业务下发回收顺畅,使平台时刻保持最佳运行状态。

    未来展望

    最近几年来,云计算技术得到了很大的关注,云计算也逐渐有了实际的应用,在视频转码方面,一些走在技术前沿的厂家已推出了基于云计算技术的转码产品及服务。

    在三网融合的大背景下,云计算技术将深度融入视频行业,符合广电视频特点的云转码技术将成为一种趋势,其架构灵活、易于部署、快速实时等特点必将带来一轮广电特点云计算技术讨论与应用,市场上正涌现一批以数码视讯为代表的视频媒体技术方案提供商,为广电特色云计算的兴起与推广做出杰出贡献。
    踩过的脚印
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    QQ|Archiver|手机版|小黑屋|数字电视开发网 ( 京ICP备16008897号-5 )

    GMT+8, 2026-6-5 22:55 , Processed in 0.092323 second(s), 31 queries , Gzip On.

    Powered by Discuz! X3.5

    © 2001-2026 Discuz! Team.

    快速回复 返回顶部 返回列表