RTMP-поток на iOS
Мне нужно сделать приложение iOS, которое воспроизводит потоковое видео с камеры. Я знаю, что iPhone поддерживает только потоковый HTTP-поток, но, к сожалению, он приходит с задержкой около 6-10 секунд, что далеко от моих потребностей - мне нужно представление в реальном времени. Поток MJPEG также не является вариантом, поскольку он генерирует огромный трафик. Итак, остается RTMP-поток, но iOS не может воспроизводить его изначально: ((Я слышал о rtmpdump для iPhone, но я не мог заставить его работать. Кто-нибудь преуспел в воспроизведении RTMP-видео на iOS? Любые предложения о том, как приветствуем вас!
Ответы
Ответ 1
Я уверен, что mediastreamsegmenter может быть настроен на несколько более низкие задержки (возможно, как минимум 3 секунды).
Для любого другого решения потребуется продвинутый транспортный, демультиплексированный и видеокодек, который может обрабатывать RTP-over-HTTP и что-то по меньшей мере равное MPEG-2 видео в эффективности сжатия. Эти вещи трудно найти бесплатно (я знаю только обрезанные GPL).
И даже те, у кого были задержки, были как минимум на 1 секунду.
Ответ 2
Ближайшая вещь - это iPhone RTMP Library по адресу: http://www.aftek.com/afteklab/aftek-iphone-RTMP-library.shtml
но он не будет поддерживать показ видео.
Ответ 3
Я успешно использовал rtmpdump для потоковой передачи на iOS. Вам нужно будет выполнить декодирование аудио/видео, поскольку код не предоставляет этого. Также AMF3 не полностью реализован, поэтому вам также придется иметь дело с этим. По большей части это всего лишь файл rtmp.c. Методы handleInvoke и handleCtrl - это действие, а также метод, обрабатывающий пакет (забыли, что это такое).