音视频流媒体硬解码是指不使用CPU进行编码,使用显卡GPU,专用的DSP、FPGA、ASIC芯片等硬件进行编码。编码框架Video ToolBox和AudioToolbox。
EasyRTMP是结合了多种音视频缓存及网络技术的一个rtmp直播推流端,包括:圆形缓冲区(circular buffer)、智能丢帧、自动重连、rtmp协议等等多种技术,能够非常有效地适应各种平台(Windows、Linux、ARM、Android、iOS),各种网络环境(有线、wifi、4G),以及各种情况下的直播恢复(服务器重启、网络重启、硬件设备重启)。
EasyRTMP-Android MediaCodec硬编码流程
解决问题
EasyRTMP-Android的硬编码的流程如下:
1、初始化编码器
2、配置编码器参数
3、开始编码
4、获取编码器的输入缓存inputBuffers 和输出缓存outputBuffers
5、将要编解码的数据拷贝到empty buffer,然后放入input缓冲区队列
6、子线程中不停的编码,并清空输入缓存区
7、停止编码并释放编码资源占用