Warning: touch() [function.touch]: Unable to create file /home/starterkit/starterkit.ru/html/error.log because Permission denied in /home/starterkit/starterkit.ru/html/errorhandler.php on line 51 Как включить поддержку connection tracking NAT RTSP - Embedded Linux - Форум - starterkit.ru
Стоит Linux 3-10-17 PREEMPT RT
Для проброса видеопотока камеры с eth0 на ppp0
требуется включить поддержку connection tracking NAT RTSP?
Сотовая связь со статическим IP.
Камера подключена по Ethernet к интерфейсу eth0. К плате подключен сотовый модуль с интерфейсом ppp0 (статический IP). Задача: смотреть изображение камеры по rtsp через интернет.
Выполняем следующие действия:
Результат снифинга: протокол RTSP отрабатывает нормально, а пакеты RTP с изображением заворачиваются с ошибкой icmp "port unreachable".
Собрали в QT:
/home/user/src/buildroot-2014.08-sk-3.10.17/package/rtsp-linux-master/nf_conntrack_rtsp.ko
/home/user/src/buildroot-2014.08-sk-3.10.17/package/rtsp-linux-master/nf_nat_rtsp.ko
А куда их теперь подсунуть?
Остался только один нюанс:
Если сделать проброс порта RTSP с внешнего 554 на внутренний 554, то все работает отлично. А с другим внешним портом (например, 8054 или 5541 или 55451) и внутренним 554 - служебный обмен RTCP идет, а поток данных RTP - отсутствует.
Обмен RTSP проходит все этапы, как положено:
<- OPTIONS rtsp://REAL_IP:5541 RTSP/1.0
-> RTSP/1.0 200 OK
Не подскажете, в чем проблема? У нас должно подключаться несколько камер к одной плате, так что использовать только один внешний порт (стандартный 554) не получится.
для нестандартного порта надо наверно добавить привязку соединения к нужному conntrack helper-у, для стандартного порта это делается автоматом (в новых ядрах возможно уже и для стандартных надо привязывать). Что-то типа того