音视频编解码!
对于H264视频裸数据编解码问题一直是IPCamera的核心工作,从之前通过ffmpeg软解码,到后面升级为通过Android MediaCodec进行硬解码! 中间走过不少弯路,也历过不少挫折,今天就 Android 硬解码分享自己的一点小心得!
(备注:2016年在进行Android硬解码开发时有参考网上的相关资源)
工具/原料
-
Mac OS Eclipse开发工具
-
Mac OS电脑
方法/步骤
-
1
# 定义相关变量参数 & 创建MediaCodec并配置相关参数
// Video Constants
private final static String MIME_TYPE = "video/avc"; // H.264 video
private int VIDEO_WIDTH = 1920;
private int VIDEO_HEIGHT = 1080;
private int TIME_INTERNAL = 0;
private static int HEAD_OFFSET = 512;
private MediaCodec mCodec;
Thread readFileThread;
# 初始化并创建配置相关解码库,设置视频高宽等参数;
# 设置用于显示视频的surface (mSurHolder.getSurface());
mCodec = MediaCodec.createDecoderByType(MIME_TYPE);