Web浏览器(B/S)播放插件

4 篇文章 0 订阅
3 篇文章 0 订阅

Web浏览器(B/S)播放插件说明

1.1 BS播放插件原理说明

首先,一个视频的播放分为三个阶段:视频源对接、解码、播放,完成这三个阶段的参与者有两个:Web浏览器和BS插件。我们要做的就是划分三个阶段,哪些交给插件去做,哪些交给浏览器去做

(1)视频源对接:这个只能交给插件去做,插件从设计角度讲就是个需要安装的exe,用C++语言开发,可以集成各家SDK,可以对接RTSP,可以内植ffmpeg,还可以读文件。用插件进行视频源对接很灵活,基本啥都可以接,最终的输出是一个个裸帧
(2)解码:裸帧需要解码才能用来播放。解码我们可以交给浏览器去干,利用html5的video硬解(只要支持html5 MSE的浏览器均可),这种解码过程和方式我们控制不了,只能浏览器自己搞定,性能完全看浏览器能否正常找到解码器。这种解码的输出也只有video标签才能播放
也可以让插件去解码,解码的最终输出是一个个的yuv
(3)播放:如果是浏览器解的码,那最后也只能让浏览器去播放,这就是MSE插件。如果是插件解的码,我们最好让插件去播放,让浏览器播放代价会很大,这就是Qt插件

1.2 MSE插件说明

(1)现状:通过API支持直播、回看,云台控制,解码和播放都交给了浏览器。
(2)缺点:由于解码和播放都是浏览器自己控制,在部分台式机和笔记本上性能可流畅播放9路,在部分笔记本上播放四路就开始卡(原因是浏览器在这些笔记本上找不到GPU,其实有,但浏览器就是找不到或只能找到一个)。不支持H265,硬伤
(3)优点:浏览器自己解码播放,在布局上能无缝兼容各种容器。插件可以分离在后端服务器上,前端用户不是必须要安装插件
(4)使用场景:如果设备有独显,那该方案完全没问题。如果机器无显卡,可能会有问题。(5)后续开发计划:进行js端MSE的播放优化,目的是平滑的释放内存和修正时间戳,保证视频长久、稳定的播放。同时,希望能找到让该方案适配所有机器GPU的方案

1.3 Qt插件说明

(1)现状:可集成ffmpeg,对接任意流,解码方式可硬解软解,播放方式按照优先级分别是D3D、openGL
(2)缺点:目前是覆盖法把qt窗体叠加在浏览器某个位置上,可能在浏览器移动的时候有轻微的布局抖动。必须要安装插件
(3)优点:基本上完美继承了Qt的强大性能,同时观看9路,cpu占用不到10%。业务对接也容易,只要把窗体拉起来,功能全在插件内完成。
(4)使用场景:只要允许安装插件、基本适合所有场景。
(5)后续开发计划:进行视频融合叠加,适配浏览器缩放和滚动条。

基于Qt的web插件模拟

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值