mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-27 02:16:51 +00:00
97 lines
3.7 KiB
Plaintext
97 lines
3.7 KiB
Plaintext
menu "H.264 Example Configuration"
|
|
|
|
choice H264_ENCODER_TYPE
|
|
prompt "H.264 Encoder Type"
|
|
default H264_ENCODER_HARDWARE if IDF_TARGET_ESP32P4
|
|
default H264_ENCODER_SOFTWARE
|
|
help
|
|
Select the H.264 encoder type to use.
|
|
Hardware encoder is only available on ESP32P4 and provides
|
|
better performance and lower power consumption.
|
|
Software encoder is available on all targets but requires
|
|
more CPU resources.
|
|
|
|
config H264_ENCODER_HARDWARE
|
|
bool "Hardware Encoder (ESP32P4 only)"
|
|
depends on IDF_TARGET_ESP32P4
|
|
help
|
|
Use hardware H.264 encoder.
|
|
This option is only available on ESP32P4 which has
|
|
dedicated H.264 hardware encoding capabilities.
|
|
Provides better performance and lower power consumption
|
|
compared to software encoding.
|
|
|
|
config H264_ENCODER_SOFTWARE
|
|
bool "Software Encoder"
|
|
help
|
|
Use software H.264 encoder using OpenH264 library.
|
|
Available on all supported targets (ESP32S3, ESP32P4)
|
|
but requires more CPU resources and power consumption
|
|
compared to hardware encoding.
|
|
endchoice
|
|
|
|
menu "H.264 Encoder Parameters"
|
|
|
|
config H264_ENCODER_WIDTH
|
|
int "Video Width"
|
|
range 64 1920
|
|
default 320
|
|
help
|
|
Video frame width in pixels.
|
|
Must be multiple of 16 for optimal performance.
|
|
Recommended values: 128, 160, 320, 640, 1280.
|
|
|
|
config H264_ENCODER_HEIGHT
|
|
int "Video Height"
|
|
range 64 1080
|
|
default 240
|
|
help
|
|
Video frame height in pixels.
|
|
Must be multiple of 16 for optimal performance.
|
|
Recommended values: 96, 120, 240, 480, 720.
|
|
|
|
config H264_ENCODER_FPS
|
|
int "Frame Rate (FPS)"
|
|
range 1 60
|
|
default 30 if H264_ENCODER_HARDWARE
|
|
default 15 if H264_ENCODER_SOFTWARE
|
|
help
|
|
Video frame rate in frames per second.
|
|
Hardware encoder can support higher frame rates.
|
|
Software encoder performance depends on CPU capability.
|
|
|
|
config H264_ENCODER_BITRATE
|
|
int "Bitrate (bps)"
|
|
range 64000 10000000
|
|
default 512000 if H264_ENCODER_HARDWARE
|
|
default 256000 if H264_ENCODER_SOFTWARE
|
|
help
|
|
Video bitrate in bits per second.
|
|
Higher bitrate provides better quality but larger file size.
|
|
Hardware encoder can handle higher bitrates more efficiently.
|
|
Typical values: 256K-1M for low quality, 1M-5M for high quality.
|
|
|
|
config H264_ENCODER_GOP_SIZE
|
|
int "GOP Size"
|
|
range 1 255
|
|
default 30
|
|
help
|
|
Group of Pictures size. Determines the frequency
|
|
of I-frames in the video stream.
|
|
Larger GOP size = better compression, higher latency.
|
|
Smaller GOP size = lower compression, lower latency.
|
|
|
|
config H264_ENCODER_QP_VALUE
|
|
int "Quantization Parameter (QP)"
|
|
range 10 51
|
|
default 26 if H264_ENCODER_HARDWARE
|
|
default 28 if H264_ENCODER_SOFTWARE
|
|
help
|
|
Quantization parameter that controls video quality.
|
|
Lower values = higher quality, larger file size.
|
|
Higher values = lower quality, smaller file size.
|
|
Hardware encoder can handle lower QP values more efficiently.
|
|
|
|
endmenu
|
|
endmenu
|