Android: проверьте HW Encoder или SW Encoder, используемый в MediaRecorder - PullRequest
0 голосов
/ 27 апреля 2018

Я использовал MediaRecorder класс в Android. Я установил кодировщик видео следующим образом:

media_rec.setVideoEncoder(MediaRecorder.VideoEncoder.H264);

Нет аппаратного кодировщика или программного кодировщика, какой кодер используется для кодирования кадров в H264.

Есть ли в любом случае, с помощью которого я могу принудительно / проверять только аппаратный кодер используется в этом процессе.

Редактировать 1:

Я пытался с помощью MediaCodec получить информацию о кодеке.

media_codec = MediaCodec.createDecoderByType("video/avc");
used_codec_name = media_codec.getName();

Я получаю следующее в качестве вывода,

I/ACodec: [OMX.Exynos.avc.dec] Now Loaded

Согласно некоторым ссылкам от Google, OMX.Exynos.avc.dec - это аппаратный кодер.

Вопрос для записи Я использую MediaRecorder Класс. Так что это подтверждает, что когда я записываю .mp4 файл с H264 видеопотоком, используя класс MediaRecorder, он использует Hardware Encoder.

Пожалуйста, кто-нибудь может подсказать мне об этом.

1 Ответ

0 голосов
/ 19 марта 2019

Может быть немного поздно, но если вы используете кодер / декодер из семейства omx.google, вы используете версию программного обеспечения. В противном случае это аппаратный кодер / декодер, такой как omx.exynos, omx.qcom и т. Д.

...