Ответ 1
Во-первых, позвольте раскрутить свой вопрос. Как вы догадались, RTMP в настоящее время не поддерживается Android. Вы можете использовать несколько боковых библиотек, чтобы добавить поддержку, но это могут быть не полные реализации или другие нежелательные побочные эффекты и ошибки, которые вызывают их не соответствуют вашим потребностям.
Общей альтернативой в этом случае является использование RTSP. Он предоставляет сопоставимый формат сеанса, который имеет свой собственный RFC, а его структура пакета в сочетании с RTP очень похожа (без некоторых деталей) на ваш желаемый протокол. Вы можете выполнить необходимые исправления здесь, чтобы преобразовать RTP/RTSP в RTMP, но, как уже упоминалось, такие усилия в настоящее время находятся за пределами области разработки вашего приложения.
Итак, допустим, вы хотели бы использовать RTMP (недействительный этот поток) и что связанная библиотека не отвечает вашим потребностям.
Вы можете, например, следовать этому руководству для записи и воспроизведения с использованием Livu, Wowza и Adobe Flash Player, разговаривая с разработчик Livu о лицензировании своего клиента. Или вы можете использовать эту клиентскую библиотеку и ее полный пример Android-рекордера для создания вашего клиента.
Подводя итог:
RTSP
- Этот поток, используя Darwin Media Server, Службы Windows Media или VLC
RTMP
- Эта библиотека,
- Этот поток и этот учебник, используя Livu, Wowza и Adobe Flash Player
- Эта клиентская библиотека и этот примерный рекордер
Желаем удачи в вашем приложении. Я признаю, что у меня есть менее полное понимание всех этих библиотек, но они кажутся стандартными решениями в этом пространстве на момент написания этой статьи.
Изменить:
В соответствии с OP, идя по библиотеке RTMP:
- Эта библиотека: он не мог заставить демоверсии библиотеки работать. Что еще более важно, функциональность RTMP является неполной.
- Этот поток и этот учебник, используя Livu, Wowza и Adobe Flash Player: у этого есть длинный учебник о том, как потреблять видео, но его учебник по публикации потенциально краток и недостаточен.
- Эта клиентская библиотека и этот примерный рекордер: Данный пример охватывает только публикацию аудио. Для завершения этой работы требуется больше работы.
Короче: требуется больше работы. Другие ответы и улучшения этих примеров - вот что нужно здесь.