我在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
文件时,它是否确认使用硬件编码器。
请有人能给我一些想法。
答案 0 :(得分:0)
可能会有点晚,但是如果您使用的是omx.google
系列的编码器/解码器,则使用的是软件版本。否则,它是硬件编码器/解码器,例如omx.exynos
,omx.qcom
等。