技术解码 | 云导播台——让导播触手可及

2020-07-25 12:10:34 浏览数 (1)

在2020年初云上业务的爆发式增长中,将硬件导播台功能云化的云导播台产品开始为广大互联网公司所熟知。本周的技术解码就由腾讯云直播平台负责人兰玉龙老师为大家解密云导播台这一新兴产品的相关内容。

不平凡的年份,迫使大量线下和传统的业务搬到线上,使得云上业务呈爆发式增长。同时,也让一些有局限的产品被大家熟悉并使用,如腾讯云导播台。

可能不是广电行业的客户一定会问,那什么是云导播台,云导播台有什么功能呢?

先说说什么是传统导播台,简单说,传统导播台就是完成对多种输入的音视频进行实时编辑、切换并最终输出到直播的系统。电视频道就是导播台的输出,各种节目、广告、连线画面按计划切换。而这背后实际是一套昂贵而且专业的硬件设备,而每套硬件设备一般只能输出一个频道。

云导播台就是将上述能力搬到云上,将硬件导播台的功能云化,不需要专业的硬件支持,导播人员通过远程接入,实现导播切换、调音、录制等功能。简单易上手,同时价格亲民。

云导播台的优势显而易见。

  • 首先是成本低廉,相对传统导播台动则几十万的的专业设备,云导播台按分钟计费,一场活动导播,可能几十块钱就完成了。
  • 其次是不受地域限制,简单易用。通过一台电脑,一些手机配合直播输入,就可以完成直播画面的输入和导播控制。
  • 第三是兼容性好,云导播台属于软件处理流媒体内容,对各种流媒体文件都能支持,甚至对某些非标准格式还能通过二次开发的方式兼容,使画面看起来流畅。

云导播台通常分为以下几个部分:

媒体协议抽象层

传统导播台对输入的媒体文件格式和传输协议都有严格的规定,在面对互联网中纷繁复杂的直播协议和文件封装格式时显得力不从心。云导播首先需要将各种流媒体协议统一成一种广泛被支持的协议。腾讯云导播台依靠腾讯视频云在音视频领域多年的积累,自研了一套媒体协议抽象层,支持rtmphlsflv等直播协议和mp4mkvhls等文件封装格式,支持直播流媒体也同时支持视频文件输入,在云端将所有类型处理为统一协议后,再交由后续模块处理。

媒体处理层

紧接着是媒体处理层。媒体处理层对流媒体进行解码,压缩再编码,按直播需要调整媒体码率等参数使之既满足清晰度和流畅度需要,也能节省带宽。媒体处理层在接收到上层模块生产的音视频数据后,会根据音视频的编码方式,进行解码和加工。除了常规的转封装、转协议等处理外,媒体处理层还需要处理音视频数据同步,音视频非标格式、时间戳跳变,回退等各种异常情况。同时,根据用户需要,处理水印,文字,字幕,转场画面,画中画等多种音视频数据变换。

导播层

导播层顾名思义就是处理所有与导播相关内容的部分,负责实现导播切换、调音、延时等多种功能。在提供常见的导播功能的同时,腾讯云导播还基于导播层扩展出审核、质量监控、录制等多种功能。以审核功能为例,云导播提供了多种审核方式可供选择,可以由人工审核预监画面,也可以使用腾讯云的AI智能审核,配合主监延播,可以对异常画面进行及时干预,保证播出安全。

输出层

输出层主要解决流媒体输出的问题。导播台输出层将经过导播层处理后标准、兼容性良好的音视频数据,支持以rtmphlsflvdashwebrtc等多种协议拉流输出,同时,也支持将直播流同时推送到客户指定的多个直播平台上,实现多平台直播,包括录制归档系统,完成及时存储。

虽然云导播台与传统导播台相比,在成本、多协议支持等方面有优势,但是也面临着网络环境更加复杂、交互存在物理延迟等问题。针对这些问题,在设计和实现时需要专业的设计和挑战攻关。

1. 延时挑战

