MEDIA_TRA

[English]

1 功能概述

多媒体互传功能,两块板子之间音频双向传输、视频是一块采集视频图像,另一块负责接收并显示到LCD屏幕上

2 代码路径

demo路径:project/av_client/main/av_client_main.c, project/av_server/main/av_server_main.c, components/demos/media/doorbell, components/demos/media/av_demo

3 cli命令简介

demo支持的命令如下表:

Command

Param

Description

doorbell udp_c [param1] [param2]

[param3] [param4]

param1:camera_type

set the camera type used

param2:camera_ppi

set the camera output resolution

param3:LCD ppi

LCD screen support resolution

param4:LCD name

LCD screen name

doorbell udp_s [param1] [param2]

param3:LCD ppi

LCD screen support resolution

param4:LCD name

LCD screen name

av_udp_test param

param:current chip role

udp transfer play client or server

demo运行依赖的宏配置:

NAME

Description

File

value

CONFIG_DOORBELL

support DOORBELL

middleware\soc\bk7256\bk7256.defconfig

y

CONFIG_JPEG_ENCODE

suport hw jpeg ecoder

middleware\soc\bk7256\bk7256.defconfig

y

CONFIG_CAMERA

suport use dvp camera

middleware\soc\bk7256\bk7256.defconfig

y

CONFIG_CAMERA_USE_I2C1

suport use I2C1

middleware\soc\bk7256\bk7256.defconfig

y

CONFIG_AUDIO

support audio function

middleware\soc\bk7256\bk7256.defconfig

y

CONFIG_LCD

support LCD function

middleware\soc\bk7256\bk7256.defconfig

y

CONFIG_USB_UVC

support UVC camera

middleware\soc\bk7256\bk7256.defconfig

y

CONFIG_AV_DEMO

support av transfer

middleware\soc\bk7256\bk7256.defconfig

y

4 演示介绍

demo执行的步骤如下:

1、准备好dvp摄像头或者UVC摄像头,LCD屏幕(rgb或者8080),speak,连接配置方式如下图1所示

2、编译两个版本:
  • make bk7256 PROJECT=av_client

  • make bk7256 PROJECT=av_server

3、烧录与运行

因为视频是单向的,一个板子负责采集图像,并通过UDP发送到另一个板子,另一个板子接收到图像数据,解码并显示到LCD屏幕上。 所以,插摄像头负责采集的板子,烧录av_client编译的版本,带有LCD屏幕的烧录av_server编译的版本,上电后自动运行。

4、图一的说明
  • 1:串口供电

  • 2:USB&UVC摄像头接口

  • 3:DVP摄像头接口

  • 4:MIC采集

  • 5:speak接口

  • 6:320*480 8080屏幕

  • 7:480*272 RGB屏幕

av_tra_demo

Figure 1. av transfer demo

备注

针对这种运行案例的方法,默认使用的是UVC(640*480的分辨率),LCD默认使用(480*272分辨率)。

5 cli命令的使用

上面的demo演示是需要编译两个版本,且已经集成好了,不需要输入任何的命令,默认上电就会运行双向对讲的功能。 当前也支持客户自己发命令来实现双向对讲的功能,编译的版本:make bk7256;

1、宏的定义
  • 针对BK7256的版本,库上默认将宏CONFIG_AV_DEMO关闭了,编译之前需要手动打开,然后进行编译;

2、板子的角色定义
  • ap ssid key channle:在接有屏幕的板子上起softap,自定义ssid,key和channel,如上图中56#B板

  • sta ssid key:在接有摄像头的板子上起station,连接ap,如上图中122#B板

3、开启双向语音
  • 56#B:av_udp_test server

  • 122#B:av_udp_test client

4、开启视频传输
  • 56#B:doorbell udp_s 480X272

    480X272是对应的LCD的分辨率

  • 122#B:doorbell udp_c uvc|dvp 640X480

    uvc|dvp:表示应用的摄像头类型,dvp或uvc,每次仅支持一种,如果不写,默认为dvp;

    640X480:表示摄像头输出的分辨率,另外还支持其他分辨率,如果不写,默认为640X480;