美文网首页
Android MediaCodec获取H264码流分辨率

Android MediaCodec获取H264码流分辨率

作者: BENSON_fff5 | 来源:发表于2023-12-20 14:50 被阅读0次

目前项目中通过UDP接收到h264视频流,采用MediaCodec对h264进行解码并播放,那如何得知h264视频流的分辨率呢,查MediaCodec源码可知,通过判断dequeueOutputBuffer方法的返回值是否等于MediaCodec.INFO_OUTPUT_FORMAT_CHANGED,如果相等就调用getOutputFormat获取MediaFormat,再从中获取视频的宽高值即可。如下所示:

            var outputBufferIndex: Int = mMediaCodec.dequeueOutputBuffer(bufferInfo, 100)
            if (outputBufferIndex == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) {
                var outputFormat = mMediaCodec.getOutputFormat()
                var w = outputFormat.getInteger(MediaFormat.KEY_WIDTH)
                var h = outputFormat.getInteger(MediaFormat.KEY_HEIGHT)
                Log.i(TAG," w = $w ; h = $h")
            }

相关文章

网友评论

      本文标题:Android MediaCodec获取H264码流分辨率

      本文链接:https://www.haomeiwen.com/subject/emntndtx.html