Android:检查MediaRecorder中使用的HW编码器或SW编码器

时间:2018-04-27 05:03:38

标签: java android video-encoding android-mediarecorder

我在Android中使用过MediaRecorder类。我已将视频编码器设置如下,

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视频流的import Data.Map as DM import Data.Maybe import Data.List.Split main = do let pieces = fromList [ ( (0,1) , ["piece1", "piece2"] ) , ( (2,2) , ["piece3", "piece4"] ) ] -- prepare piece name lists for printing p2 = fmap concat pieces height = 3 width = 3 -- iterate over board in row/column order -- lookup name - use "x" if not found namesInOrder = [fromMaybe "x" $ DM.lookup (row,col) p2 | row <- [0..height-1] , col <- [0..width-1] ] -- split into chunks of one row each rows = chunksOf width namesInOrder -- print each row on its own line mapM print rows 文件时,它是否确认使用硬件编码器。

请有人能给我一些想法。

1 个答案:

答案 0 :(得分:0)

可能会有点晚,但是如果您使用的是omx.google系列的编码器/解码器,则使用的是软件版本。否则,它是硬件编码器/解码器,例如omx.exynosomx.qcom等。