2016-05-26 3 views
0

У меня есть приложение iOS, которое создает URL-адрес RTSP для потокового видео, затем я могу воспроизвести видео в VLC с этим URL-адресом.Потоковое видео с RTSP

Когда я нахожусь на той же Wi-Fi сети, как мой компьютер, на котором запущен VLC мой IP-адрес является: RTSP: //192.168.0.134/

И что URL играет видеопоток просто отлично.

Когда я включаю WiFi сети, мои URL изменения RTSP: //172.20.10.2/

Но мое видео не будет течь теперь, когда я нахожусь на другой сети Wi-Fi.

Почему видеопоток, когда телефон и VLC находятся в одной сети Wi-Fi, но не работают, когда телефон находится в другой сети Wi-Fi?

+0

Подумайте, что порты RTP/RTSP могут быть заблокированы брандмауэром, это одна из причин, почему потоковая передача на основе HTTP настолько велика. – incBrain

ответ

1

Многие сети Wi-Fi действуют просто как точки доступа без сотрудничества между другими точками доступа - в отличие от корпоративного Wi-Fi или аэропорта Wi-Fi, где отдельные точки доступа все взаимодействуют через контроллер, и вы можете перемещаться.

Учитывая, что вы находитесь в двух разных сетях Wi-Fi, каждый со своим собственным диапазоном адресов (вы можете сказать это по IP-адресам), тогда ваша восходящая сеть должна будет иметь метод для сопоставления адресов из одной сети в другую.

Если обе сети Wi-Fi являются вашими собственными, то обычным способом решения этой проблемы является то, что сети Wi-Fi спросят сеть вверх по их адресу и диапазону адресов, которые они должны предлагать.

Update

Предполагая, что вы хотите, чтобы поток из устройства IOS из любой сети на ваш плеер, обычный способ сделать это с помощью потокового сервера.

Течение:

IOS устройства ---> Streaming Server ---> Устройство с проигрывателя

Устройство IOS требует URL или IP-адрес сервера потоковой передачи, который общедоступно, если вы хотите, чтобы он работал в разных сетях. Затем устройство iOS отправляет поток на сервер, который может или не может переупаковать его, и может также хранить его, чтобы он был доступен позже или с «сдвигом во времени». Плеер подключается к потоковому серверу для доступа к потоку и воспроизводит его оттуда.

Существует пример здесь, который использует общий веб-плеер и общий потоковый двигатель, который может помочь направить вас в правильном направлении, и объяснить некоторые из общих шагов:

+0

Прошу прощения, я не отвечаю за ваш ответ ... Я не буду заранее знать, какие Wi-Fi-сети будут использоваться, так как это приложение iOS. Так что вы говорите, что всякий раз, когда я воспроизвожу видео, мне нужно будет получить IP-адрес, на который подключен видеоплеер, и IP-адрес с URL-адреса rtsp и сделать какой-то код для видеопроигрывателя для сопоставления URL-адресов способны общаться друг с другом? –

+0

@MSU_Bulldog - я обновил ответ, чтобы показать более общий прецедент, который не привязан к частным сетям. – Mick