【播放器】播放器优化浅略
下图是播放器是播放器的一张架构图,参考自网上,可以预先了解播放器的相关基础知识。即一个完整地播放流程是解析仪解复用、解码、渲染。
经常在使用播放器的时候,会有许多播放体验的优化。常见的时候播放画面的画质、杜比音效等特效。在体验效果上看,
播放器有许多可以改进的技术要点。
下面主要从架构流程来梳理一下播放体验端到端可以优化改进的点。
在渲染部分,我观看视频体验过程中吐槽最多的一个点是,在播放过程中快进快退时,会出现音视频不同步的问题,以优酷最为突出。音频解码是以音频驱动程序以一定的采样速率去采集数据,而视频文件是以一定的渲染速度从编码好的视频帧的缓冲队列里面去取数据。往往二者的采集速率很难做到一致,往往需要做两个优化,一是用算法确保同步的速率趋于很小的一个误差范围内时。二是因为视频缓冲队列和手机等终端设备上的gpu擎渲能力的不同,往往在不同的设备上很难保证,当跳转到另一个播放点时,音视频又得用一定的策略去同步。因此,后续的改进思路是,将gpu渲染速度 利 用渲染引擎做阈值话处理,普遍将硬件能力作为一个标准参数做为终端出厂设置,类似于vr头盔出厂时要满足openxr这种标准。
在解码部分,在播放在线视频的时候,往往缓冲会很慢,因此在片源部分,可以将视频编码格式通过一定算法减小传输量,比如将部分I帧替换为P帧和B帧,保证容错率在一定程度之内。做到减少传输码率,极致缓冲。解码部分,在端侧也可以做一些处理,比如插帧,将原先的二十帧通过算法搞为40帧,在硬件能力支持的情况下一直演进达到截图都是原画系列的效果,还可以增加帧分辨率的效果,通过算法填充像素点,把480p的填为1080p的效果。
在学术上,音视频编码已经有很多idea了,只不过没有经过大规模的场景测试,后续如果有业务发展需求驱动相信会有很多方案涌现。各种协议和编码格式已经有自己独特的应用背景,已经极少发生变化了。在硬件模块上,基于各种底层应用场景的优化,提升硬件能力已经有厂家争先做了,华为就做的相当好,其他厂商可能更多基于ai算法这种能大幅度验证芯片能力做优化 。
- 点赞
- 收藏
- 关注作者
评论(0)