С чего начать реализацию программы, которая будет снимать экран рабочего стола 20-30 кадр/сек. в видеопоток и отправлять по протоколу RTMP на C#,C+?
Помогите, пожалуйста.
Стоит задача реализовать программу захвата экрана рабочего стола в видео поток и отправки его на сервер по протоколу RTMP для дальнейшего вещания этого потока на различных устройствах (ПК, ноутбуки, смартфоны). Нужно реализовать данную программу на C# (C++) под Windows. При этом project manager видит данную задачу, как поднятие "RTMP-сервера" под Windows, в роли сервера будет выступать обычный компьютер с которого будет вещаться видео поток, захваченный с рабочего стола данного компьютера, что совсем не укладывается в моей голове.
Единственная реализация, которую я могу попробовать сделать - это поднять из под Windows nginx-rtmp-сервер, настроить его, написать на C# оболочку для ffmpeg.exe и таким образом захватывать и вещать видео поток. Другое дело получится ли что-то или нет - не знаю.
Помогите, пожалуйста, если кто-то сталкивался с подобной задачей, дельными советами.
P.S.: Пожалуйста, не надо тыкать меня носом в результаты поисковика Google - я уже три дня гуглил и ничего толкового не нашел.
По работе с ffmpeg и nginx-rtmp действительно мало статей в рунете
Единственная реализация, которую я могу попробовать сделать - это поднять из под Windows nginx-rtmp-сервер, настроить его, написать на C# оболочку для ffmpeg.exe и таким образом захватывать и вещать видео поток.
Получится, я делал но... без C/C# и под Linux
Более правильный вариант - разобраться с библиотеками windows-версии ffmpeg (а можно и VLC), подключить их к своему проекту и вызывать оттуда нужные функции. За пару рабочих дней можно разобраться.
Вы имеете ввиду библиотеки VideoLan DotNet vlcdotnet.codeplex.com/releases/view/121099? А вот с библиотеками ffmpeg я не смог разобраться - нет нормальной документации (скудная и на английском на офсайте), а точнее наглядных примеров их использования.
@IlyaEvich по ffmpeg-овским по всем скудно будет. ffmpeg - это же просто обертка для использования кучи других библиотек с кодеками. Да и софтина это линуховая. Вот пример, как можно заиспользовать ее в коде. Примерно то же самое вам надо изобразить в windows. Только подавать надо на поднятый nginx.
@vvpoloskin ты случаем не знаешь как с помощью ffmepg-их библиотек (libavformat, libavcodec,...) захватить рабочий экран целиком? И если можешь, набросай, пожалуйста, маленький пример - мне просто нужно за что-то зацепиться, чтобы разобраться и начать писать программу.
@IlyaEvich к сожалению, я не программист. Вот примеры захвата видео из консоли, как делал я.
А вот я нашел схожий проект вашему. Пошвыряйтесь в исходниках, их там немного.
Я наверное не совсем правильно вас понял, но что мешает с помощью vlc вещать картинку рабочего стола по одному из протоколов (http/rtp/rtsp) а дальше уже настраивать сервер(какой угодно) и вещать этот поток далее в нужном вам формате.