esp-video-components-skill

Implements ESP32 camera capture, V4L2 streaming, and JPEG/H.264 codec pipelines with esp-video-components.

28|3|Updated Jun 24, 2026
One-click install
npx skills add https://github.com/JasonYANG170/esp-dev-skill --skill esp-video-components-skill-jasonyang170
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: esp-video-components-skill
Source: https://github.com/JasonYANG170/esp-dev-skill/tree/main/repos/esp-video-components
Command: npx skills add https://github.com/JasonYANG170/esp-dev-skill --skill esp-video-components-skill-jasonyang170

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Developing camera and video firmware on ESP32 chips requires navigating V4L2 POSIX APIs, device node registration, SCCB/I2C configuration, ISP pipelines, and chip-specific interface constraints, where a single ordering or Kconfig mistake causes capture failure. ## Core Features & Use Cases - Scenario Recipes: 11 step-by-step recipes covering esp_video initialization, V4L2 capture loops, MIPI-CSI/DVP/SPI/USB-UVC interfaces, custom sensor formats, JPEG/H.264 M2M codecs, image storage, HTTP MJPEG servers, UVC gadget, and ISP pipeline control. - Grounded References: API quick reference, full Kconfig option tables, a 45-item pitfalls list, and board pinout/sensor driver listings, all extracted from the real esp-video-components repository. - Use Case: Ask how to capture RAW frames from an SC2336 sensor on ESP32-P4, and receive the correct esp_video_init configuration, ISP pipeline Kconfig settings, V4L2 buffer sequence, and build commands. ## Quick Start Ask the AI to generate an ESP32-P4 camera capture application using esp_video with MIPI-CSI and JPEG encoding, and it will follow the matching recipe to produce verified initialization and streaming code.

Frequently Asked Questions about esp-video-components-skill

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I capture camera frames on ESP32 with V4L2?

Call esp_video_init with the interface config first, then open the /dev/videoN device and follow the V4L2 sequence: VIDIOC_S_FMT, REQBUFS, QUERYBUF, mmap, QBUF, STREAMON, then DQBUF/QBUF in a loop. Every dequeued buffer must be re-queued or capture stalls.

Which ESP32 chips support MIPI-CSI cameras?

Only ESP32-P4 supports MIPI-CSI, since it requires SOC_MIPI_CSI_SUPPORTED. ESP32-P4 and S3 support DVP and USB-UVC, while SPI cameras work across P4, S3, S31, C3, C5, C6, and C61.

Why is my RAW sensor image purple or black on ESP32-P4?

RAW8/RAW10/RAW12 sensors need the ISP Pipeline Controller enabled via the ESP_VIDEO_ENABLE_ISP_PIPELINE_CONTROLLER Kconfig option. Without it there is no auto exposure, white balance, or color reconstruction, so frames appear discolored or black.

Does esp_video support H.264 encoding on ESP32-S3?

No, H.264 hardware encoding is only available on ESP32-P4 and requires the esp_h264 dependency. ESP32-S3 and S31 support JPEG hardware codec devices but not H.264.

Why does open on /dev/video0 fail in my ESP-IDF project?

The device node is only registered after esp_video_init runs, and the matching Kconfig option such as ESP_VIDEO_ENABLE_MIPI_CSI_VIDEO_DEVICE must be enabled. SPI video devices are disabled by default on P4, S3, and S31.

When should I not use esp-video-components for camera projects?

Avoid it for non-ESP32 platforms, pure PCB hardware design, and projects built on the legacy esp32-camera component in esp-iot-solution, which uses a different API. It also does not cover general ESP-IDF topics unrelated to cameras.