基於live555的rtsp播放器之十九:實現多路切換

一.效果

二.實現

爲了控制視頻的顯示路數,通常需要做通道切換,這裏提供了1通道+4通道+9通道+16通道,其他通道基本上不會用到,因爲一般來說,超過9個通道實時顯示視頻流,建議採用子碼流來顯示,如果都採用主碼流,解碼壓力大,CPU和內存都喫不消。不過隨着CPU、顯卡和內存的逐步升級,顯示16個通道的實時視頻已無壓力。
在Qt中,各種通道的切換可以用QGridLayout實現。每路視頻封裝成一個widget,初始化時,創建32個視頻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::signalStreamClosed,this,&QH
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章