mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-04-05 14:47:40 +03:00
Filter presets based on hardware
This commit is contained in:
parent
38e1eee5b2
commit
c1e51fb76c
@ -5,6 +5,7 @@ import copy
|
|||||||
import json
|
import json
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
|
import platform
|
||||||
import traceback
|
import traceback
|
||||||
import urllib
|
import urllib
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
@ -246,19 +247,26 @@ def get_active_profile(request: Request):
|
|||||||
@router.get("/ffmpeg/presets", dependencies=[Depends(allow_any_authenticated())])
|
@router.get("/ffmpeg/presets", dependencies=[Depends(allow_any_authenticated())])
|
||||||
def ffmpeg_presets():
|
def ffmpeg_presets():
|
||||||
"""Return available ffmpeg preset keys for config UI usage."""
|
"""Return available ffmpeg preset keys for config UI usage."""
|
||||||
|
machine = platform.machine().lower()
|
||||||
|
is_arm64 = machine in ("aarch64", "arm64", "armv8", "armv7l")
|
||||||
|
|
||||||
|
if is_arm64:
|
||||||
|
hwaccel_presets = [
|
||||||
|
"preset-rpi-64-h264",
|
||||||
|
"preset-rpi-64-h265",
|
||||||
|
"preset-jetson-h264",
|
||||||
|
"preset-jetson-h265",
|
||||||
|
"preset-rkmpp",
|
||||||
|
"preset-vaapi",
|
||||||
|
]
|
||||||
|
else:
|
||||||
|
hwaccel_presets = [
|
||||||
|
"preset-vaapi",
|
||||||
|
"preset-intel-qsv-h264",
|
||||||
|
"preset-intel-qsv-h265",
|
||||||
|
"preset-nvidia",
|
||||||
|
]
|
||||||
|
|
||||||
# Whitelist based on documented presets in ffmpeg_presets.md
|
|
||||||
hwaccel_presets = [
|
|
||||||
"preset-rpi-64-h264",
|
|
||||||
"preset-rpi-64-h265",
|
|
||||||
"preset-vaapi",
|
|
||||||
"preset-intel-qsv-h264",
|
|
||||||
"preset-intel-qsv-h265",
|
|
||||||
"preset-nvidia",
|
|
||||||
"preset-jetson-h264",
|
|
||||||
"preset-jetson-h265",
|
|
||||||
"preset-rkmpp",
|
|
||||||
]
|
|
||||||
input_presets = [
|
input_presets = [
|
||||||
"preset-http-jpeg-generic",
|
"preset-http-jpeg-generic",
|
||||||
"preset-http-mjpeg-generic",
|
"preset-http-mjpeg-generic",
|
||||||
|
|||||||
@ -1321,12 +1321,12 @@
|
|||||||
"selectPreset": "Select preset",
|
"selectPreset": "Select preset",
|
||||||
"manualPlaceholder": "Enter FFmpeg arguments",
|
"manualPlaceholder": "Enter FFmpeg arguments",
|
||||||
"presetLabels": {
|
"presetLabels": {
|
||||||
"preset-rpi-64-h264": "Raspberry Pi 64-bit (H.264)",
|
"preset-rpi-64-h264": "Raspberry Pi (H.264)",
|
||||||
"preset-rpi-64-h265": "Raspberry Pi 64-bit (H.265)",
|
"preset-rpi-64-h265": "Raspberry Pi (H.265)",
|
||||||
"preset-vaapi": "VAAPI",
|
"preset-vaapi": "VAAPI (Intel/AMD GPU)",
|
||||||
"preset-intel-qsv-h264": "Intel QSV (H.264)",
|
"preset-intel-qsv-h264": "Intel QuickSync (H.264)",
|
||||||
"preset-intel-qsv-h265": "Intel QSV (H.265)",
|
"preset-intel-qsv-h265": "Intel QuickSync (H.265)",
|
||||||
"preset-nvidia": "NVIDIA",
|
"preset-nvidia": "NVIDIA GPU",
|
||||||
"preset-jetson-h264": "NVIDIA Jetson (H.264)",
|
"preset-jetson-h264": "NVIDIA Jetson (H.264)",
|
||||||
"preset-jetson-h265": "NVIDIA Jetson (H.265)",
|
"preset-jetson-h265": "NVIDIA Jetson (H.265)",
|
||||||
"preset-rkmpp": "Rockchip RKMPP"
|
"preset-rkmpp": "Rockchip RKMPP"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user