首先遇到的就是延时大问题。云导播台运行在云端,用户通过web页面操作画面切换、布局切换等。由于网络传输耗时、音视频编解码耗时、播放器缓存等因素的影响,在未优化的情况下,在调用云端API后,需要5~8s才能看到切换的效果,显然,这个延时对于操作者无法忍受,能接受的延时只能在1秒以内。针对这个问题,首先需要对耗时进行了全链路的分析,然后再针对性优化。

经过系统日志和链路抓包分析,延时主要由以下几个方便产生:

首先是播放器缓存。大多数播放器会缓存几秒的视频画面才开始播放,这样能够防止链路抖动使得画面观看起来流畅,播放器缓存引起的延时占据了整体延时的60%。但是针对还没有直播出去的预监画面,抖动概率很低,高延时使得调整画面变得低效,操作不灵敏。针对这个问题,在不改变播放器的情况下(譬如flash播放器)需要调整播放器的播放缓存,将缓存时间长度调整到1秒以内。但到1秒以内再往下调整,实际作用已经不明显了。此时就需要更换更实时的播放器,譬如webrtc的播放器,可以将延时进一步调整到1秒以内。而抗抖动问题,交给直播的CDN来解决。

其次是链路缓存。缓存是抗网络抖动的有效方法,链路缓存存在输入流的输出端,编解码器内部和数据传输的网络层。腾讯云导播台对不同场景设置了不同的链路缓存,接入端采用最新关键帧避免GOP缓存,在编解码内部,采用合理的编解码参数调节以及主动推流的方式降低编解码产生的延时。链路上,采用全内网专线就近传输,包括和直播、点播系统打通,在稳定性和延时上都有保证。

第三是启动过程。对于协议转换和编解码过程,如果采取按需启动,在需要编解码时,再去拉取流进行处理,无疑会增加触发过程和启动过程耗时。针对该场景,云导播对所有输入在全链路上预热,提前启动协议转换、媒体处理任务,预监和主监同时并行运行,即使关闭导播控制台,后台编解码任务也会继续在后台运行,这样在重新打开导播台时能立即取到内容。

经过优化,画面切换、布局切换等动作在腾讯云导播台链路内部可以在毫秒级时间完成,操作者可以在1内看到切换后的效果。

2. 稳定性挑战

与定制硬件拥有独立硬件、单独局域网、固定标准流媒体格式的硬件导播台相比,云导播台使用通用硬件,所处的网络和设备环境也是各种各样,意外和突发概率加大,稳定性上面临着更大的挑战。为了提升稳定性,云导播台在腾讯云弹性伸缩架构的基础上,在业务层面实现了层内、层间两个维度的实时异常检测和故障调度,有效应对单设备、单区、单地等多个级别的异常。同时提供延时播出、快速切换、紧急垫片等多项应对功能。

云导播台可以在游戏、教育,会议、视频监控、婚礼活动等场景中,进行画面导播和视频编辑。

2020KPL春季赛已落下帷幕,TS荣获KPL春季赛总冠军。受疫情影响,这类比赛都采用了线上方式。观众和选手通过远程接入,众多战队在云上展开较量。KPL春季赛今年首次使用了腾讯云远程制作中心的云导播台产品,选手视角的切换,比赛画面和观众画面的切换,休息期间广告插播以及后期转播和重播,云导播台都提供了极大的便利。不限制地点和场地,通过导播控制台——一个web页面轻松完成。

云导播台可以让远程教学变得更方便,多个老师按时间段上课,通过导播台画面切换,学生可以不用切换房间和观看地址,在一个直播间内看到不同老师上课内容。主讲老师和助教还可以同时上课,通过导播台合成一个直播间。甚至学生还可以自己注册导播台方便的录制任何直播间的内容以供自己随时回看。

总之,与传统导播台相比,云导播拥有成本低、按量付费、支持弹性扩展、支持远程接入、多协议兼容、场景丰富等众多优势,适用于多视角直播、跨城同屏直播、在线教育、直播带货等多种场景。事实上,腾讯云导播台已经保障支持了多场重要活动和直播,包括央视频青年节晚会、端午特别活动、深圳气象台日食直播、学而思北大网络招聘会等等重要活动,经受多次重大考验,而功能仍然在不断扩展,依托于腾讯云体系,为企业提供更加优质、稳定的导播服务。

0 人点赞