Ответ 1
Если вы хотите узнать, что кодирует ваша камера для Android, попробуйте использовать это: https://developer.android.com/reference/android/media/CamcorderProfile
Этого достаточно, чтобы ответить на ваши вопросы по обнаружению кодирования видео, включая: формат выходного файла, формат видеокодека, скорость передачи видео в битах в секунду, частоту кадров видео в кадрах в секунду, ширину и высоту видеофрагмента, формат аудиокодека, аудио битовая скорость в битах в секунду, частота дискретизации звука Количество аудиоканалов для записи.
Вытащил также много вышеупомянутой информации: https://developer.android.com/guide/topics/media/camera#capture-video
Что касается перекодировки видео, которые уже находятся в списке пользователей, я нашел этот полезный транскодер, написанный в чистом java, используя API Android MediaCodec, и его можно найти здесь: https://github.com/ypresto/android-transcoder
Кроме того, в качестве рупп, упомянутых ниже, вы можете использовать ffmeg, который, как доказано, работает бесчисленное количество раз на Android. Однако аргументация для меня, связанная с другим транскодером, заключается в том, что, как утверждает автор, "FFmpeg - это самое известное решение для перекодирования. Но использование двоичного кода FFmpeg на Android может вызвать проблемы с GPL и/или патентами. Также с помощью собственного кода для Android разработка может быть сложной из-за кросс-компиляции, совместимости архитектуры, времени сборки и двоичного размера ". Поэтому используйте тот, который, по вашему мнению, лучше подходит вам. Вот ссылка для ffmeg для Android: https://github.com/WritingMinds/ffmpeg-android
Если вы не хотите использовать транскодер, который сделал кто-то другой, я рекомендую сделать свой собственный транскодер с помощью API MediaCodec, который можно найти здесь: https://developer.android.com/reference/android/media/MediaCodec