# UsbToUdpTcpClient **Repository Path**: ck2019/UsbToUdpTcpClient ## Basic Information - **Project Name**: UsbToUdpTcpClient - **Description**: 此用例用于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内存管理有关。 - **Primary Language**: Android - **License**: BSD-3-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-12-02 - **Last Updated**: 2021-12-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # UsbToUdpTcpClient #### 介绍 此用例用于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内存管理有关。 #### 软件架构 传输流程:USB DEVICE接收数据流>FIFO传输数据>分析H264帧格式>打包RTP>TCP/UDP传输到QGroundControl。 #### 安装教程 1. xxxx 2. xxxx 3. xxxx #### 使用说明 1. xxxx 2. xxxx 3. xxxx #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 码云特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)