摘 要 本文介绍了在播放流媒体视频时,通过动态自动适配标清、高清等不同码率,按照用户选择特定区域,达到按照用户期望播放的需求、效果。
【关键词】流媒体 标清 HLS 点播
1 引言
流媒体视频相对于传统视频文件,由于支持边下边播等,对消费者而言,可以尽早播放视频文件;对于媒体供应商,可以将视频文件方便地与CA、DRM等结合,实现版权保护。
随着互联网进一步发展,终端用户在线观看视频成为常态,人们对视频播放的诉求不断精细化,如在播放过程中根据网络带宽情况播放不同码率和分辨率视频。当前媒体播放效果主要是按流媒体规格自动播放,对于个别用户定制体验需求,如缩放播放部分区域以达到重点关注部分场景的需求,目前尚不支持,本文主要针对该类特定场景方案描述。
2 系统架构
流媒体视频播放系统从大的方面包括媒体服务器、媒体编码器、CA服务器、媒体内容分发系统、用户鉴权服务器、终端用户等主要组成部分,整体组成示意图如图1所示。
媒体服务器主要负责视频媒体实体文件存放,并提供相应服务,以便编码器推流、终端用户获取流等服务。
媒体编码器是一种功能部件,完成原始文件编码、加密,形成流媒体格式文件,以便播放,常见编码器如哈雷编码器,一般由专用一体化软硬件组成,对性能要求较高。
CA服务器主要管理媒体数据加解密License,在播放加密媒体流时,终端获取License,对媒体数据进行解密,并播放。
内容分发服务器主要用于做媒体请求消息分发、缓存、调度,提高媒体播放整体性能。
用户鉴权系统用于对接入并请求媒体终端用户进行鉴权,获取用户订购信息,并为用户提供相应权限控制,如VIP用户、普通用户、访客等。不同用户具备不同操作权限。
终端用户为最终期望播放媒体的用户,如手机用户,此处将用户已经手机中对应软件作为整体,不做细分介绍。
3 主要原理
3.1 文件格式介绍
从上述文件可以看出,在一级播放列表中定义的该视频流支持4种码率,分别时200000bps、311111bps、484444bps以及737777bps,在实际播放过程中,终端可以根据需要选择任意一种码率播放。不同码率播放效果有所不同。
3.2 播放实现
以播放HLS为例,在播放过程中,用户通过播放页面选择放大,主要流程如图2所示。
第一步:用户在播放中在特定区域选择放大。
第二步:在用户选择放大时,获取用户选择放大的位置、放大倍数。
第三步:根据用户选择放大倍数,计算当前播放view尺寸在放大后所能播放画面帧占实际帧大小比例。
第四步:在解码后,获取待播放画面帧,然后根据实际需要播放的比例、区间,获取实际渲染的帧区域。
第五步:将实际需要渲染的帧,按比例在当前view尺寸空间进行渲染,从而达到在当前尺寸view区间渲染显示部分放大媒体数据。
第六步:均按照该处理方式处理所有帧数据,实现流媒体文件放大播放效果。
以上主要介绍HLS模式下视频缩放播放主要实现方式,对于Dash等流媒体缩放播放,其主要原理相通,不再赘述。
4 视频缩放播放效果
上述原理基于HLS的点播介绍用户放大播放流媒体实现过程,在实际使用过程中,在使用场景、提高体验效果等方面需要在其他方面进行配合。
对于终端用户而言,在使用种不但会进行放大,也会进行缩小,在缩小过程中,其处理方式与放大相反,即获取的可播放区域范围按比例放大,进而计算出可播放范围,后续在解码后渲染时获取相应尺寸帧数据进行渲染,从而实现缩小播放功能。
对于用户而言,在满足缩放、滑动前提下,同时不希望观看效果下降,特别是画质效果。为此,在用户放大时,播放器根据用户选择,自动适配到高分辨率码率流,如从780P切换到1080P、2K、4K等码率播放,对于用户体验,相同view尺寸区间,像素基本差别不大,确保缩放不降低播放画面质量。
5 结论
视频播放是4G/5G时代重要需求,不仅在终端用户领域有较大需求,在视频监控等视频相关领域均有举足轻重地位。随着使用不断扩大,人們对视频的需求也在不断增加,视频缩放播放功能将会使人们对视频的理解、应用带入一个新的时代。
参考文献
[1]《HTTP Live Streaming draft-pantos-http-live-streaming-12》.
作者简介
杜庆峰(1977-),男,工程师,专业为控制理论与控制工程。
作者单位
南京宁矩智能科技有限公司 江苏省南京市 211100endprint