Невозможно отправить изображения с камеры через TCP C++ ⇐ C++
-
Гость
Невозможно отправить изображения с камеры через TCP C++
Я пытаюсь отправить изображения, полученные в программе, через TCP в другую программу. Для этого я сначала отправляю сообщение с указанием размера изображения, а затем отправляю изображение. Проблема, с которой я столкнулся, заключается в том, что после 2 или 3 изображений "len_buffer" начинает получать часть изображения, поэтому я получаю ошибку в "std::stol()".
Отправитель изображения:
#include #include #include #include #include const int Sensor_id = 0; const int capture_width = 1920; const int capture_height = 1080; const int display_width = 960; const int display_height = 540; const int частота кадров = 30; const int флип_метод = 0; std::string gstreamer_pipeline() { return "nvarguscamerasrc Sensor-id=" + std::to_string(sensor_id) + " !" "video/x-raw(память:NVMM), ширина=(int)" + std::to_string(capture_width) + ", height=(int)" + std::to_string(capture_height) + ", частота кадров=(доля)" + std::to_string(частота кадров) + "/1 !" "nvvidconv флип-метод=" + std::to_string(flip_method) + " !" "видео/x-raw, ширина=(int)" + std::to_string(display_width) + ", height=(int)" + std::to_string(display_height) + ", format=(строка)BGRx !" "видеоконвертировать!" "video/x-raw, format=(string)BGR ! appsink"; } класс VideoStreamer { публика: VideoStreamer(std::string ip_address, int port): isConnected(false) { client_socket = сокет (AF_INET, SOCK_STREAM, 0); если (client_socket
Я пытаюсь отправить изображения, полученные в программе, через TCP в другую программу. Для этого я сначала отправляю сообщение с указанием размера изображения, а затем отправляю изображение. Проблема, с которой я столкнулся, заключается в том, что после 2 или 3 изображений "len_buffer" начинает получать часть изображения, поэтому я получаю ошибку в "std::stol()".
Отправитель изображения:
#include #include #include #include #include const int Sensor_id = 0; const int capture_width = 1920; const int capture_height = 1080; const int display_width = 960; const int display_height = 540; const int частота кадров = 30; const int флип_метод = 0; std::string gstreamer_pipeline() { return "nvarguscamerasrc Sensor-id=" + std::to_string(sensor_id) + " !" "video/x-raw(память:NVMM), ширина=(int)" + std::to_string(capture_width) + ", height=(int)" + std::to_string(capture_height) + ", частота кадров=(доля)" + std::to_string(частота кадров) + "/1 !" "nvvidconv флип-метод=" + std::to_string(flip_method) + " !" "видео/x-raw, ширина=(int)" + std::to_string(display_width) + ", height=(int)" + std::to_string(display_height) + ", format=(строка)BGRx !" "видеоконвертировать!" "video/x-raw, format=(string)BGR ! appsink"; } класс VideoStreamer { публика: VideoStreamer(std::string ip_address, int port): isConnected(false) { client_socket = сокет (AF_INET, SOCK_STREAM, 0); если (client_socket
Мобильная версия