# ESP_MEDIA_PROTOCOLS A library implementing multiple mainstream media protocols, designed for embedded audio and video applications. ## Features - Supports audio/video stream capture and playback - Supports various codec formats and configurable media parameters - Supports audio/video stream transmission - Supports audio/video stream control, synchronization - Supports automatic device discovery and interconnection - Supports various hardware platforms ## Supported Protocols | Protocol |Description | |------------|------------------------------------------------------------------| | RTP | Real-time Transport Protocol, suitable for transmitting AV streaming | | RTCP | Real-time Control Protocol, works alongside RTP to monitor transmission quality and provide feedback on packet loss, latency and etc. | | SIP | Session Initiation Protocol, suitable for establishing, modifying and terminating calls, commonly used in VoIP communications | | RTSP | Real Time Streaming Protocol, supports media streaming play, pause, seek and etc. | | RTMP | Real-Time Messaging Protocol, suitable for pushing and pulling live streaming | | MRM | Multi-Room Music, supports audio distribution and sync across devices | | SSDP | Simple Service Discovery Protocol, suitable for discovery devices and services on local network, primarily used in UPnP(Universal Plug and Play) | | UPnP | Universal Plug and Play, allows devices to discovery and interoperate, commonly used for home network devices | ## Usage Refer to the documentation and example code in each protocol directory for more details: - [RTMP streaming application] `$ADF_PATH/examples/protocols/rtmp` (https://github.com/espressif/esp-adf/tree/master/examples/protocols/rtmp) - [RTSP server/client] `$ADF_PATH/examples/protocols/esp-rtsp` (https://github.com/espressif/esp-adf/tree/master/examples/protocols/esp-rtsp) - [SIP audio] `$ADF_PATH/examples/protocols/voip` (https://github.com/espressif/esp-adf/tree/master/examples/protocols/voip) - [SIP audio/video] `$ADF_PATH/examples/protocols/esp-rtc` (https://github.com/espressif/esp-adf/tree/master/examples/protocols/esp-rtc) - [Multi-Room Music] `$ADF_PATH/examples/advanced_examples/multi-room` (https://github.com/espressif/esp-adf/tree/master/examples/advanced_examples/multi-room) - [UPnP/SSDP device discovery and interoperate] `$ADF_PATH/examples/advanced_examples/dlna`(https://github.com/espressif/esp-adf/tree/master/examples/advanced_examples/dlna) ## Supported chip The following table shows the support of ESP_MEDIA_PROTOCOLS for Espressif SoCs. The "✔" means supported, and the "✖" means not supported. |Chip | v0.5.0 | |:-----------:|:----------------:| |ESP32 | ✔ | |ESP32-S2 | ✔ | |ESP32-S3 | ✔ | |ESP32-C2 | ✔ | |ESP32-C3 | ✔ | |ESP32-C5 | ✔ | |ESP32-C6 | ✔ | |ESP32-P4 | ✔ |
idf.py add-dependency "jimforr/esp_media_protocols^0.5.0"