Используйте MediaCodec для потоковой передачи H264

В настоящее время я пытаюсь использовать Android в качестве конечной точки Skype. На этом этапе мне нужно кодировать видео в H.264 (так какЭто единственный формат, поддерживаемый Skype), и инкапсулируйте его в RTP, чтобы потоковая передача работала.

ВидимоMediaRecorder не очень подходит для этого по разным причинам. Во-первых, он добавляет заголовки MP4 или 3GP послезакончено. Другая причина заключается в том, что для снижения задержки до минимума может потребоваться ускорение аппаратного обеспечения. Тот'Поэтому я хотел бы использовать недавние низкоуровневые дополнения к структуре, а именно:MediaCodecMediaExtractor, так далее.

На данный момент я планирую работать следующим образом. Камера записывает свое видео в буфер. MediaCodec кодирует видео с H264 и записывает результат в другой буфер. Этот буфер считывается RTP-инкапсулятором, который отправляет данные потока на сервер. Вот'Мой первый вопрос: кажется ли вам этот план осуществимым?

Сейчас я'Я уже застрял на первом этапе. Поскольку вся документация в Интернете об использовании камеры используетMediaRecorderЯ не могу найти способ сохранить свои необработанные данные в буфере до кодирования. ЯвляетсяaddCallbackBuffer подходит для этого? У кого-нибудь есть ссылка с примером?

Далее я не могу найти много документации о MediaCodec (так какдовольно новый). У кого есть солидный учебник?

И наконец: какие-либо рекомендации по библиотекам RTP?

Заранее большое спасибо!

Ответы на вопрос(3)

Ваш ответ на вопрос