LINUX.ORG.RU

как стримить UDP?

 , ,


1

1

привет!

есть некоторая программа, которую я запускаю на сервере, и которая, помимо прочего, принимает опциями IP:port на который она стримит видео.

эту программу я могу запускать на локальном компе, и указывая в качестве IP:port «127.0.0.1:9010» - я могу смотреть этот стрим используя VLC.

как сделать то же самое, чтоб я запускал программу на сервере но мог смотреть стрим запуская VLC локально и указать ему IP:port ?

спасибо.

★★★

Ответ на: комментарий от pon4ik

ну… код написан мной, и скорее всего это просто UDP.

датаграммы я в сокет пишу так:

QUdpSocket vsock;

..

QHostAddress dest_video_ip = ...;
quint16 dest_video_port = ...;

..

vsock.writeDatagram(body, dest_video_ip, dest_video_port);
niXman ★★★ ()
Последнее исправление: niXman (всего исправлений: 1)

как сделать то же самое, чтоб я запускал программу на сервере но мог смотреть стрим запуская VLC локально и указать ему IP:port ?

указать 0.0.0.0:9010 при запуске софтины не пробовал?

anonymous ()

В vlc можно указать хост и порт, туда нужно написать ip сервера и порт, который слушает "некоторая программа" на сервере.

anonymous ()

Если ты хочешь, чтобы IP клиента не надо было задавать на сервере, то надо либо использовать мультикаст, либо как-то передавать IP клиента на сервер по сети, либо использовать полноценный протокол вроде RTSP

annulen ★★★★★ ()
Ответ на: комментарий от niXman

Мультикаст очень похож на UDP, только у него особый диапазон IP-адресов, а для получения пакетов нужно сделать join. Для Qt см. примеры https://code.qt.io/cgit/qt/qtbase.git/tree/examples/network/multicastsender и https://code.qt.io/cgit/qt/qtbase.git/tree/examples/network/multicastreceiver

annulen ★★★★★ ()
Ответ на: комментарий от annulen

эмм…

задачу я описал в топике. кратко: мне нужно на локальном компе иметь возможность видеть видео поток, который транслирует моя программа запущенная на сервере.

это мне нужно для отладки той программы. я не собираюсь стримить фильмицы ;)

niXman ★★★ ()
Последнее исправление: niXman (всего исправлений: 1)
Ответ на: комментарий от niXman

оно никак не было. я вот только пытаюсь это сделатm

Указать вместо в программе вместо 127.0.0.1 внешний IP своего компа, и надеяться что в сети будет мало потерь. WiFi лучше не использовать

annulen ★★★★★ ()
Последнее исправление: annulen (всего исправлений: 1)
Ответ на: комментарий от annulen

да, пока сделал так, даже работает!

но тут меня посетила мысль, завернуть UDP с сервера в SSH тунель. это позмолит совсем ничего не терять, и мои тесты буду более корректными.

я недавно создавал тут тему об этом, но там никто ничего не предложил…

niXman ★★★ ()