mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-03 09:45:22 +03:00
Use hwaccel presets
This commit is contained in:
parent
3ea50c9584
commit
911fc2d08e
@ -25,6 +25,7 @@ from frigate.util import (
|
||||
load_config_with_no_duplicates,
|
||||
load_labels,
|
||||
)
|
||||
from frigate.ffmpeg_presets import parse_preset_hardware_acceleration
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
@ -689,7 +690,7 @@ class CameraConfig(FrigateBaseModel):
|
||||
return None
|
||||
|
||||
global_args = ffmpeg_input.global_args or self.ffmpeg.global_args
|
||||
hwaccel_args = ffmpeg_input.hwaccel_args or self.ffmpeg.hwaccel_args
|
||||
hwaccel_args = ffmpeg_input.hwaccel_args or parse_preset_hardware_acceleration(self.ffmpeg.hwaccel_args) or self.ffmpeg.hwaccel_args
|
||||
input_args = ffmpeg_input.input_args or self.ffmpeg.input_args
|
||||
|
||||
global_args = (
|
||||
|
||||
@ -1,8 +1,11 @@
|
||||
"""Handles inserting and maintaining ffmpeg presets."""
|
||||
|
||||
from typing import Any
|
||||
|
||||
|
||||
PRESETS_HW_ACCEL = {
|
||||
"preset-rpi-32": "-c:v h264_v4l2m2m",
|
||||
"preset-rpi-64": "-c:v h264_v4l2m2m",
|
||||
"preset-rpi-32-h264": "-c:v h264_v4l2m2m",
|
||||
"preset-rpi-64-h264": "-c:v h264_v4l2m2m",
|
||||
"preset-intel-vaapi": "-hwaccel vaapi -hwaccel_device /dev/dri/renderD128 -hwaccel_output_format yuv420p",
|
||||
"preset-intel-qsv-h264": "-c:v h264_qsv",
|
||||
"preset-intel-qsv-h265": "-c:v hevc_qsv",
|
||||
@ -10,3 +13,10 @@ PRESETS_HW_ACCEL = {
|
||||
"preset-nvidia-h264": "-c:v h264_cuvid",
|
||||
"preset-nvidia-h265": "-c:v hevc_cuvid",
|
||||
}
|
||||
|
||||
def parse_preset_hardware_acceleration(arg: Any) -> str:
|
||||
"""Return the correct preset if in preset format otherwise return raw input."""
|
||||
if not isinstance(arg, str):
|
||||
return None
|
||||
|
||||
return PRESETS_HW_ACCEL.get(arg, None)
|
||||
Loading…
Reference in New Issue
Block a user