2011-12-29 4 views
4

Большинство учетных записей sim являются общедоступными. Большинство, если не все сотовые провайдеры, не разрешают входящие подключения к общедоступным динамическим IP-адресам. (3g в любом случае, может быть, не 4g/LTE) Проблема подключения не является одним из динамических ips, а скорее блокирована входящими портами., инициирующий соединение rtsp по сотовой связи с android

Итак, если бы я хотел по потоку передавать видео с телефона Android по запросу (на основе информации, полученной в результате этой беседы (Streaming video from Android camera to server)), что было бы цепочкой событий, чтобы правильно замаскировать соединение.

Моя идея это (примерно):

  1. приложение на телефон Android инициированных и держит открыть какую-то связь с медиа-сервера (Wowza или что-то).
  2. В какой-то момент, когда сервер хочет видео с телефона, он использует открытое соединение для запроса видеопотока.
  3. Телефон Android нажимает поток rtsp на сервер.

Правильно ли это, и если да, то какое соединение я должен использовать в качестве постоянного управляющего соединения. Кроме того, можно ли нажать rtsp, или мне нужно будет сделать что-то еще?

Спасибо!

+0

Я думаю, что использование SDP-анонса может помочь ... но я не уверен, что это помогает только с обнаружением устройства или помощью для обработки фактического push-соединения. – michael

+0

http://bit.ly/wEXwJk IP-камера - хороший пример того, чего я хочу достичь, включая проблему установления соединения с телефоном. Вы должны инициировать соединения с телефона. – michael

ответ

-1

Я знаю, что это старый вопрос, но если кто-то ищет что-то подобное следующим теперь доступен:

http://developer.android.com/guide/google/gcm/index.html

Это по существу позволяет посылать сообщение от сервера приложения на Android-устройство (он заменяет C2DM, который сделал аналогичную вещь).

Update

Google GCM теперь заменяется в свою очередь Google Firebase Cloud Messaging:

Использование может служба приложения обмена сообщениями, как это, шаги будет:

  • Добавить службу подписки на сообщения в приложение (например, Firebase)
  • Приложение регистрируется в облачной службе обмена сообщениями при запуске
  • Когда сервер хочет видео с телефона (как указано в приведенных выше вопросов), сервер отправляет сообщение в приложение
  • открывает приложение подключение к потоковому серверу и запуск потока видео на сервер.

Примечание: есть ниже комментарий о том, как этот подход не позволяет входящее соединение от сервера к Android телефона.

Это, по сути, не то, как обычно работает потоковая передача с телефона. Телефон фактически создает «исходящее» соединение с потоковым сервером, который затем передает потоковое видео.Другие устройства, желающие увидеть видео, затем передают его здесь.

Существует несколько причин, по которым это предпочтительный подход, одним из ключевых из которых является поддержка качественной потоковой службы, которая будет воспроизводиться на большинстве распространенных устройств, браузеров, OS и т. Д., Требует перекодирования видео в несколько битовых скоростей и даже кодирование в некоторых случаях, а также упаковка и обслуживание в соответствующем формате потоковой упаковки. Выполнение всего этого на мобильном устройстве было бы очень сложным и интенсивным.

+0

отвечает на вопрос для Android, который, как я думаю, может использоваться в качестве базы для других телефонов. Благодаря! – michael

+0

@michael, я не совсем понимаю, как он отвечает на вопрос для Android. Таким образом, GCM позволяет отправлять сообщение с сервера на андроид, но как он разрешает входящее соединение с сервером на андроид? – Felix

+0

@nissemand derp, вы правы. Я не знаю, почему я дал это чек. Мне еще предстоит пересмотреть это. Я подозреваю, что стратегии в websockets могут перейти к этому. – michael

 Смежные вопросы

  • Нет связанных вопросов^_^