基于live555的rtsp播放器之十九:实现多路切换

本文介绍了如何在Qt环境下使用live555实现RTSP播放器的多路视频切换,包括1通道到16通道的布局,并讨论了通道过多时采用子码流的必要性。通过QGridLayout管理视频 widget,利用事件过滤器处理鼠标事件,提供双击放大/还原和右键菜单功能。
摘要由CSDN通过智能技术生成

一.效果

 二.实现

为了控制视频的显示路数,通常需要做通道切换,这里提供了1通道+4通道+9通道+16通道,其他通道基本上不会用到,因为一般来说,超过9个通道实时显示视频流,建议采用子码流来显示,如果都采用主码流,解码压力大,CPU和内存都吃不消。不过随着CPU、显卡和内存的逐步升级,显示16个通道的实时视频已无压力。
在Qt中,各种通道的切换可以用QGridLayout实现。每路视频封装成一个widget,初始化时,创建16个视频widget,设置每个widget的visible为false,并添加到列表中。然后把列表中index为0的widget添加到QGridLayout,并设置该widget的visible为true。这样的话界面启动后默认显示一路视频。

  m_gridLayout=new QGridLayout();
    m_gridLayout->setSpacing(2);
 
    for(int i=0;i<MAX_CAMERA_COUNT;i++)
    {      
        VideoWidget *videoWidget=new VideoWidget(this);
        connect(videoWidget,&VideoWidget::signalStreamStarted,this,&QHMainWidget::slotStreamStarted);
        connect(videoWidget,&VideoWidget::signa
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

草上爬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值