mirror of
https://github.com/revenz/FileFlowsPlugins.git
synced 2026-05-20 05:58:44 -05:00
FF-1878: added option to keep ffmpeg builder model
This commit is contained in:
@@ -58,6 +58,12 @@ public class FfmpegBuilderExecutor: FfmpegBuilderNode
|
||||
[DefaultValue("experimental")]
|
||||
[Select(nameof(StrictOptions), 2)]
|
||||
public string Strictness { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets if the FFmpeg model should be kept
|
||||
/// </summary>
|
||||
[Boolean(3)]
|
||||
public bool KeepModel { get; set; }
|
||||
|
||||
private static List<ListOption>? _StrictOptions;
|
||||
/// <summary>
|
||||
@@ -170,8 +176,13 @@ public class FfmpegBuilderExecutor: FfmpegBuilderNode
|
||||
ffArgs.AddRange(model.MetadataParameters);
|
||||
}
|
||||
|
||||
if (model.ForceEncode == false && hasChange == false && (string.IsNullOrWhiteSpace(model.Extension) || args.WorkingFile.ToLower().EndsWith("." + model.Extension.ToLower())))
|
||||
return 2; // nothing to do
|
||||
if (model.ForceEncode == false && hasChange == false && (string.IsNullOrWhiteSpace(model.Extension) ||
|
||||
args.WorkingFile.ToLower()
|
||||
.EndsWith("." + model.Extension.ToLower())))
|
||||
{
|
||||
DoClearModel();
|
||||
return 2; // nothing to do
|
||||
}
|
||||
|
||||
var localFile = args.FileService.GetLocalPath(args.WorkingFile);
|
||||
if (localFile.IsFailed)
|
||||
@@ -373,10 +384,23 @@ public class FfmpegBuilderExecutor: FfmpegBuilderNode
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
DoClearModel();
|
||||
return 1;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Checks if the model should be kept and if not, clears it
|
||||
/// </summary>
|
||||
private void DoClearModel()
|
||||
{
|
||||
if (KeepModel)
|
||||
return;
|
||||
Args.Logger?.ILog("Clearing FFMPEG Builder Model");
|
||||
|
||||
if(Variables.ContainsKey(MODEL_KEY))
|
||||
Variables.Remove(MODEL_KEY);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets if hardware decoding should be used
|
||||
/// </summary>
|
||||
|
||||
@@ -384,6 +384,8 @@
|
||||
"Fields": {
|
||||
"HardwareDecoding": "Hardware Decoding",
|
||||
"HardwareDecoding-Help": "Wenn der Executor versuchen soll, die Hardware-Dekodierung zu verwenden. Falls nicht verfügbar, wird die Ausführung ohne aktivierte Hardware-Dekodierung fortgesetzt.",
|
||||
"KeepModel": "Modell behalten",
|
||||
"KeepModel-Help": "Bestimmt, ob das FFmpeg-Builder-Modell, das zur Erstellung des FFmpeg-Befehls verwendet wurde, beibehalten werden soll. Wenn deaktiviert, wird das Modell nach erfolgreicher Ausführung des Flusselements (d. h. ohne Fehler) entfernt.",
|
||||
"Strictness": "Strikt",
|
||||
"Strictness-Help": "Ermöglicht es Ihnen, die Strenge von FFmpeg einzustellen. Für die meisten Benutzer sollte diese Einstellung auf 'Experimentell' belassen werden."
|
||||
},
|
||||
|
||||
@@ -384,6 +384,8 @@
|
||||
"Fields": {
|
||||
"HardwareDecoding": "Hardware Decoding",
|
||||
"HardwareDecoding-Help": "If the executor should attempt to use hardware decoding. If not available the execution will proceed just without hardware decoding enabled.",
|
||||
"KeepModel": "Keep Model",
|
||||
"KeepModel-Help": "Determines whether to retain the FFmpeg Builder model used to construct the FFmpeg command. When disabled, the model will be removed after the flow element successfully completes (i.e., no failure occurs).",
|
||||
"Strictness": "Strictness",
|
||||
"Strictness-Help": "Allows you to customize the strictness of FFmpeg. This should be left on 'Experimental' for most users."
|
||||
},
|
||||
|
||||
@@ -384,6 +384,8 @@
|
||||
"Fields": {
|
||||
"HardwareDecoding": "Decodificación por Hardware",
|
||||
"HardwareDecoding-Help": "Si el ejecutor debe intentar usar la decodificación por hardware. Si no está disponible, la ejecución procederá sin la decodificación por hardware habilitada.",
|
||||
"KeepModel": "Mantener Modelo",
|
||||
"KeepModel-Help": "Determina si se debe conservar el modelo del constructor de FFmpeg utilizado para construir el comando FFmpeg. Si está deshabilitado, el modelo se eliminará una vez que el elemento de flujo se complete con éxito (es decir, sin errores).",
|
||||
"Strictness": "Estrictidad",
|
||||
"Strictness-Help": "Le permite personalizar la estrictidad de FFmpeg. Esto debe dejarse en 'Experimental' para la mayoría de los usuarios."
|
||||
},
|
||||
|
||||
@@ -384,6 +384,8 @@
|
||||
"Fields": {
|
||||
"HardwareDecoding": "Décodage Matériel",
|
||||
"HardwareDecoding-Help": "Si l'exécuteur doit essayer d'utiliser le décodage matériel. Si non disponible, l'exécution se poursuivra sans le décodage matériel activé.",
|
||||
"KeepModel": "Conserver le modèle",
|
||||
"KeepModel-Help": "Détermine si le modèle FFmpeg Builder utilisé pour construire la commande FFmpeg doit être conservé. Si désactivé, le modèle sera supprimé après l'exécution réussie de l'élément de flux (c.-à-d., sans échec).",
|
||||
"Strictness": "Rigueur",
|
||||
"Strictness-Help": "Vous permet de personnaliser la rigueur de FFmpeg. Cela doit être laissé sur 'Expérimental' pour la plupart des utilisateurs."
|
||||
},
|
||||
|
||||
@@ -384,6 +384,8 @@
|
||||
"Fields": {
|
||||
"HardwareDecoding": "Decodifica Hardware",
|
||||
"HardwareDecoding-Help": "Se l'esecutore dovrebbe tentare di utilizzare la decodifica hardware. Se non disponibile, l'esecuzione procederà senza la decodifica hardware attivata.",
|
||||
"KeepModel": "Mantieni Modello",
|
||||
"KeepModel-Help": "Determina se mantenere il modello del costruttore FFmpeg utilizzato per creare il comando FFmpeg. Se disattivato, il modello verrà rimosso dopo che l'elemento del flusso è stato completato con successo (cioè, senza errori).",
|
||||
"Strictness": "Rigorosità",
|
||||
"Strictness-Help": "Ti consente di personalizzare la rigorosità di FFmpeg. Questo dovrebbe essere lasciato su 'Sperimentale' per la maggior parte degli utenti."
|
||||
},
|
||||
|
||||
@@ -384,6 +384,8 @@
|
||||
"Fields": {
|
||||
"HardwareDecoding": "ハードウェアデコーディング",
|
||||
"HardwareDecoding-Help": "エグゼキュータがハードウェアデコーディングを使用しようとすべきかどうか。利用できない場合は、ハードウェアデコーディングが無効のまま実行されます。",
|
||||
"KeepModel": "モデルを保持",
|
||||
"KeepModel-Help": "FFmpegコマンドを作成するために使用されたFFmpegビルダーモデルを保持するかどうかを決定します。無効にすると、フロー要素が正常に実行された後(失敗がない場合)、モデルは削除されます。",
|
||||
"Strictness": "厳格さ",
|
||||
"Strictness-Help": "FFmpegの厳格さをカスタマイズできます。ほとんどのユーザーは「実験的」のままにするべきです。"
|
||||
},
|
||||
|
||||
@@ -384,6 +384,8 @@
|
||||
"Fields": {
|
||||
"HardwareDecoding": "하드웨어 디코딩",
|
||||
"HardwareDecoding-Help": "실행기가 하드웨어 디코딩을 사용하려고 시도해야 하는지 여부입니다. 사용 불가능한 경우, 하드웨어 디코딩이 비활성화된 상태로 실행이 진행됩니다.",
|
||||
"KeepModel": "모델 유지",
|
||||
"KeepModel-Help": "FFmpeg 명령어를 구성하기 위해 사용된 FFmpeg 빌더 모델을 유지할지 여부를 결정합니다. 비활성화되면, 플로우 요소가 성공적으로 완료되면(즉, 실패하지 않으면) 모델이 제거됩니다.",
|
||||
"Strictness": "엄격성",
|
||||
"Strictness-Help": "FFmpeg의 엄격성을 사용자 정의할 수 있습니다. 대부분의 사용자에게는 '실험적'으로 두는 것이 좋습니다."
|
||||
},
|
||||
|
||||
@@ -384,6 +384,8 @@
|
||||
"Fields": {
|
||||
"HardwareDecoding": "Hardware Decoding",
|
||||
"HardwareDecoding-Help": "Of de executor moet proberen hardwaredecodering te gebruiken. Als deze niet beschikbaar is, gaat de uitvoering gewoon door zonder hardwaredecodering ingeschakeld.",
|
||||
"KeepModel": "Model behouden",
|
||||
"KeepModel-Help": "Bepaalt of het FFmpeg Builder-model dat wordt gebruikt om het FFmpeg-commando op te bouwen, behouden moet blijven. Als deze optie is uitgeschakeld, wordt het model verwijderd nadat het flow-element met succes is voltooid (dwz geen fouten).",
|
||||
"Strictness": "Striktheid",
|
||||
"Strictness-Help": "Stelt u in staat de striktheid van FFmpeg aan te passen. Dit moet voor de meeste gebruikers op 'Experimenteel' blijven staan."
|
||||
},
|
||||
|
||||
@@ -384,6 +384,8 @@
|
||||
"Fields": {
|
||||
"HardwareDecoding": "Decodificação de Hardware",
|
||||
"HardwareDecoding-Help": "Se o executor deve tentar usar a decodificação por hardware. Se não estiver disponível, a execução continuará sem a decodificação por hardware ativada.",
|
||||
"KeepModel": "Manter Modelo",
|
||||
"KeepModel-Help": "Determina se o modelo do FFmpeg Builder usado para construir o comando FFmpeg deve ser mantido. Quando desativado, o modelo será removido após a conclusão bem-sucedida do elemento de fluxo (ou seja, sem falhas).",
|
||||
"Strictness": "Rigor",
|
||||
"Strictness-Help": "Permite personalizar o rigor do FFmpeg. Isso deve ser deixado em 'Experimental' para a maioria dos usuários."
|
||||
},
|
||||
|
||||
@@ -384,6 +384,8 @@
|
||||
"Fields": {
|
||||
"HardwareDecoding": "Аппаратное декодирование",
|
||||
"HardwareDecoding-Help": "Если исполнитель должен пытаться использовать аппаратное декодирование. Если оно недоступно, выполнение будет продолжаться без включенного аппаратного декодирования.",
|
||||
"KeepModel": "Сохранить модель",
|
||||
"KeepModel-Help": "Определяет, следует ли сохранять модель FFmpeg Builder, используемую для построения команды FFmpeg. Если опция отключена, модель будет удалена после успешного выполнения элемента потока (т.е. без ошибок).",
|
||||
"Strictness": "Строгость",
|
||||
"Strictness-Help": "Позволяет настраивать строгость FFmpeg. Для большинства пользователей это следует оставить на 'Экспериментальном'."
|
||||
},
|
||||
|
||||
@@ -384,6 +384,8 @@
|
||||
"Fields": {
|
||||
"HardwareDecoding": "Hårdvaruavkodning",
|
||||
"HardwareDecoding-Help": "Om exekutorn ska försöka använda hårdvaruavkodning. Om inte tillgängligt kommer exekveringen att fortsätta utan att hårdvaruavkodning är aktiverad.",
|
||||
"KeepModel": "Behåll Modell",
|
||||
"KeepModel-Help": "Anger om FFmpeg Builder-modellen som används för att skapa FFmpeg-kommandot ska behållas. När inaktiverad kommer modellen att tas bort efter att flödeselementet har slutförts framgångsrikt (dvs. utan fel).",
|
||||
"Strictness": "Strikthet",
|
||||
"Strictness-Help": "Ger dig möjlighet att anpassa strängheten hos FFmpeg. Detta bör lämnas på 'Experimentell' för de flesta användare."
|
||||
},
|
||||
|
||||
@@ -384,6 +384,8 @@
|
||||
"Fields": {
|
||||
"HardwareDecoding": "硬件解码",
|
||||
"HardwareDecoding-Help": "执行器是否应尝试使用硬件解码。如果不可用,则执行将继续,只是不启用硬件解码。",
|
||||
"KeepModel": "保留模型",
|
||||
"KeepModel-Help": "确定是否保留用于构建FFmpeg命令的FFmpeg构建器模型。如果禁用,流元素成功执行后(即没有失败)模型将被删除。",
|
||||
"Strictness": "严格性",
|
||||
"Strictness-Help": "允许您自定义 FFmpeg 的严格性。对于大多数用户,应保持在“实验”状态。"
|
||||
},
|
||||
|
||||
@@ -384,6 +384,8 @@
|
||||
"Fields": {
|
||||
"HardwareDecoding": "硬體解碼",
|
||||
"HardwareDecoding-Help": "執行者是否應嘗試使用硬體解碼。若不可用,執行將正常進行,但不啟用硬體解碼。",
|
||||
"KeepModel": "保留模型",
|
||||
"KeepModel-Help": "決定是否保留用於構建FFmpeg命令的FFmpeg構建器模型。禁用後,流元素成功執行後(即沒有失敗)模型將被刪除。",
|
||||
"Strictness": "嚴格性",
|
||||
"Strictness-Help": "允許您自定義 FFmpeg 的嚴格性。對於大多數用戶,應將其保留為「實驗性」。"
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user