[RK3399][Android7.1]视频项目笔记 -广告机项目介绍

平台 内核版本 安卓版本
RK3399 Linux4.4 Android7.1

广告视频系统总体设计方案

广告视频系统,包括广告推送服务器和终端设备两部分,广告推送服务器通过无线网卡以及无线路由器搭建的Wi-Fi无线网络环境,向终端设备传输H.264编码格式的广告视频流,终端设备接收H.264编码格式的广告视频流进行解码并实时播放;同时终端设备通过摄像头采集当前超市内的环境图片,并对其中的人脸进行识别从而进行人流统计。
在这里插入图片描述
广告推送服务器到终端设备的广告视频传输和处理流程如下图,首先将广告视频通过H264编码器进行压缩从而获得H.264码流文件,然后提取码流文件中的NAL单元,以RTP协议的格式进行封装,通过RTP/RTCP协议和Wi-Fi将视频数据发送至终端设备,在终端设备中同样以RTP协议的格式对收到的数据包进行解封,通过调用FFmpeg库对每一帧的视频数据进行解压,通过调用 SDL库对每一帧的视频进行播放。
在这里插入图片描述
广告推送服务器上的软件主要是H.264编码和RTP封装/发送。

广告推送服务器上的软件设计方案概述

广告推送服务器软件主要由H.264编码模块和RTP封装/发送模块。H.264编码模块:将原始视频数据进行压缩编码,然后依据网络特性对压缩编码后的数据进行封装和打包,即NAL数据包,最后将这些数据包依次通过添加结尾比特使其对齐,添加仿校验字节(0x03),添加长度为一个字节的头信息等步骤,最终组成NAL单元,最终一定数量的NAL单元组成NAL单元流,即H.264码流文件。

RTP封装/发送模块:如果要通过无线将H.264码流发送出去,则必须:

  1. 首先对每个NAL单元进行打包,即在NAL单元前添加头信息,所以对等待发送的数据包的提取,事实上是从H.264码流中按照NAL单元的起始码来获取相应的NAL单元。
  2. 其次需要通过视频流传输协议将数据包发送出去。视频流传输协议属于OSI模型中传输层,包含TCP、RDP、RTP、RTCP、RTSP等协议。

最后我们一起交流学习把
在这里插入图片描述

发布了295 篇原创文章 · 获赞 99 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/qq_33487044/article/details/104547479