2017-01-07 14 views
-1

Я знаю, что есть приложения, такие как пар, Xbox, который передает видео в сети. То, что я хочу, это одно и то же, но мне нужно сделать свой собственный код для этой цели (с открытым исходным кодом), чтобы я мог изменить его для разных приложений без каких-либо проблем с авторским правом. Я знаю программирование Winsock и могу передавать образцы видео (файлы mp4), но эта вещь для захвата дисплея в одной системе и его создания на некоторой удаленной системе отличается и сложна (я полагаю). Кроме того, потоковая передача должна быть в режиме реального времени с минимальными задержками. У меня есть доступ к локальным сетям гигабита для решения проблем медленных кадров в секунду, но сначала мне нужно передать ПОЛУЧИТЕ буфера для образца Если кто-то пожалуйста, руководство меня, как идти об этомпередать экранный буфер конкретного приложения в удаленную систему и воспроизвести изображение из него (в окнах)

ответ

1

Я думаю gstreamer ближе всего к тому, что вы хотите. Посмотрите here и here для получения дополнительной информации.

Также посмотрите на ffmpeg.

+0

относительно ffmpeg, он захватывает весь экран, но то, что я хочу, это захватить экранный буфер только определенного отображения приложения ... но эта вещь gstreamer, я думаю, это сделает для меня. Я установил gstreamer, но поскольку я новичок в этом мире, я не знаю с чего начать. У меня есть MS Visual studio 2015. Если вы можете намекнуть на того, кто знает эти вещи и поможет мне начать –

1

Решение, которое я нашел, это студия OBS. Это открытый исходный код, который позволяет мне редактировать исходный код для удовлетворения моих потребностей. Тем не менее, мне пришлось реализовать сервер nginx-rtmp на стороне клиента для получения видео. Затем я использовал медиаплеер vlc для потоковой передачи видео, полученного сервером rtmp. У меня установлен Gtx 960m, поэтому я применил кодировку, которая позволила мне транслировать 720p @ 60 fps через Ethernet-кабель 100 Мбит/с. Результаты были резкими, когда я использовал программный кодер (вместо аппаратного) перед потоковой передачей.

 Смежные вопросы

  • Нет связанных вопросов^_^