/**
* choose the video encoder by mime. API 21+
*/
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
private MediaCodecInfo chooseVideoEncoderAPI21(String mime) {
MediaCodecList mediaCodecList = new MediaCodecList(MediaCodecList.ALL_CODECS);
MediaCodecInfo[] mediaCodecInfos = mediaCodecList.getCodecInfos();
for (MediaCodecInfo mci : mediaCodecInfos) {
if (!mci.isEncoder()) {
continue;
}
String[] types = mci.getSupportedTypes();
for (String type : types) {
if (type.equalsIgnoreCase(mime)) {
Log.i(TAG, String.format("videoEncoder %s type supported: %s", mci.getName(), type));
MediaCodecInfo.CodecCapabilities codecCapabilities = mci.getCapabilitiesForType(mime);
for (int color : codecCapabilities.colorFormats) {
Log.i(TAG, "Color supported: " + color);
//check if encoder support any yuv420 color
if (color == FormatVideoEncoder.YUV420PLANAR.getFormatCodec()
|| color == FormatVideoEncoder.YUV420SEMIPLANAR.getFormatCodec()
|| color == FormatVideoEncoder.YUV420PACKEDPLANAR.getFormatCodec()) {
return mci;
}
}
}
}
}
return null;
}
VideoEncoder.java 文件源码
java
阅读 40
收藏 0
点赞 0
评论 0
项目:rtmp-rtsp-stream-client-java
作者:
评论列表
文章目录