Dasha92 0 Report post Posted June 19, 2018 Всем привет! Подскажите пожалуйста, в данный момент при помощи OpenCV я получаю видео с камеры(код на си), как я могу сделать на СИ клиент сервер с целью передать на какой-то другой компьютер получаемый видеопоток. Заранее спасибо за Ваши ответы! Share this post Link to post Share on other sites
Nuzhny 243 Report post Posted June 19, 2018 Я бы не заморачивался и сделал всё на ffmpeg (на С разумеется). OpenCV вообще никак не приспособлен для этого. Share this post Link to post Share on other sites
Dasha92 0 Report post Posted June 19, 2018 4 минуты назад, Nuzhny сказал: Я бы не заморачивался и сделал всё на ffmpeg (на С разумеется). OpenCV вообще никак не приспособлен для этого. Все бы ничего, но моя программа использует OpenCV, без неё никак. Были мысли, может как-то можно реализовать на Си или Си++ какой-то стрим, который потом инклудом будет в главном файле с OpenCV вызываться. Даже не знаю в какую сторону копать или где примеры какие можно найти Share this post Link to post Share on other sites
Nuzhny 243 Report post Posted June 22, 2018 Пусть программа и исполтзует OpenCV, не вижу никаких проблем. Ты же не будешь использовать OpenCV для работы с базами данных. Share this post Link to post Share on other sites
Dasha92 0 Report post Posted June 22, 2018 Спасибо, буду думать! Share this post Link to post Share on other sites
MimusTriurus 0 Report post Posted June 22, 2018 Dasha92 https://github.com/MimusTriurus/QtVideoStreamer Стриминг видео средствами OpenCv. Есть русcкое readme c описанием порядка сборки. Есть пример клиента и сервера. Работает на Windows, Linux Share this post Link to post Share on other sites
erly 0 Report post Posted October 30, 2018 Делал себе такое в целях отладки. Чтобы все время видеть результат обработки видео с удаленного сервера. Программа работает на сервере (Ubuntu) и сохраняет результаты обработки каждого кадра в файл test.jpg, постоянно его перезаписывая. Запуск трансляции с сервера на клиентскую машину: tail -f test.jpg 2> /dev/null | ffmpeg -r 50 -f image2pipe -c:v mjpeg -i - -r 50 -c:v libx264 -sdp_file h264.sdp -f rtp rtp://10.2.0.2:1234 Здесь 10.2.0.2 - адрес клиентской машины. При запуске ffmpeg формирует файлик h264.sdp. Передаем этот файлик на клиентскую машину (Windows) и открываем в VLC Player. Либо, при наличии доступа, открываем файл в VLC Player-е удаленно с сервера. Share this post Link to post Share on other sites