В последнее время я работал с MediaRecorder для захвата видео и обработки их в выводе. Однако, как оказалось, были ограничения безопасности, которые не позволяли мне перехватить выходной поток из MediaRecorder (проблема, представленная в ссылке ниже):
дескриптор файла «Seekable» для использования с MediaRecorder Android 6.0 (API 23)
Поэтому мне пришлось разработать другое решение, и я решил поработать с Camer API и получить там поток. Таким образом, первый способ состоял в том, чтобы работать с onPreviewFrame, перехватывать кадры в файле и конвертировать цвета и форматы (MediaCodec). К счастью, проблему с преобразованием цветов можно обойти, получив видео из, например, SuraceTexture, как описано, например, в проекте Bigflakes:
https://bigflake.com/mediacodec/CameraToMpegTest.java.txt
Я не новичок в Android Java, но это действительно ошеломляет меня. Я не хочу получать готовую квитанцию за это, и я вполне могу сидеть и работать всю следующую неделю и взламывать этот код, но, во-первых, мой вопрос: как вы, ребята, поняли MediaCodec, взяв видео с, например ,. SurfaceTexture, а затем поместил его в MediaMuxer, и, во-вторых, не могли бы вы порекомендовать несколько учебных пособий, где вы начинаете с самого простого проекта по этой теме, а затем постепенно расширяете код?
Я действительно пытаюсь работать над проектом bigflakes, но я беспомощен даже потому, что метод onCreate отсутствует ... и лучшая часть начинается, когда он начинает рендерить видео.