**
1 QT下视频通话的实现
**
本文使用QT完成了两个不同终端的视频通话,笔记本电脑+Linux开发板。
1.1 硬件资源介绍
带摄像头的电脑 + 正点原子Alpha Linux开发板(由于Linux开发板上没有购买摄像头,所以本次实现仅仅单向的视频通话)
1.2 软件编程实现
1.2.1 电脑端QT编程
电脑端搭建一个TCP服务器,开启一个视频捕获线程,使用QCamera、QCameraViewfinder、QCameraImageCapture、QTimer,定时捕获视频中的图片,并传送给主线程使用TCP发给客户端。下面是核心的代码实现
(1)捕获电脑的视频,这里是捕获视频的核心代码,实现的大致思路是,开启一个QCaerma,通过主线程的信号槽开启,定时VIDEO_SAMPLE_INTERVAL时间截取一张图片,此时会自动触发SIGNAL(imageCaptured(int,QImage))这样一个信号,在主线程中编写槽函数接收捕获到的QImage。这个cpp参考网上一位老哥的编写,将QVideoProbe换成了QCameraImageCapture来实现。https://blog.csdn.net/xiaolong1126626497/article/details/105122636
void VideoReadThread::Camear_Init(void){
qDebug() << "Camear_Init";
// 初始化定时器
ImageCaptureTimer = new QTimer(this);
connect(ImageCaptureTimer,SIGNAL(