Add ConvertAnimatedJob (EJobType.AnimatedConversion) targeting image/gif assets: extracts a static WebP first-frame thumbnail and converts the full animation to mp4/H.264, leaving originals untouched. New ConvertedPath/ ConvertedFormat/FfmpegPath settings, PathUtils extension parameter, FfmpegRunner helper, and Dockerfile ffmpeg install. Thumbnail/preview jobs now skip GIFs (handled by the conversion job) and IntegrityCheck validates converted outputs. Failed conversions are marked broken. Refs #181
163 lines
3.5 KiB
JSON
163 lines
3.5 KiB
JSON
[
|
|
{
|
|
"Name": "User Registration Enabled",
|
|
"Value": "false",
|
|
"Description": "Sets if user registration is enabled or not.",
|
|
"Type": 2,
|
|
"DisplayType": 5
|
|
},
|
|
{
|
|
"Name": "Folder Scan Enabled",
|
|
"Value": "true",
|
|
"Description": "Sets if the folder scan service should be running or not.",
|
|
"Type": 2,
|
|
"DisplayType": 5
|
|
},
|
|
{
|
|
"Name": "Folder Scan Interval",
|
|
"Value": "",
|
|
"Description": "Time interval (minutes) after the previous scan has finished before a new folder scan is started.",
|
|
"Type": 4,
|
|
"DisplayType": 7,
|
|
"Options": [
|
|
"5",
|
|
"360",
|
|
"5"
|
|
]
|
|
},
|
|
{
|
|
"Name": "File Upload Enabled",
|
|
"Value": "false",
|
|
"Description": "NOT IMPLEMENTED YET: Sets if the file upload service should be running or not.",
|
|
"Type": 2,
|
|
"DisplayType": 5
|
|
},
|
|
{
|
|
"Name": "File Upload MaxSize",
|
|
"Value": "0",
|
|
"Description": "Max file size for uploads in bytes.",
|
|
"Type": 1,
|
|
"DisplayType": 2
|
|
},
|
|
{
|
|
"Name": "Thumbnail Path",
|
|
"Value": "",
|
|
"Description": "Path where thumbnails are stored.",
|
|
"Type": 0,
|
|
"DisplayType": 0
|
|
},
|
|
{
|
|
"Name": "Preview Path",
|
|
"Value": "",
|
|
"Description": "Path where thumbnails are stored.",
|
|
"Type": 0,
|
|
"DisplayType": 0
|
|
},
|
|
{
|
|
"Name": "Thumbnail Size",
|
|
"Value": "512",
|
|
"Description": "Size for longest side of the thumbnail in pixels.",
|
|
"Type": 1,
|
|
"DisplayType": 8,
|
|
"Options": [
|
|
"64",
|
|
"1024",
|
|
"1"
|
|
]
|
|
},
|
|
{
|
|
"Name": "Preview Size",
|
|
"Value": "2048",
|
|
"Description": "Size for longest side of the preview in pixels.",
|
|
"Type": 1,
|
|
"DisplayType": 8,
|
|
"Options": [
|
|
"256",
|
|
"4096",
|
|
"1"
|
|
]
|
|
},
|
|
{
|
|
"Name": "Max Concurrent Jobs",
|
|
"Value": "4",
|
|
"Description": "Max number of concurrent jobs",
|
|
"Type": 1,
|
|
"DisplayType": 2,
|
|
"Options": [
|
|
"1",
|
|
"32",
|
|
"1"
|
|
]
|
|
},
|
|
{
|
|
"Name": "Job Retention Days",
|
|
"Value": "30",
|
|
"Description": "Number of days to keep completed/failed/canceled jobs before automatic cleanup.",
|
|
"Type": 1,
|
|
"DisplayType": 2,
|
|
"Options": [
|
|
"1",
|
|
"365",
|
|
"1"
|
|
]
|
|
},
|
|
{
|
|
"Name": "Thumbnail Quality",
|
|
"Value": "75",
|
|
"Description": "WebP encoding quality for thumbnails (1-100).",
|
|
"Type": 1,
|
|
"DisplayType": 7,
|
|
"Options": [
|
|
"1",
|
|
"100",
|
|
"1"
|
|
]
|
|
},
|
|
{
|
|
"Name": "Preview Quality",
|
|
"Value": "85",
|
|
"Description": "WebP encoding quality for previews (1-100).",
|
|
"Type": 1,
|
|
"DisplayType": 7,
|
|
"Options": [
|
|
"1",
|
|
"100",
|
|
"1"
|
|
]
|
|
},
|
|
{
|
|
"Name": "Converted Path",
|
|
"Value": "",
|
|
"Description": "Path where converted videos for animated assets (GIF -> mp4) are stored.",
|
|
"Type": 0,
|
|
"DisplayType": 0
|
|
},
|
|
{
|
|
"Name": "Converted Format",
|
|
"Value": "mp4",
|
|
"Description": "Container format for converted videos (e.g. mp4).",
|
|
"Type": 0,
|
|
"DisplayType": 0
|
|
},
|
|
{
|
|
"Name": "FFmpeg Path",
|
|
"Value": "ffmpeg",
|
|
"Description": "Path to the ffmpeg executable. Defaults to 'ffmpeg' on PATH.",
|
|
"Type": 0,
|
|
"DisplayType": 0
|
|
},
|
|
{
|
|
"Name": "Job Batch Size",
|
|
"Value": "200",
|
|
"Description": "Number of assets to process per sub-job batch.",
|
|
"Type": 1,
|
|
"DisplayType": 2
|
|
},
|
|
{
|
|
"Name": "System Uploader Id",
|
|
"Value": "",
|
|
"Description": "User ID to attribute scanner-created assets to. Leave empty for no default owner.",
|
|
"Type": 0,
|
|
"DisplayType": 9
|
|
}
|
|
] |