Screen image transmission uses H.264 compression #65

This commit is contained in:
yuanyuanxiang
2025-03-30 18:03:01 +08:00
parent 7bcf11ce0a
commit 1358fecc7c
152 changed files with 44123 additions and 62 deletions

View File

@@ -2,6 +2,29 @@
#include "IOCPServer.h"
#include "..\..\client\CursorInfo.h"
extern "C"
{
#include "libavcodec\avcodec.h"
#include "libavutil\avutil.h"
#include "libyuv\libyuv.h"
}
#ifndef _WIN64
// https://github.com/Terodee/FFMpeg-windows-static-build/releases
#pragma comment(lib,"libavcodec.lib")
#pragma comment(lib,"libavutil.lib")
#pragma comment(lib,"libswresample.lib")
#pragma comment(lib,"libyuv/libyuv.lib")
#else
// ȱ<><C8B1>`FFMPEG`<60><>̬<EFBFBD><EFBFBD><E2A3AC>ʱ<EFBFBD>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD>64λ<34><CEBB><EFBFBD><EFBFBD>!
#endif
#pragma comment(lib, "Mfplat.lib")
#pragma comment(lib, "Mfuuid.lib")
#pragma comment(lib, "Bcrypt.lib")
#pragma comment(lib, "Strmiids.lib")
// CScreenSpyDlg <20>Ի<EFBFBD><D4BB><EFBFBD>
class CScreenSpyDlg : public CDialog
@@ -55,6 +78,14 @@ public:
WINDOWPLACEMENT m_struOldWndpl;
#ifndef _WIN64
AVCodec* m_pCodec;
AVCodecContext* m_pCodecContext;
AVPacket m_AVPacket;
AVFrame m_AVFrame;
#endif
bool Decode(LPBYTE Buffer, int size);
void EnterFullScreen();
bool LeaveFullScreen();