diff --git a/frigate/config.py b/frigate/config.py index e181e24c4..f71afc5d3 100644 --- a/frigate/config.py +++ b/frigate/config.py @@ -517,20 +517,26 @@ class RtmpConfig(FrigateBaseModel): enabled: bool = Field(default=False, title="RTMP restreaming enabled.") +class JsmpegStreamConfig(FrigateBaseModel): + height: int = Field(default=720, title="Live camera view height.") + quality: int = Field(default=8, ge=1, le=31, title="Live camera view quality.") + + +class BaseStreamConfig(FrigateBaseModel): + height: int = Field(default=720, title="Live camera view height.") + + class RestreamConfig(FrigateBaseModel): enabled: bool = Field(default=True, title="Restreaming enabled.") - - -class CameraLiveSourceEnum(str, Enum): - jsmpeg = "jsmpeg" - mp4 = "mp4" - webrtc = "webrtc" - - -class CameraLiveConfig(FrigateBaseModel): - height: int = Field(default=720, title="Live camera view height") - quality: int = Field(default=8, ge=1, le=31, title="Live camera view quality") - source: CameraLiveSourceEnum = Field(default=CameraLiveSourceEnum.jsmpeg) + jsmpeg: JsmpegStreamConfig = Field( + default_factory=JsmpegStreamConfig, title="Jsmpeg Stream Configuration." + ) + mp4: BaseStreamConfig = Field( + default_factory=BaseStreamConfig, title="MP4 Stream Configuration." + ) + webrtc: BaseStreamConfig = Field( + default_factory=BaseStreamConfig, title="Webrtc Stream Configuration." + ) class CameraUiConfig(FrigateBaseModel):