Большинство сим-аккаунтов являются публичными динамическими. Большинство, если не все операторы сотовой связи не разрешают входящие соединения с общедоступными динамическими IP-адресами. (в любом случае 3g, а может и не 4g/LTE) Проблема подключения не в динамическом ips, а в заблокированных входящих портах.
Итак, если бы я хотел транслировать видео с телефона Android по запросу (на основе информации, полученной из этого разговора (Потоковое видео с камеры Android на сервер)), какова будет цепочка событий для правильного установления соединения.
Мое представление об этом (примерно):
- приложение на телефоне Android инициирует и поддерживает какое-то соединение с медиа-сервером (wowza или что-то в этом роде).
- В какой-то момент, когда серверу требуется видео с телефона, он использует открытое соединение для запроса видеопотока.
- Телефон Android отправляет поток rtsp на сервер.
Правильно ли это, и если да, то какой тип соединения следует использовать в качестве постоянного управляющего соединения. Кроме того, можно ли нажать rtsp или мне нужно сделать что-то еще?
Благодарность!
1 ответ
Я знаю, что это старый вопрос, но если кто-то еще ищет что-то подобное, теперь доступно следующее:
http://developer.android.com/guide/google/gcm/index.html.
По сути, это позволяет отправлять сообщения с сервера в приложение на устройстве Android (заменяет C2DM, который делал то же самое).
Обновить
Google GCM теперь, в свою очередь, заменяется Google Firebase Cloud Messaging:
Используя сервис обмена сообщениями на основе приложения, подобный этому, шаги будут следующими:
- Добавьте службу подписки на сообщения в свое приложение (например, Firebase).
- Приложение регистрируется в облачной службе обмена сообщениями при запуске.
- Когда серверу требуется видео с телефона (как указано в вопросах выше), сервер отправляет сообщение в приложение.
- Приложение открывает соединение с сервером потоковой передачи и начинает передавать видео на сервер.
Примечание: ниже есть комментарий о том, что этот подход не разрешает входящее соединение с сервера на телефон Android.
На самом деле это не то, как обычно работает потоковая передача с телефона. Телефон фактически устанавливает «исходящее» соединение с сервером потоковой передачи, на который затем передает видео. Другие устройства, желающие просмотреть видео, затем транслируют его здесь.
Есть несколько причин, по которым этот подход является предпочтительным, одна из ключевых заключается в том, что поддержка качественного потокового сервиса, который будет воспроизводиться на большинстве распространенных устройств, браузеров, ОС и т. д., требует перекодирования видео с несколькими скоростями передачи и даже кодирования в некоторых футляры, а также упаковка и подача в соответствующем формате потоковой упаковки. Выполнение всего этого на мобильном устройстве требует больших вычислительных ресурсов и памяти.
Похожие вопросы
Новые вопросы
android
Android — это мобильная операционная система Google, используемая для программирования или разработки цифровых устройств (смартфонов, планшетов, автомобилей, телевизоров, одежды, очков, IoT). Для тем, связанных с Android, используйте теги, специфичные для Android, такие как android-intent, android-activity, android-adapter и т. д. Для вопросов, отличных от разработки или программирования, но связанных с Android framework, используйте эту ссылку: https://android .stackexchange.com.