MediaCodec sample code

来源:互联网 发布:手机电销软件 编辑:程序博客网 时间:2024/06/03 06:21

1.简单的decoder和encoder

https://github.com/taehwandev/MediaCodecExample



2.encode a set of Bitmaps that I have into an h264

http://stackoverflow.com/questions/17096726/how-to-encode-bitmaps-into-a-video-using-mediacodec?rq=1


mMediaCodec = MediaCodec.createEncoderByType("video/avc");mMediaFormat = MediaFormat.createVideoFormat("video/avc", 320, 240);mMediaFormat.setInteger(MediaFormat.KEY_BIT_RATE, 125000);mMediaFormat.setInteger(MediaFormat.KEY_FRAME_RATE, 15);mMediaFormat.setInteger(MediaFormat.KEY_COLOR_FORMAT, MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV420Planar);mMediaFormat.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, 5);mMediaCodec.configure(mMediaFormat, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE);mMediaCodec.start();mInputBuffers = mMediaCodec.getInputBuffers();ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();image.compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream); // image is the bitmapbyte[] input = byteArrayOutputStream.toByteArray();int inputBufferIndex = mMediaCodec.dequeueInputBuffer(-1);if (inputBufferIndex >= 0) {    ByteBuffer inputBuffer = mInputBuffers[inputBufferIndex];    inputBuffer.clear();    inputBuffer.put(input);    mMediaCodec.queueInputBuffer(inputBufferIndex, 0, input.length, 0, 0);}

3.编码camera

http://blog.csdn.net/dxpqxb/article/details/8805110


4.

Android: MediaCodec视频文件硬件解码,高效率得到YUV格式帧,快速保存JPEG图片(不使用OpenGL)(附Demo)

https://www.polarxiong.com/archives/Android-MediaCodec%E8%A7%86%E9%A2%91%E6%96%87%E4%BB%B6%E7%A1%AC%E4%BB%B6%E8%A7%A3%E7%A0%81-%E9%AB%98%E6%95%88%E7%8E%87%E5%BE%97%E5%88%B0YUV%E6%A0%BC%E5%BC%8F%E5%B8%A7-%E5%BF%AB%E9%80%9F%E4%BF%9D%E5%AD%98JPEG%E5%9B%BE%E7%89%87-%E4%B8%8D%E4%BD%BF%E7%94%A8OpenGL.html







0 0
原创粉丝点击