# esp_camera_uvc
ESP32-P4 专用:**用 USB UVC 实现 `esp_camera_*` API**,使依赖 `esp32-camera` 的示例无需改代码即可在 P4 上使用 UVC 摄像头。
## 功能
- `esp_camera_init()` / `esp_camera_fb_get()` / `esp_camera_fb_return()` 桥接
- 内部调用 `usb_camera_service` + JPEG 硬件解码
- 非 P4 目标编译为空实现(`dummy.c`)
## 依赖
- ESP-IDF >= 5.5
- `espressif/esp32-camera`(仅头文件与类型)
- `kevincoooool/usb_uvc_qr` ^1.0.0
- 目标芯片:**esp32p4**
## 使用
```yaml
dependencies:
kevincoooool/esp_camera_uvc: "^1.0.0"
```
工程 `CMakeLists.txt`:
```cmake
set(EXTRA_COMPONENT_DIRS "${CMAKE_SOURCE_DIR}/../components")
```
```c
#include "esp_camera.h"
esp_camera_init(&config); /* P4 上 config 由 stub 忽略,实际启动 UVC */
camera_fb_t *fb = esp_camera_fb_get();
```
可设置编译宏 `KSDIY_UVC_SWAP_RGB565_BYTES` 以匹配 LVGL 字节序(见各示例工程 `CMakeLists.txt`)。
## 上传注册库
```bash
cd components/esp_camera_uvc
compote registry login
compote component upload --namespace kevincoooool --name esp_camera_uvc --version 1.0.0
```
> 需先上传 `usb_uvc_qr`。
idf.py add-dependency "kevincoooool/ksdiy_esp_camera_uvc^1.0.1"