#pragma once #include #include #include #include #include class CameraStreamer : public QObject { Q_OBJECT public: explicit CameraStreamer(QObject *parent = nullptr); ~CameraStreamer(); // remoteUser@remoteHost 远程 ssh 登录信息;remoteCommand 为远端启动摄像头流的命令 // localPort 本机接收 UDP 端口(SDK 默认 9201) bool startStreaming(const QString &remoteUser, const QString &remoteHost, const QString &remoteCommand = "cd ~/UnitreecameraSDK && ./bins/example_putImagetrans", int localPort = 9201); void stopStreaming(); signals: // 每当收到一帧图像时发射,供 Qt 前端显示 void newFrame(const QImage &image); private: void captureLoop(int localPort); QProcess *m_sshProcess {nullptr}; std::thread m_captureThread; std::atomic m_running {false}; };