mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-03 17:55:21 +03:00
Tear out restream config
This commit is contained in:
parent
30f520f6f0
commit
72ffb9d5f6
@ -405,7 +405,6 @@ class FfmpegConfig(FrigateBaseModel):
|
|||||||
|
|
||||||
class CameraRoleEnum(str, Enum):
|
class CameraRoleEnum(str, Enum):
|
||||||
record = "record"
|
record = "record"
|
||||||
restream = "restream"
|
|
||||||
rtmp = "rtmp"
|
rtmp = "rtmp"
|
||||||
detect = "detect"
|
detect = "detect"
|
||||||
|
|
||||||
@ -524,34 +523,9 @@ class JsmpegStreamConfig(FrigateBaseModel):
|
|||||||
quality: int = Field(default=8, ge=1, le=31, title="Live camera view quality.")
|
quality: int = Field(default=8, ge=1, le=31, title="Live camera view quality.")
|
||||||
|
|
||||||
|
|
||||||
class RestreamVideoCodecEnum(str, Enum):
|
class RestreamConfig(BaseModel):
|
||||||
copy = "copy"
|
class Config:
|
||||||
h264 = "h264"
|
extra = Extra.allow
|
||||||
h265 = "h265"
|
|
||||||
|
|
||||||
|
|
||||||
class RestreamAudioCodecEnum(str, Enum):
|
|
||||||
aac = "aac"
|
|
||||||
copy = "copy"
|
|
||||||
opus = "opus"
|
|
||||||
|
|
||||||
|
|
||||||
class RestreamConfig(FrigateBaseModel):
|
|
||||||
enabled: bool = Field(default=True, title="Restreaming enabled.")
|
|
||||||
audio_encoding: list[RestreamAudioCodecEnum] = Field(
|
|
||||||
default=[RestreamAudioCodecEnum.aac, RestreamAudioCodecEnum.opus],
|
|
||||||
title="Codecs to supply for audio.",
|
|
||||||
)
|
|
||||||
video_encoding: RestreamVideoCodecEnum = Field(
|
|
||||||
default=RestreamVideoCodecEnum.copy, title="Method for encoding the restream."
|
|
||||||
)
|
|
||||||
force_audio: bool = Field(
|
|
||||||
default=True, title="Force audio compatibility with the browser."
|
|
||||||
)
|
|
||||||
birdseye: bool = Field(default=False, title="Restream the birdseye feed via RTSP.")
|
|
||||||
jsmpeg: JsmpegStreamConfig = Field(
|
|
||||||
default_factory=JsmpegStreamConfig, title="Jsmpeg Stream Configuration."
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
class CameraUiConfig(FrigateBaseModel):
|
class CameraUiConfig(FrigateBaseModel):
|
||||||
@ -578,9 +552,6 @@ class CameraConfig(FrigateBaseModel):
|
|||||||
rtmp: RtmpConfig = Field(
|
rtmp: RtmpConfig = Field(
|
||||||
default_factory=RtmpConfig, title="RTMP restreaming configuration."
|
default_factory=RtmpConfig, title="RTMP restreaming configuration."
|
||||||
)
|
)
|
||||||
restream: RestreamConfig = Field(
|
|
||||||
default_factory=RestreamConfig, title="Restreaming configuration."
|
|
||||||
)
|
|
||||||
snapshots: SnapshotsConfig = Field(
|
snapshots: SnapshotsConfig = Field(
|
||||||
default_factory=SnapshotsConfig, title="Snapshot configuration."
|
default_factory=SnapshotsConfig, title="Snapshot configuration."
|
||||||
)
|
)
|
||||||
@ -621,7 +592,6 @@ class CameraConfig(FrigateBaseModel):
|
|||||||
config["ffmpeg"]["inputs"][0]["roles"] = [
|
config["ffmpeg"]["inputs"][0]["roles"] = [
|
||||||
"record",
|
"record",
|
||||||
"detect",
|
"detect",
|
||||||
"restream",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
if has_rtmp:
|
if has_rtmp:
|
||||||
@ -758,11 +728,6 @@ def verify_config_roles(camera_config: CameraConfig) -> None:
|
|||||||
f"Camera {camera_config.name} has rtmp enabled, but rtmp is not assigned to an input."
|
f"Camera {camera_config.name} has rtmp enabled, but rtmp is not assigned to an input."
|
||||||
)
|
)
|
||||||
|
|
||||||
if camera_config.restream.enabled and not "restream" in assigned_roles:
|
|
||||||
raise ValueError(
|
|
||||||
f"Camera {camera_config.name} has restream enabled, but restream is not assigned to an input."
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def verify_old_retain_config(camera_config: CameraConfig) -> None:
|
def verify_old_retain_config(camera_config: CameraConfig) -> None:
|
||||||
"""Leave log if old retain_days is used."""
|
"""Leave log if old retain_days is used."""
|
||||||
@ -895,7 +860,6 @@ class FrigateConfig(FrigateBaseModel):
|
|||||||
"record": ...,
|
"record": ...,
|
||||||
"snapshots": ...,
|
"snapshots": ...,
|
||||||
"rtmp": ...,
|
"rtmp": ...,
|
||||||
"restream": ...,
|
|
||||||
"objects": ...,
|
"objects": ...,
|
||||||
"motion": ...,
|
"motion": ...,
|
||||||
"detect": ...,
|
"detect": ...,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user