{ "type": [ "object", "null" ], "properties": { "$schema": { "type": [ "string", "null" ] }, "SchemaVersion": { "type": [ "string", "integer" ], "pattern": "^-?(?:0|[1-9]\\d*)$" }, "ToolsOptions": { "type": "object", "properties": { "UseSystem": { "type": "boolean" }, "RootPath": { "type": "string" }, "RootRelative": { "type": "boolean" }, "AutoUpdate": { "type": "boolean" } }, "required": [ "UseSystem", "RootPath", "RootRelative", "AutoUpdate" ] }, "ProcessOptions": { "type": "object", "properties": { "FileIgnoreMasks": { "type": "array", "items": { "type": [ "string", "null" ] } }, "KeepOriginalLanguage": { "type": "boolean" }, "RemoveClosedCaptions": { "type": "boolean" }, "SetIetfLanguageTags": { "type": "boolean" }, "SetTrackFlags": { "type": "boolean" }, "KeepExtensions": { "type": "array", "items": { "type": [ "string", "null" ] } }, "ReMuxExtensions": { "type": "array", "items": { "type": [ "string", "null" ] } }, "ReEncodeVideo": { "type": "array", "items": { "type": [ "object", "null" ], "properties": { "Format": { "type": "string" }, "Codec": { "type": "string" }, "Profile": { "type": "string" } } } }, "ReEncodeAudioFormats": { "type": "array", "items": { "type": [ "string", "null" ] } }, "KeepLanguages": { "type": "array", "items": { "type": [ "string", "null" ] } }, "PreferredAudioFormats": { "type": "array", "items": { "type": [ "string", "null" ] } }, "ReEncodeVideoFormats": { "type": "string" }, "ReEncodeVideoCodecs": { "type": "string" }, "ReEncodeVideoProfiles": { "type": "string" }, "DeleteEmptyFolders": { "type": "boolean" }, "DeleteUnwantedExtensions": { "type": "boolean" }, "ReMux": { "type": "boolean" }, "DeInterlace": { "type": "boolean" }, "ReEncode": { "type": "boolean" }, "SetUnknownLanguage": { "type": "boolean" }, "DefaultLanguage": { "type": "string" }, "RemoveUnwantedLanguageTracks": { "type": "boolean" }, "RemoveDuplicateTracks": { "type": "boolean" }, "RemoveTags": { "type": "boolean" }, "UseSidecarFiles": { "type": "boolean" }, "SidecarUpdateOnToolChange": { "type": "boolean" }, "Verify": { "type": "boolean" }, "RestoreFileTimestamp": { "type": "boolean" }, "FileIgnoreList": { "type": "array", "items": { "type": [ "string", "null" ] } } }, "required": [ "FileIgnoreMasks", "KeepOriginalLanguage", "RemoveClosedCaptions", "SetIetfLanguageTags", "SetTrackFlags", "ReMuxExtensions", "ReEncodeVideo", "ReEncodeAudioFormats", "KeepLanguages", "PreferredAudioFormats", "DeleteEmptyFolders", "DeleteUnwantedExtensions", "ReMux", "DeInterlace", "ReEncode", "SetUnknownLanguage", "DefaultLanguage", "RemoveUnwantedLanguageTracks", "RemoveDuplicateTracks", "RemoveTags", "UseSidecarFiles", "SidecarUpdateOnToolChange", "Verify", "RestoreFileTimestamp", "FileIgnoreList" ] }, "ConvertOptions": { "type": "object", "properties": { "FfMpegOptions": { "type": "object", "properties": { "Video": { "type": "string" }, "Audio": { "type": "string" }, "Global": { "type": "string" }, "Output": { "type": "string" } }, "required": [ "Video", "Audio", "Global" ] }, "HandBrakeOptions": { "type": "object", "properties": { "Video": { "type": "string" }, "Audio": { "type": "string" } }, "required": [ "Video", "Audio" ] }, "EnableH265Encoder": { "type": "boolean" }, "VideoEncodeQuality": { "type": [ "string", "integer" ], "pattern": "^-?(?:0|[1-9]\\d*)$" }, "AudioEncodeCodec": { "type": "string" } }, "required": [ "FfMpegOptions", "HandBrakeOptions" ] }, "VerifyOptions": { "type": "object", "properties": { "AutoRepair": { "type": "boolean" }, "DeleteInvalidFiles": { "type": "boolean" }, "RegisterInvalidFiles": { "type": "boolean" }, "MinimumDuration": { "type": [ "string", "integer" ], "pattern": "^-?(?:0|[1-9]\\d*)$" }, "VerifyDuration": { "type": [ "string", "integer" ], "pattern": "^-?(?:0|[1-9]\\d*)$" }, "IdetDuration": { "type": [ "string", "integer" ], "pattern": "^-?(?:0|[1-9]\\d*)$" }, "MaximumBitrate": { "type": [ "string", "integer" ], "pattern": "^-?(?:0|[1-9]\\d*)$" }, "MinimumFileAge": { "type": [ "string", "integer" ], "pattern": "^-?(?:0|[1-9]\\d*)$" } }, "required": [ "AutoRepair", "DeleteInvalidFiles", "RegisterInvalidFiles", "MaximumBitrate" ] } }, "required": [ "SchemaVersion", "ToolsOptions", "ProcessOptions", "ConvertOptions", "VerifyOptions" ], "title": "PlexCleaner Configuration Schema", "$id": "https://raw.githubusercontent.com/ptr727/PlexCleaner/main/PlexCleaner.schema.json", "$schema": "https://json-schema.org/draft/2020-12/schema" }