7. WiFi_BBM V3 工程说明
7.1. 工程简介
WiFi_BBM V3 分支实现了视频对讲机应用,提供稳定的无线视频传输、双向视频语音通话和多设备绑定能力。
7.2. 主要功能
双向视频语音通话:分辨率支持 1280×720,帧率最高 25fps,画面流畅稳定。
多设备互联:支持多对多连接,可在多路视频源之间切换。
显示模式切换: - 全屏显示:独立查看某台设备的实时视频。 - 多设备分屏(画中画):同时查看多路视频画面。
7.3. 示例工程位置
示例代码位于 V3 分支的 apps/wifi_bbm 目录。
7.4. 操作说明
7.4.1. 连接步骤
固件烧录完成后,分别启动两台设备,设备会自动互相识别并建立连接。
在任意一台设备上按下 KEY4 按键,发送视频请求;另一台设备收到后自动开启视频传输。
视频传输建立后,按下 KEY3 按键可在全屏与画中画显示模式之间切换。
7.5. 代码流程讲解
7.5.1. 初始化流程
设备启动后,先运行 wifi_bbm 工程的
app_main,随后进入 video_call 模式(代码在wifi_bbm/mode/video_call/video_call.c)。进入模式后调用
video_call_wifi_raw_init完成初始化工作,主要包括:初始化 WiFi RAW 模式。
初始化 CTP 客户端/服务器。
初始化心跳包线程。
7.5.2. 通讯流程
初始化完成后,设备周期发送心跳包做在线检测;收到心跳包的设备注册 CTP 客户端/服务器,建立 CTP 连接。
设备间通过 CTP 命令完成控制与数据交互。
按下 KEY4 按键后向另一台设备发送开启视频流的 CTP 命令,另一台设备收到后开启视频流并开始传输。
7.6. 代码说明
7.6.1. 主要代码文件
wifi_bbm/mode/video_call:视频对讲模式主流程。video_call.c:模式主流程入口与状态控制。
wifi_bbm/wifi:WiFi 配置与连通性。online_manager.c:设备在线检测与心跳发送。wifi_raw.c:WiFi RAW 模式初始化与配置。wifi_ap_sta.c:AP/STA 模式配置。wifi_adapter.c:WiFi RAW 相关配置选项。
wifi_bbm/ctp:CTP 通讯相关。ctp_client.c:CTP 客户端。cdp_client.c:CDP 客户端。ctp_cmd_handle.c:CTP 命令接收与处理。ctp_cmd.c:CTP 命令执行。
wifi_bbm/stream:音视频流处理。video_stream_recv.c:视频流接收。video_stream_send.c:视频流发送。video_pipeline.c:视频流管线。audio_player.c:音频播放。vir_audio_recoder.c:音频录制。udp_stream.c:UDP 视频流传输。multi_media_renderer.c:音视频渲染。