Q1. TURN серверы ретранслируют медиаОни делают это, выделяя для каждого подключающегося партнера релейный порт между 49152–65535. Этот ретрансляционный порт затем будет использоваться для передачи мультимедиа на второй узел. Узлы будут знать, какие релейные порты использовать автоматически, поскольку это является частью процесса сбора льда. Вернемся к вашему вопросу: другие узлы не могут записать на этот порт ретрансляции, это рукопожатия 1: 1, нет шансов, что кто-то другой перезапишет его.
Q2. Вам определенно не нужен шлюз Janus, чтобы использовать TURN. TURN и STUN, вероятно, будут нормально работать для NAT-Traversal без переадресации портов.
Q3. Вам нужен как минимум сервер TURN (но в идеале вы хотите использовать 1 сервер STUN и 1 сервер TURN). STUN будет работать в большинстве случаев, но не будет работать, если существуют брандмауэры или сложные NAT, которые блокируют входящие соединения udp. ПОВЕРНУТЬ - только запасной вариант для тех случаев. Нуждается в WebRTC? Для потокового видео это зависит от варианта использования. Последовательность изображений может передаваться через веб-сокеты, они прекрасно справляются с BLOB-объектами. Но у вас не будет очень плавного потока видео с высоким fps и высоким разрешением. И, конечно, я не знаю ни одного полезного способа передачи звука через веб-сокет.
Q4. Raspberry Pi - это Пир, который передает медиа? Узлам не требуется установка локального сервера TURN, вам понадобится только 1 сервер TURN (который не должен находиться за NAT, возможно, запущен на каком-либо веб-сервере). Сервер TURN является отдельным экземпляром.
РЕДАКТИРОВАТЬ
В личных целях тестирования и разработки вы можете использовать https://numb.viagenie.ca/. Я не знаю много о коммерческих хостерах серверов, за исключением того, что некоторые существуют. Для тех, кто владеет v-сервером или корневым сервером, установка coTURN может быть опцией, это руководство может быть полезным. Чтобы проверить, работает ли сервер, я также нашел этот фрагмент очень полезным.
КОНЕЦ РЕДАКТИРОВАНИЯ
Q5. Не существует Android-приложения, которое публикует потоки webRTC по URL-адресу ws, поскольку сообщения websocket используются webrtc только для сигнализации (то есть, сообщая пирам своих кандидатов на хост, это IP-адреса и порты, полученные в процессе сбора льда, в том числеTURN и STUN IP и комбинации портов).