融媒直播平台的设计与实现
2022-09-23何金道
何金道,陆 挺
(1 浙江省广播电视工程公司,浙江 杭州 310015;2.丽水市广播电视总台,浙江 丽水 323000)
0 引言
近年来,网络直播行业飞速发展。以抖音、快手短视频平台为例,2021 年,抖音平台每月有超过900 万场直播,快手平台全年有超过3 300 万场直播[1]。截至2021 年底,我国网络直播用户为7.03 亿,同比增长率14.03%。
为了进一步推进媒体融合向纵深发展,丽水市广播电视总台(以下简称丽水台)将电视直播与网络直播相结合,设计建设了融媒体网络直播平台,实现了多屏互动和全媒体分发,为媒体融合发展提供了有力的技术支撑[2]。
1 平台整体架构
融媒直播平台采用云上服务和本地服务相结合的设计框架进行开发部署。平台由信源管理、业务处理、直播间管理及媒资管理4 个模块组成。信源管理负责直播源的输入,包括各类硬件设备通过编码器的音视频输入以及第三方流平台的直播流输入。业务处理层由云导播台和云服务构成,对信源进行包装、切换、存储等业务处理,为用户获取最终视频播流做准备。直播间管理包括负载均衡、授权管理及智能审核等功能,网络直播间可传输信息至电视直播间,以实现大小屏之间的多屏互动。媒资管理包含对图片、音频及视频的处理,负责直播中的包装和直播流存储,同时,直播媒资库与总台电视媒资系统打通,直播媒资库可调用总台媒资库中的音视频提供给新媒体使用,总台媒资库也可调用直播媒资库中录制的视频。
业务流程上,平台首先通过信源设置或通过本地自建的转推流服务从第三方流平台获取音视频流,然后将获取到的直播流传输至业务处理层进行处理,通过云导播台将各路流信号进行画面包装、过滤、切换等处理后,输出播流至云服务器和本地服务器进行进一步处理和记录。处理完毕的播流信息和直播信息最终通过交互服务器传输至直播间进行展示,供用户收看并参与评论。平台整体架构如图1 所示。
图1 融媒直播平台整体架构图
2 直播平台构建
2.1 信源管理模块
信源为外部硬件设备和内部网络服务连接的载体。外部硬件设备包含网络摄像机、编码器、推流包、网络编码导播台以及手机等具有编码推流功能的设备。信源接收到网络推流信息后,接口返回信源状态,包含流畅度、码率及分辨率信息等,展示给后台用户。将信源的播流地址配置到直播间,可以实现直播视频信息从生产者到观众的传输。其中,信源流的获取分为实时消息传输协议(Real Time Messaging Protocol,RTMP)流、超低延迟实时流传输协议(Real Time Streaming Protocol,RTSP)流、第三方公网地址流以及政务内网协议流等几种方式。
2.1.1 直播平台传输协议选取
基于TCP 的RTMP 协议具有输出稳定、兼容性强、不需要缓存的优点。同时,考虑到用户的流量费用,同等流量下,RTMP 协议相较于RTSP 协议传输能够节约79%的费用。因此,在直播分发中选用RTMP协议进行。基于用户数据报协议(User Datagram Protocol,UDP)的RTSP 协议虽然存在与超文本传输协议(Hyper Text Transfer Protocol,HTTP)不兼容的缺陷,但具有低延迟、可分段式传输的优点,因此,将其运用于各机位无线设备通过网络(4G/5G)传输至导播台使用,相较于RTMP 协议3~5 s 的延迟,RTSP 传输延迟低至1 s 以内。
2.1.2 信源与直播间的绑定
信源为直播间提供播流地址,也提供直播间推流入口,直播间必须绑定信源才可使用。直播间与信源可进行一对一或一对多的绑定,普通直播间为一对一绑定,即一个直播间对应一个横屏或竖屏的信源;多路选择的直播间、城市慢直播等直播间拥有多路输入信号源,可采用一个直播间绑定多个信源的方式。信源在直播间下方以列表的形式呈现,用户根据个性化的需求自行在直播间选择相应信源。
2.1.3 第三方平台拉转推流服务
第三方平台拉转推流服务即通过第三方平台如直播合作平台、政务网平台等,获取直播流信息后转推至自有平台实现直播分发。考虑到云上服务器多为计算型服务器,无法满足高显存类型转推分发的需求,且应用场景中包含政务云接口拉流,因此,采用本地自建服务器ffmpeg 容器的方式进行转推。
2.2 业务管理模块
2.2.1 云服务器和云数据库
云服务器和云数据库主要负责直播业务接口处理和数据存储功能。云服务器部署直播业务接口和功能服务对接接口程序,实现云上服务与本地服务互通。编写视频直播、视频点播、OSS 相关接口,整合接口至后台供用户使用;后台通过接口调用这些云上服务,将云上服务进行调用配置后,按照业务需求存储记录至云数据库中。使用云服务和云数据库,可以完成直播主体业务处理需求,将直播所需的服务和数据进行整合后放到直播后台使用。
2.2.2 视频直播和视频点播管理
云上视频直播是直播业务中流获取和中转的核心,通过接口配置获取视频直播推流地址和播流地址进行使用。直播后的流地址将以m3u8 文件的形式无转码存储至视频点播服务中。后台配置快速回放机制,设置视频点播服务存储视频的开始和结束时间进行快速回放。后续根据业务要求对直播录制文件进行配置转码,一般为1 080P 和720P转码。转码后的视频通过在线剪辑功能完善直播回放视频。
2.2.3 OSS 管理
OSS 管理是配合媒资管理进行使用的一项云上服务。云上设置OSS 管理目录,对OSS 管理目录的读写设置权限。通过后端编写接口代码与OSS服务进行通信,将需要存储的图片、视频、音频及文件等传输至指定的OSS 目录,同时可调取OSS 的管理目录,方便在后台进行预览和使用。可根据用户权限细化OSS 目录文件管理权限,不同的用户权限可对不同目录的文件或相同目录的不同文件进行管理。
2.2.4 云导播台管理
导播台可根据需求设置4~12 个信道信号的输入,通过各种形式的叠加和包装,最终输出1 路信号至信源。通过导播台可以减少实体导播台的网络要求,并减少视频包装传输等问题,在一定程度上有效保障了直播安全。导播台内部信号从信源中获取,直播包装的直播视频、音频、图片等从媒资库中获取。
导播台分为播单型、通用型、虚拟演播厅型三种类型。
播单型导播台可选择信源输入,定时信源播放任务,可运用于电视频道信号自动切换、信源定时任务等;可按照指定日期播放指定任务,或者按照任务运行时间进行编播。播单型导播台设计重复任务循环功能,能够减少重复工作量。
通用型导播台包含延迟输出功能,同时配置安全播出通道。若在直播过程中发现信道技术或内容问题,可及时切换至安全播出通道,保障直播内容安全。
虚拟演播型导播台为虚拟抠像场景使用。主持人在绿箱或蓝箱演播室进行直播,将直播画面传输至信道。虚拟演播型导播台通过信道获取画面,导播台对直播视频进行智能抠像。导播台加入虚拟背景,通过控制实景主持人的位置、大小来适应虚拟背景,达到虚拟演播的效果。
2.3 直播间管理模块
网络直播间不仅要满足日常活动直播需求,还需要满足电视、广播等主流媒体的直播需求。通过主流短视频直播平台如抖音、快手、微信视频号等的使用,并对趣看、目睹、广电云等直播平台的业务流程进行分析研讨,最终确认了本直播平台的直播间架构。直播间根据直播画面比例分为竖屏直播和横屏直播,根据直播内容分为现场直播、电视直播、电台直播及图文直播。直播间初始化时需设置直播间背景、主题、初始界面、倒计时以及自定义分享等。
2.3.1 负载均衡设计
根据实际情况,直播服务单节点部署满足2 万人同时在线,实时聊天毫秒级响应。部署节点根据在线人数增加而增加,若每个节点超过2 万人同时在线,则启动新的节点实现负载均衡,低于2 万人同时在线则释放新增节点,对节点资源进行回收。服务节点架构如图2 所示。
图2 直播负载均衡服务节点架构图
2.3.2 授权管理
根据不同的授权观看需求,授权管理可分为直播间用户列表授权观看、直播间加密以及直播专题加密共三类授权。用户列表授权观看为通过导入excel 列表或逐个添加用户名的方式进行授权观看,进入直播间前对当前登录用户进行鉴权操作,只有在列表中的用户才能进入直播间进行后续操作。直播间加密,设置直播间密码并做缓存操作,用户输入正确密码后可在24 h 内不需要再次输入密码进入,若输入密码错误3 次以上,用户将被锁定,多次恶意破解的用户将被记录至用户黑名单中。直播专题加密方式为将同类直播纳入加密专题,进入该专题时需输入密码,密码判定方式同直播间加密。进入直播专题后,对单个直播间不需要再次输入密码,实现一次输入、多次使用的效果。但为了提高直播间安全性,退出当前加密专题后需要重新输入密码才能再次进入。
2.3.3 智能审核管理
直播间评论采用Websoket 技术进行实时评论交互,将评论内容存储至mangodb 数据库中。评论区采用智能审核管理体系,通过网络采集、预制、人工输入敏感词的方式对用户昵称、评论信息等进行一次过滤。设置智能信息源以7 天为一周期,与网络敏感词库进行匹配更新,同时将无法判断的内容移送至人工审核库,待审核员进行进一步审核。评论区经过反复编码后通过10 000 次/秒的并发压力测试,返回数据成功率为100%,完全满足直播要求。
2.3.4 多屏互动管理
多屏互动管理打通网络直播间和电视直播的通道,实现多屏互动功能。电视直播信号通过网络编码器推流至信源,直播间电视信源经包装后分发至网络平台,实现传统电视和网络新媒体的同步直播。电视评论区和网络评论区采用同一评论,实现用户聚合,可以使电视端和网络端的用户进行评论互动,带动直播间评论。用户在网络直播间的评论经智能审核后由人工审核选取进入电视评论区,同时电视直播上可叠加评论小程序,用户可以扫描后进入评论区进行评论,同样,评论信息经智能审核后由人工审核选取进入电视评论区和网络直播间评论区。
2.4 直播媒资管理模块
直播媒资管理按照文件类型分为视频、音频、图片管理。内容从本地上传后可以直接被调用至网络导播台进行调用,且网络导播台输出的直播流可被转码为视频存储至媒资库中。直播媒资库资源和总台媒资库资源共享[3]。直播媒资管理结构如图3 所示。
图3 直播媒资库管理结构图
2.4.1 直播流存储
直播流存储采用网络服务和本地服务共同存储的方式。因RTMP 网络流传输受限于现场的网络环境,直播过程中同时存在空间移动场景转换,数据传输的不稳定性,会给直播流存储带来问题。为了最大限度地保证直播流的存储,同时保证直播素材能够尽快生成,直播流存储采用云服务和本地服务互为主备存储管理。录制结束后进行存储完整性交互验证。同时在本地服务端加入视频剪辑工作站,通过内网从本地服务器获取直播录制内容后进行快速剪辑,生成回放和媒资素材。
2.4.2 媒资库整合
直播媒资库与总台媒资库资源共享,按媒资库权限划分,直播间包装和云导播台可调用总台媒资库中的指定资源。总台媒资库也可以调用直播过程中的原始信源录制文件和直播间总输出录制文件,进行剪辑和分发[4]。媒资库的整合,一方面丰富了直播间的素材,另一方面,在直播结束后马上将直播录制文件呈现在总台媒资库,便于直播内容的二次剪辑和分发,有助于提升传播效果。
3 实施中遇到的问题和解决办法
3.1 第三方拉流直播流不稳定问题
因第三方流的网络环境限制或其他不可预见的情况,可能会在直播拉流过程中出现断流的情况,从而出现黑屏或者直接退出拉流服务。为解决该问题,开发人员设计了拉流断流服务,先根据返回的流中断信息,启动拉流重启服务,周期为每次30 s,同时保存原拉流画面的最后一帧输出至推流地址,从而保证推流地址持续不中断。重新尝试恢复拉流后,推送最新的流信息至推流地址。用户在使用拉流的服务过程中只会获取到静帧画面,而不是黑屏或者直接退出拉流服务。
3.2 录制文件缺失问题
云上直播服务在获取到直播流后进行录制的操作是被禁止的,因此需要在还未开始推流时就进行录制,这将使得用户先推流进行预览,在不断流的情况下无法进行录制,从而导致录制文件缺失问题。为解决该问题,开发人员设计了播流中转服务,用户在点击录制的时候,复制原有直播流信息,也就是将原有的直播流推送至录制流中,对录制流进行录制操作,从而不论用户先选录制再推流还是先推流再录制,都可以保证直播流顺利被录制。为保证重要直播的录制,开发人员还设计了云上和本地同时录制的服务[5]。
4 结语
满足受众日益多元化、多样化、多维化的内容需求,是新媒体直播业务的关键所在。丽水台融媒直播平台的建成,为传统电视大屏注入了互联网基因,通过多屏互动将电视观众变成了用户。平台还打通了传统媒资和新媒体直播媒资系统,丰富了节目内容,提高了节目制作质量。融媒直播平台接入丽水台“无限丽水”新闻客户端后,2022 年1 月至7 月,客户端用户新增注册量同比增长74%,客户端直播流量同比增长110%,互动评论同比增长200%,取得了明显的社会效益。