此用例用于QGroundControl开源地面站或对H264视频流解析处理,通过USB将读到的H264视频流解析成解码器需要显示的完整帧,再封装成标准的RTP打包格式,采用本地127.0.0.1回环地址,通过TCP/UDP通信,将数据流发送到QGroundControl进行视频解码显示,测试已经兼容Android 7.0以上版本。但发现6.0以下版本存在花屏和延时,尝试解决办法:用TCP传输时,和QT工程师商量不用QGroundControl的解码方式,采用FFMPEG和NDK层的Mediacodec硬解码,但是此方案还是存在花屏和延时,怀疑有两点问题导致:1、此需求本身存在合理性问题,传输流程为:USB接收视频数据>分析H264视频流>通过TCP/UDP跨进程视频流传输到QGroundControl(TCP/UDP视频流为发送服务端,QGroundControl解码显示为接收客户端);2、或和Android 6.0内存管理有关。
1