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