Потоковое аудио/видео в реальном времени с iPhone на другое устройство (браузер или iPhone)
Я хотел бы получить видео в реальном времени с iPhone на другое устройство (будь то настольный браузер или другой iPhone, например point-to-point).
Примечание: это не один ко многим, просто один к одному в данный момент. Аудио может быть частью потока или через телефонный звонок на iphone.
Есть четыре способа, которые я могу придумать...-
Захват кадров на iPhone, отправка кадры на медиасервер, есть mediaserver публикует видео в реальном времени использование хост-сервера.
-
Захват кадров на iPhone, конвертировать в изображения, отправляемые на httpserver, имеют javascript / AJAX в перезагрузке браузера изображения с сервера так же быстро, как возможный.
-
Запустите httpServer на iPhone, захватите фильмы продолжительностью 1 секунду на iPhone, создайте файлы M3U8 на iPhone, имейте другой пользователь подключается непосредственно к httpServer на iPhone для прямая трансляция.
-
Захват фильмов продолжительностью 1 секунда на iPhone, создание файлов M3U8 на iPhone, отправить на httpServer, есть другой пользователь, подключенный к HTTP-сервера для прямого эфира. это хороший ответ , кто-нибудь получил его на работу?
Есть ли лучший, более эффективный вариант? Какой самый быстрый способ получить данные с iPhone? Это ASIHTTPRequest?
Спасибо всем.
3 ответа:
Отправка необработанных кадров или отдельных изображений никогда не будет работать достаточно хорошо для вас (из-за количества данных и количества кадров). Также вы не можете разумно обслуживать что-либо с телефона (сети WWAN имеют все виды брандмауэров). Вам нужно будет закодировать видео и передать его на сервер, скорее всего, в стандартном потоковом формате (RTSP, RTMP). На iPhone есть чип кодера H. 264 >= 3GS. Проблема в том, что он не ориентирован на поток. То есть он выводит метаданные, необходимые для разбирайте видео в последнюю очередь. Это оставляет вам несколько вариантов.
- получить исходные данные и использовать FFmpeg для кодирования на телефоне (будет использоваться тонна процессора и батареи).
- Напишите свой собственный синтаксический анализатор для вывода H. 264/AAC (очень жесткий)
- запись и обработка кусками (добавит задержку, равную длине кусков, и отбросит около 1/4 секунды видео между каждым куском при запуске и остановке сеансов).
"запись и обработка в кусках (будет добавлена задержка, равная длине кусков, и падение около 1/4 секунды видео между каждым куском, как вы начинаете и останавливаете сеансы)."
Я только что написал такой код, но вполне возможно устранить такой пробел, наложив два AVAssetWriters. Поскольку он использует аппаратный кодер, я настоятельно рекомендую этот подход.
У нас есть аналогичные потребности; чтобы быть более конкретными, мы хотим реализовать потоковое видео и аудио между устройством iOS и веб-интерфейсом. Цель состоит в том, чтобы обеспечить высококачественное видео-обсуждение между участниками, использующими эти платформы. Мы провели некоторые исследования о том, как это реализовать:
Мы решили использоватьOpenTok и довольно быстро реализовали видео-чат в стиле proof-of-concept между iPad и веб-сайтом с помощьюopentok getting started guide . Есть также плагин PhoneGap для OpenTok, который удобен для нас, так как мы не делаем родной iOS.
Liblinphone также казался потенциальным решением, но мы не исследовали его дальше.
IDoubs также появились, но опять же, мы чувствовали, что OpenTok был самым многообещающим для наших нужд, и поэтому не рассматривали iDoubs более подробно.