视频 Helper

[English]

  • 公共头文件: #include "brookesia/service_helper/video.hpp"

概述

本页用于查看 Video helper 的原始 Doxygen API,包括公共类型、枚举、方法与相关宏定义。

API 参考

Header File

Classes

class Video

Shared schema/type definitions for video encoder and decoder helper services.

Public Types

enum class EncoderSinkFormat : uint8_t

Encoder related configurations.

Values:

enumerator H264
enumerator MJPEG
enumerator RGB565
enumerator RGB888
enumerator BGR888
enumerator YUV420
enumerator YUV422
enumerator O_UYY_E_VYY
enumerator Max
enum class DecoderSourceFormat : uint8_t

Decoder related configurations.

Values:

enumerator H264
enumerator MJPEG
enumerator Max
enum class EncoderFunctionId : uint8_t

Video encoder function identifiers.

Values:

enumerator Open
enumerator Close
enumerator Start
enumerator Stop
enumerator FetchFrame
enumerator Max
enum class EncoderEventId : uint8_t

Video encoder event identifiers.

Values:

enumerator StreamSinkFrameReady
enumerator FetchSinkFrameReady
enumerator Max
enum class DecoderFunctionId : uint8_t

Video decoder function identifiers.

Values:

enumerator Open
enumerator Close
enumerator Start
enumerator Stop
enumerator FeedFrame
enumerator Max
enum class DecoderEventId : uint8_t

Video decoder event identifiers.

Values:

enumerator SinkFrameReady
enumerator Max
enum class EncoderFunctionOpenParam : uint8_t

Parameter keys for EncoderFunctionId::Open.

Values:

enumerator Config
enum class EncoderFunctionFetchFrameParam : uint8_t

Parameter keys for EncoderFunctionId::FetchFrame.

Values:

enumerator SinkIndex
enum class DecoderFunctionOpenParam : uint8_t

Parameter keys for DecoderFunctionId::Open.

Values:

enumerator Config
enum class DecoderFunctionFeedFrameParam : uint8_t

Parameter keys for DecoderFunctionId::FeedFrame.

Values:

enumerator Frame
enum class EncoderEventStreamSinkFrameReadyParam : uint8_t

Item keys for EncoderEventId::StreamSinkFrameReady.

Values:

enumerator SinkIndex
enumerator SinkInfo
enumerator Frame
enum class EncoderEventFetchSinkFrameReadyParam : uint8_t

Item keys for EncoderEventId::FetchSinkFrameReady.

Values:

enumerator SinkIndex
enumerator SinkInfo
enumerator Frame
enum class DecoderEventSinkFrameReadyParam : uint8_t

Item keys for DecoderEventId::SinkFrameReady.

Values:

enumerator Width
enumerator Height
enumerator Frame

Public Static Functions

static inline std::span<const FunctionSchema> get_encoder_function_schemas()

Get all encoder function schemas.

返回

std::span<const FunctionSchema> Static schema span.

static inline std::span<const EventSchema> get_encoder_event_schemas()

Get all encoder event schemas.

返回

std::span<const EventSchema> Static schema span.

static inline std::span<const FunctionSchema> get_decoder_function_schemas()

Get all decoder function schemas.

返回

std::span<const FunctionSchema> Static schema span.

static inline std::span<const EventSchema> get_decoder_event_schemas()

Get all decoder event schemas.

返回

std::span<const EventSchema> Static schema span.

Public Static Attributes

static constexpr std::string_view ENCODER_NAME_PREFIX = "VideoEncoder"

Prefix used to build encoder helper service names.

static constexpr std::string_view DECODER_NAME_PREFIX = "VideoDecoder"

Prefix used to build decoder helper service names.

struct DecoderConfig

Decoder open configuration.

Public Members

uint16_t width

Decode frame width

uint16_t height

Decode frame height

DecoderSourceFormat source_format

Decoder input format

DecoderSinkFormat sink_format

Decoder output format

bool enable_stream_mode

Whether decoder works in stream mode

bool enable_hw_acceleration

Whether hardware acceleration is enabled

struct EncoderConfig

Encoder open configuration.

Public Members

std::vector<EncoderSinkInfo> sinks

Output sink list

bool enable_stream_mode

Whether encoder works in stream push mode

struct EncoderSinkInfo

One encoder sink stream description.

Public Members

EncoderSinkFormat format

Output sink format

uint16_t width

Output width

uint16_t height

Output height

uint8_t fps

Output frames per second

template<int Id>
class VideoEncoder : public esp_brookesia::service::helper::Base<VideoEncoder<Id>>

Public Types

using FunctionId = Video::EncoderFunctionId

Re-exported function id enum for encoder service instance.

using EventId = Video::EncoderEventId

Re-exported event id enum for encoder service instance.

Public Static Functions

static inline std::string_view get_name()

Get service name of this encoder instance.

返回

std::string_view Service name in format VideoEncoder<Id>.

static inline std::span<const FunctionSchema> get_function_schemas()

Get function schemas for this encoder instance.

返回

std::span<const FunctionSchema> Static schema span.

static inline std::span<const EventSchema> get_event_schemas()

Get event schemas for this encoder instance.

返回

std::span<const EventSchema> Static schema span.

template<int Id>
class VideoDecoder : public esp_brookesia::service::helper::Base<VideoDecoder<Id>>

Public Types

using FunctionId = Video::DecoderFunctionId

Re-exported function id enum for decoder service instance.

using EventId = Video::DecoderEventId

Re-exported event id enum for decoder service instance.

Public Static Functions

static inline std::string_view get_name()

Get service name of this decoder instance.

返回

std::string_view Service name in format VideoDecoder<Id>.

static inline std::span<const FunctionSchema> get_function_schemas()

Get function schemas for this decoder instance.

返回

std::span<const FunctionSchema> Static schema span.

static inline std::span<const EventSchema> get_event_schemas()

Get event schemas for this decoder instance.

返回

std::span<const EventSchema> Static schema span.