LINUX.ORG.RU
решено ФорумAdmin

VPS, Wireguard, ip камера, проброс порта

 , ,


0

2

Приветствую, Уважаемые!

Я начинаю только, плз, яйцами не кидать))) У самого что-то не получается.

Нужно: Чтобы кто угодно набрал rtsp://user:pass@216.120.11.37:10500 и получил видео. Vps ubuntu+wireguard server 216.120.11.37, wg порт 41321, порт на который нужно пробросить ртсп камеру 10500. Адрес камеры на wg клиенте 192.168.5.10 порт 554. iptables умучал уже. С сервера через wg камера пингуется.

PostUp = iptables -I INPUT -p udp –dport 41321 -j ACCEPT

PostUp = iptables -I FORWARD -i ens18 -o wg0 -j ACCEPT

PostUp = iptables -t nat -A PREROUTING -p tcp -d 216.120.11.37 – dport 10500 -j DNAT –to-destination 192.168.5.10:554

#PostUp = iptables -I FORWARD -i wg0 -j ACCEPT

PostUp = iptables -t nat -A POSTROUTING -p tcp -d 192.168.5.10 -j SNAT –to-source 216.120.11.37:10500

PostUp = iptables -t nat -A POSTROUTING -o ens18 -j MASQUERADE

PostDown = iptables -D INPUT -p udp –dport 41321 -j ACCEPT

PostDown = iptables -D FORWARD -i ens18 -o wg0 -j ACCEPT

PostDown = iptables -t nat -A PREROUTING -p tcp -d 216.120.11.37 –dport 10500 -j DNAT –to-destination 192.168.5.10:554

#PostDown = iptables -D FORWARD -i wg0 -j ACCEPT

PostDown = iptables -t nat -D POSTROUTING -p tcp -d 192.168.5.10 -j SNAT –to-source 216.120.11.37:10500

PostDown = iptables -t nat -D POSTROUTING -o ens18 -j MASQUERADE

Уже неделю долблюсь об iptables))) Плз, помогите поправить!!!



Последнее исправление: AlexZander (всего исправлений: 2)

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

Может просто поставить из репозитория дистрибутива?

https://packages.debian.org/buster/livemedia-utils

Пакет: livemedia-utils (2018.11.26-1.1)

multimedia RTSP streaming tools
The live555.com streaming media code is a set of C++ libraries for multimedia streaming, using open standard protocols (RTP/RTCP, RTSP, SIP). These libraries can be used to build applications to stream, receive and process MPEG, H.263+ or JPEG video, several audio codecs, and can easily be extended to support additional codecs. They can also be used to build basic RTSP (Real Time Streaming Protocol) or SIP (Session Initiation Protocol) clients and servers.

This package contains the live555.com streaming servers (live555MediaServer and live555ProxyServer), the example programs (openRTSP, playSIP, sapWatch, vobStreamer) and a variety of test tools.

Только его в bookworm нет.

Есть ли он в Ubuntu - без понятия. Но ты можешь поставить Debian Buster и поставить штатным способом.

apt -y install livemedia-utils
kostik87 ★★★★★
()
Ответ на: комментарий от AlexZander

А что по другому писать нельзя? Зачем ты свои ответы вставляешь в оформление блоков кода? Ты случаем не нейронная сеть? Тогда отчасти понятно, но ты сильно палишься.

В более новых версиях Ubuntu и Debian нет пакетов с нужным тебе ПО, его по какой-то причине выкинули. Возможно, потому, что авторы не исправляли ошибки сборки или были проблемы в безопасности.

Пробуй конечно всё, что тебе хочется, но пакеты есть только для Debian Buster и Ubuntu Focal.

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

Официальную документацию читай: http://www.live555.com/proxyServer/

The "LIVE555 Proxy Server" is a command-line (i.e., 'console') application. The simplest way to run it is to type:
        live555ProxyServer <url>
where <url> is a RTSP URL (i.e., beginning with "rtsp://") of a 'back-end' stream (e.g., from a video camera). After starting up, the server will display its own "rtsp://" URL for the proxy stream. RTSP clients can then use this URL to play (i.e., receive) the proxy stream.
The server can act as a proxy for many 'back-end' streams - not just one. If you enter more than one "rtsp://" URL on the command line, i.e.,

        live555ProxyServer <url1> <url2> ... <urlN>
then the server will - after starting up - display "rtsp://" URLs for proxying each one. (Of course, you should proxy multiple streams only if you have sufficient network bandwidth to receive all of them.)

http://www.live555.com/hlsProxy/

http://www.live555.com/mediaServer

Я не очень выразительно читаю, поэтому ты сам.

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

Уважаемый, Kostik87!!!

Огромное ВАМ спасибо, респект и уважуха!!!

Пошло видео!!!

схема: камера - кинетик wg - wg сервер + live555

все это работает)))))

осталось понятьЮ на сколько это работоспособно в автономном режиме.

AlexZander
() автор топика
Ответ на: комментарий от AlexZander

Отлично. Для автоматизации запуска при старте системы можешь поместить команду, которую ты выполнил в скрипт, сделать его исполняемым. Далее написать systemd unit с типом запуска forking и командой запуска - файлом скрипта. После чего запускай systemd unit через systemctl и активируй его запуск автоматически.

В зависимостях пропиши зависимость от состояния сети или запуска wireguard сервиса.

Если ты сейчас всё запустил в putty - то при его закрытии процесс, скорее всего, закроется.

Если не хочешь писать systemd unit - можешь поставить screen или tmux и запустить команду в них, а далее отключиться от screen или tmux и закрыть putty.

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

Есть некоторые косячки, иногда при выкл видео на влс вылетает ошибка.

RTCPInstance error: Hit limit when reading incoming packet over TCP. (fNumBytesAlreadyRead (1456) >= maxRTCPPacketSize (1456)).  The remote endpoint is using a buggy implementation of RTP/RTCP-over-TCP.  Please upgrade it!

также live555 добавляет 1 секунду задержки и иногда видео подтормаживает. надо все это исследовать и не факт, что это удастся победить.

AlexZander
() автор топика
Ответ на: комментарий от AlexZander

ВСЕМ СПАСИБО!!!

Тема mediamtx поехала, задержка видео 2-3 сек.

https://github.com/bluenviron/mediamtx?tab=readme-ov-file#rtsp-cameras-and-servers

sсheme: rtsp cam -> wireguard -> wg server +rtsp proxy mediamtx -> port of server

paths:

cam100:

source: rtsp://user:pass@192.168.10.10:554 sourceOnDemand: yes

inet show -> rtsp://45.70.72.191:8554/cam100

AlexZander
() автор топика