Это не просто, но возможно.
MediaRecorder API предполагает, что вывод представляет собой файл произвольного доступа, то есть он может отправляться назад и назад для записи файла-контейнера mp4 (или другого).
Как вы можете видеть в ipcamera-for-android, выходной файл направляется в сокет, который не является произвольным доступом.
Этот факт затрудняет анализ исходящего потока, поскольку API MediaRecorder будет «записывать» некоторые данные, такие как fps, sps / pps (на h264) и т. Д., Только когда запись завершена. API попытается выполнить поиск в начале потока (там, где существует заголовок файла), но это не удастся, поскольку поток отправляется в сокет, а не в файл.
Использование ipcamera-for-android - хороший пример, если я правильно помню, перед потоковой передачей записывает видео в файл, открывает заголовок и получает оттуда все, что нужно, затем начинает запись в сокет. и использует данные, взятые из заголовка для анализа потока.
Вам также понадобятся некоторые базовые знания при разборе mp4 (или другого файлового контейнера, который вы хотите использовать) для захвата кадров.
Вы можете сделать это либо на устройстве, либо на стороне сервера.
Вот хорошее начало для записи потока в сокет:
Учебник
Я надеюсь, что это было полезно, не существует хорошего учебника для разбора и декодирования исходящих потоков, поскольку это не так просто ... но, опять же, это возможно с некоторыми усилиями.
Посмотрите также здесь, чтобы увидеть, как направить выходной поток в поток, который можно отправить на сервер:
MediaRecorder Вопрос