gpt4 book ai didi

qt - 需要压缩 QImage 以通过 IP 发送

转载 作者:行者123 更新时间:2023-12-04 06:26:46 32 4
gpt4 key购买 nike

我正在编写一个应用程序(在 C++/Qt Designer 4.6 中并使用一些库,如 ffmpegv4l2 ),它从网络摄像头捕获,我想发送捕获的 QImage通过IP,所以我将它发送到QTcpSocket我成功地在我的服务器应用程序中接收到它,但问题是太慢了,这主要是因为 QImage没有压缩,所以我没有得到想要的结果,即通过 IP 进行实时视频流,我的问题是如何压缩 QImage ?我认为将其转换为 YUV格式,但我无法意识到,这是我的代码中的一些行,用于发送可用的 QImage :

QImage image;
QByteArray ba;
QBuffer buffer(&ba);
image.save(&buffer, "PNG");
imsocket->write(ba);

最佳答案

您最好发送 MPEG 压缩视频流,而不是将每一帧压缩为 QImage 并通过网络发送。

MPEG 压缩视频流使用一种技术,该技术对第一帧使用全尺寸图像,然后仅记录每个后续帧的更改像素,从而提供最大压缩率以及网络上的流畅视频播放。

在客户端,您将通过从压缩的 MPEG 流中获取库生成的帧来进行播放。

关于qt - 需要压缩 QImage 以通过 IP 发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5952543/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com