更新捕获视频保存到文件和更新编译方法

This commit is contained in:
2025-12-18 23:36:08 +08:00
parent e13885266b
commit 6905562732
2 changed files with 57 additions and 13 deletions

View File

@@ -4,16 +4,33 @@
#include <iostream>
#include <thread>
#include <chrono>
#include <fstream>
int main(int argc, char* argv[]) {
std::string ip = "127.0.0.1";
int port = 8888;
std::string outputFileName = "";
if (argc > 1) ip = argv[1];
if (argc > 2) port = std::stoi(argv[2]);
if (argc > 3) outputFileName = argv[3];
std::cout << "Starting Windows Sender Demo..." << std::endl;
std::cout << "Target: " << ip << ":" << port << std::endl;
if (!outputFileName.empty()) {
std::cout << "Output File: " << outputFileName << std::endl;
}
// Debug: Open file to save H.264 stream if filename is provided
std::ofstream outFile;
if (!outputFileName.empty()) {
outFile.open(outputFileName, std::ios::binary);
if (outFile.is_open()) {
std::cout << "Debug: Saving video stream to '" << outputFileName << "'" << std::endl;
} else {
std::cerr << "Warning: Failed to open output file '" << outputFileName << "'" << std::endl;
}
}
ScreenCapture capture;
if (!capture.Initialize()) {
@@ -67,6 +84,10 @@ int main(int argc, char* argv[]) {
sender.SendFrame(encodedData, timestamp, width, height, isKeyFrame);
// std::cout << "Sent frame: " << encodedData.size() << " bytes, Key: " << isKeyFrame << std::endl;
if (outFile.is_open()) {
outFile.write(reinterpret_cast<const char*>(encodedData.data()), encodedData.size());
}
}
}
capture.ReleaseFrame();