瑞芯微rk3568移植openbmc(三)
创始人
2024-04-04 00:21:37
0

2022.11.04 更新

1、关于h264 novnc

   openbmc中使用的ipkvm其server端调用的是libvncserver库,而其web client端调用的则是novnc的库,既上篇研究修改了libvncserver后,再次继续研究了一下novnc。

        Github搜索一圈以后,发现https://github.com/martin19/noVNC 此项目基于树莓派开发板,作者fork了原始novnc工程,添加修改的H264的novnc解码器,于是笔者fork了该作者的工程,基于该工程之上适配了rk3568的H264相关工作,修改了该工程的H264协议定义,按此open H264制定的协议规范对libvncserver和novnc两端进行了调整:https://github.com/rfbproto/rfbproto/blob/master/rfbproto.rst#open-h-264-encoding 

先是在novnc的环境中把h264解码调试ok

 再将novnc打包成库,集成到了openbmc当中:

     1080P分辨率下对比了一下H264编码占用的带宽(上图),以及JPEG Tight编码占用的带宽(下图),确实在清晰度差不多的情况下,H264编码带宽仅有JPEG Tight的1/4左右,如果是静止不动的桌面,H264几乎没有什么流量,B帧传输期间,流量在几十Kbps,I帧时2Mbps左右,而JPEG Tight编码即便在桌面静止不动的情况下占用带宽依然为20Mbps左右。

         尽管把H264添加到了novnc中,实际测试确实省流量带宽,但仍然存在不少问题:

        如直接使用TigerVNC连接BMC VNC服务器时,帧率最高可以接近50帧,平均帧率在45左右,且此帧率下带宽占用也仅有10Mbps,但使用novnc后,因novnc需要将bmc上的VNC TCP port 5900转为websocket与novnc web的客户端通信,中间多了一层数据转发,使得novnc帧率直线下降,实际测试中novnc下无论是H264编码还是JPEG的Tight编码,帧率仅在15~25之间浮动,H264编码的性能直接被拉低到与JPEG Tight编码相差无几。

       相信novnc和websocket方面优化一下,性能上H264肯定还能再提升一点点,但是这个优化起来难度就相对高了。novnc的研究就先到这里吧,后续有时间再来考虑相关优化。

相关内容

热门资讯

吉利起诉欣旺达,理想汽车躺枪? 想象一下,我从你这里采购电池,还替你宣传,结果因为你的质量问题让大家质疑我,这是一种什么感受? 1...
獐子岛:近12个月新增累计诉讼... 12月29日,獐子岛(002069)发布公告,截止到公告披露日,公司及控股子公司在最近十二个月内累计...
政策迎重大调整!概念股集体飙涨... 12月29日,A股市场主要股指震荡走势,沪指收盘微涨0.04%,录得九连阳。从板块上来看,数字人民币...
福石控股累计诉讼仲裁1792万... 12月29日,福石控股(300071)发布公告,截至公告披露日前,公司及子公司在过去十二个月内的累计...
犯罪收益达14.6亿韩元,享有... 金建希利用总统夫人身份,收受大量财物,并广泛介入了各种人士安排,“甚至可以称得上是现代卖官卖职”,韩...
金评天下丨“长钱长投”制度环境... 金融投资报评论员 刘柯 中国人民银行于12月26日发布《中国金融稳定报告(2025)》(以下简称《金...
偷拿自己快递再退款不是“薅羊毛... 网购下单付款,待快递到站后秘密取走,再以“未收到货”申请退款,这样的行为看似钻了“空子”,实则已触犯...
全球瞭望丨美媒集体抨击特朗普政... 新华社洛杉矶12月28日电(记者黄恒)美国加利福尼亚州多家地方媒体28日集体刊登同一篇社论,抨击特朗...
一个假律师凭啥“拿捏”酒企? ... 打着“维权”的幌子,干着敲诈的勾当,事后还要签订“法律服务”合同……江苏宿迁一名假律师专门敲诈酒企,...