mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-04 18:25:22 +03:00
Change the rotate field to camera/ffmpeg
This commit is contained in:
parent
50349b23ab
commit
5f51319b89
@ -66,7 +66,7 @@ cameras:
|
||||
roles:
|
||||
- detect
|
||||
- record
|
||||
rotate: 90
|
||||
rotate: 90
|
||||
detect:
|
||||
width: 1280
|
||||
height: 720
|
||||
|
||||
@ -427,8 +427,8 @@ cameras:
|
||||
# Optional: camera specific output args (default: inherit)
|
||||
# output_args:
|
||||
|
||||
# Optional: rotation for this camera, allowed values are: 90, 180 or 270 (-90). (default: shown below)
|
||||
rotate: 0
|
||||
# Optional: rotation for this camera, allowed values are: 90, 180 or 270 (-90). (default: shown below)
|
||||
rotate: 0
|
||||
|
||||
# Optional: timeout for highest scoring image before allowing it
|
||||
# to be replaced by a newer image. (default: shown below)
|
||||
|
||||
@ -462,6 +462,7 @@ class CameraInput(FrigateBaseModel):
|
||||
|
||||
class CameraFfmpegConfig(FfmpegConfig):
|
||||
inputs: List[CameraInput] = Field(title="Camera inputs.")
|
||||
rotate: int = Field(default=0, title="Rotate camera: 0º, 90º, 180º or 270º(-90º)")
|
||||
|
||||
@validator("inputs")
|
||||
def validate_roles(cls, v):
|
||||
@ -576,7 +577,6 @@ class CameraUiConfig(FrigateBaseModel):
|
||||
class CameraConfig(FrigateBaseModel):
|
||||
name: Optional[str] = Field(title="Camera name.", regex=REGEX_CAMERA_NAME)
|
||||
enabled: bool = Field(default=True, title="Enable camera.")
|
||||
rotate: int = Field(default=0, title="Rotate camera: 0º, 90º, 180º or 270º(-90º)")
|
||||
ffmpeg: CameraFfmpegConfig = Field(title="FFmpeg configuration for the camera.")
|
||||
best_image_timeout: int = Field(
|
||||
default=60,
|
||||
@ -675,7 +675,7 @@ class CameraConfig(FrigateBaseModel):
|
||||
self.detect.fps,
|
||||
self.detect.width,
|
||||
self.detect.height,
|
||||
self.rotate,
|
||||
self.ffmpeg.rotate,
|
||||
)
|
||||
|
||||
ffmpeg_output_args = scale_detect_args + ffmpeg_output_args + ["pipe:"]
|
||||
@ -693,7 +693,7 @@ class CameraConfig(FrigateBaseModel):
|
||||
parse_preset_output_record(
|
||||
self.ffmpeg.output_args.record,
|
||||
ffmpeg_input.hwaccel_args or self.ffmpeg.hwaccel_args,
|
||||
self.rotate,
|
||||
self.ffmpeg.rotate,
|
||||
)
|
||||
or self.ffmpeg.output_args.record
|
||||
)
|
||||
|
||||
@ -86,7 +86,7 @@ class TestFfmpegPresets(unittest.TestCase):
|
||||
)
|
||||
|
||||
def test_ffmpeg_hwaccel_rotate_90_preset(self):
|
||||
self.default_ffmpeg["cameras"]["back"]["rotate"] = 90
|
||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"]["rotate"] = 90
|
||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"][
|
||||
"hwaccel_args"
|
||||
] = "preset-nvidia-h264"
|
||||
@ -106,7 +106,7 @@ class TestFfmpegPresets(unittest.TestCase):
|
||||
)
|
||||
|
||||
def test_ffmpeg_hwaccel_rotate_180_preset(self):
|
||||
self.default_ffmpeg["cameras"]["back"]["rotate"] = 180
|
||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"]["rotate"] = 180
|
||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"][
|
||||
"hwaccel_args"
|
||||
] = "preset-rpi-64-h264"
|
||||
@ -125,7 +125,7 @@ class TestFfmpegPresets(unittest.TestCase):
|
||||
)
|
||||
|
||||
def test_ffmpeg_hwaccel_rotate_180_vaapi_preset(self):
|
||||
self.default_ffmpeg["cameras"]["back"]["rotate"] = 180
|
||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"]["rotate"] = 180
|
||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"][
|
||||
"hwaccel_args"
|
||||
] = "preset-vaapi"
|
||||
@ -145,7 +145,7 @@ class TestFfmpegPresets(unittest.TestCase):
|
||||
)
|
||||
|
||||
def test_ffmpeg_hwaccel_rotate_180_qsv_preset(self):
|
||||
self.default_ffmpeg["cameras"]["back"]["rotate"] = 180
|
||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"]["rotate"] = 180
|
||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"][
|
||||
"hwaccel_args"
|
||||
] = "preset-intel-qsv-h264"
|
||||
@ -165,7 +165,7 @@ class TestFfmpegPresets(unittest.TestCase):
|
||||
)
|
||||
|
||||
def test_ffmpeg_hwaccel_rotate_270_preset(self):
|
||||
self.default_ffmpeg["cameras"]["back"]["rotate"] = 270
|
||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"]["rotate"] = 270
|
||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"][
|
||||
"hwaccel_args"
|
||||
] = "preset-nvidia-h264"
|
||||
@ -185,7 +185,7 @@ class TestFfmpegPresets(unittest.TestCase):
|
||||
)
|
||||
|
||||
def test_ffmpeg_hwaccel_rotate_wrong_preset(self):
|
||||
self.default_ffmpeg["cameras"]["back"]["rotate"] = 20
|
||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"]["rotate"] = 20
|
||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"][
|
||||
"hwaccel_args"
|
||||
] = "preset-nvidia-h264"
|
||||
@ -276,7 +276,7 @@ class TestFfmpegPresets(unittest.TestCase):
|
||||
)
|
||||
|
||||
def test_ffmpeg_output_record_rotate_90_preset(self):
|
||||
self.default_ffmpeg["cameras"]["back"]["rotate"] = 90
|
||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"]["rotate"] = 90
|
||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"][
|
||||
"hwaccel_args"
|
||||
] = "preset-nvidia-h264"
|
||||
@ -293,7 +293,7 @@ class TestFfmpegPresets(unittest.TestCase):
|
||||
)
|
||||
|
||||
def test_ffmpeg_output_record_rotate_180_preset(self):
|
||||
self.default_ffmpeg["cameras"]["back"]["rotate"] = 180
|
||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"]["rotate"] = 180
|
||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"][
|
||||
"hwaccel_args"
|
||||
] = "preset-rpi-64-h264"
|
||||
@ -310,7 +310,7 @@ class TestFfmpegPresets(unittest.TestCase):
|
||||
)
|
||||
|
||||
def test_ffmpeg_output_record_rotate_180_vaapi_preset(self):
|
||||
self.default_ffmpeg["cameras"]["back"]["rotate"] = 180
|
||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"]["rotate"] = 180
|
||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"][
|
||||
"hwaccel_args"
|
||||
] = "preset-vaapi"
|
||||
@ -327,7 +327,7 @@ class TestFfmpegPresets(unittest.TestCase):
|
||||
)
|
||||
|
||||
def test_ffmpeg_output_record_rotate_180_qsv_preset(self):
|
||||
self.default_ffmpeg["cameras"]["back"]["rotate"] = 180
|
||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"]["rotate"] = 180
|
||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"][
|
||||
"hwaccel_args"
|
||||
] = "preset-intel-qsv-h264"
|
||||
@ -344,7 +344,7 @@ class TestFfmpegPresets(unittest.TestCase):
|
||||
)
|
||||
|
||||
def test_ffmpeg_output_record_rotate_270_preset(self):
|
||||
self.default_ffmpeg["cameras"]["back"]["rotate"] = 270
|
||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"]["rotate"] = 270
|
||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"][
|
||||
"hwaccel_args"
|
||||
] = "preset-nvidia-h264"
|
||||
@ -361,7 +361,7 @@ class TestFfmpegPresets(unittest.TestCase):
|
||||
)
|
||||
|
||||
def test_ffmpeg_output_record_rotate_wrong_preset(self):
|
||||
self.default_ffmpeg["cameras"]["back"]["rotate"] = 20
|
||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"]["rotate"] = 20
|
||||
self.default_ffmpeg["cameras"]["back"]["ffmpeg"][
|
||||
"hwaccel_args"
|
||||
] = "preset-nvidia-h264"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user