Skulle indstillingen CustomCommandCritical=true ikke få processen til at fejle? Jeg har den sat i profilen og har “strict” markeret, men den ignorerer bare scriptets returværdi på 1 og fortsætter med at behandle filen.
Dette er den seneste profil, jeg bruger, og jeg har MCEBuddy 2.5 Beta 6.
[Move Movie Only]
Description=Just Copy
order=copy
copy-ext=.ts
copy-remuxto=.mkv
copy-audiodelay=skip
ffmpeg-VideoOptimized=true
ffmpeg-AudioOptimized=true
copy-VideoOptimized=true
copy-AudioOptimized=true
CustomCommandPath=C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
CustomCommandParameters= -File “e:\plex\convertHdr10+ToAV1.ps1” -InputFile “%sourcefile%”
CustomCommandHangPeriod=0
CustomCommandCritical=true
CustomCommandUISession=true
Thanks for providing that information, Dan.
It’s interesting that even with CustomCommandCritical=true and MCEBuddy 2.5 Beta 6, it’s still not failing. The Move Movie Only profile seems straightforward.
Could you also provide the contents of your convertHdr10+ToAV1.ps1 script, specifically how it’s returning the error code? I want to ensure the PowerShell script is indeed returning a non-zero exit code in a way that MCEBuddy can interpret.
For example, in PowerShell, you might use exit 1 to return an error. If the script is ending without an explicit exit command, it might be implicitly returning 0.
Her er nogle relevante oplysninger fra logfilen:
2025-08-23T11:07:27 MCEBuddy.AppWrapper.Base → Oprydningsresumé: 0 fjernet, 0 mislykkedes
2025-08-23T11:07:27 MCEBuddy.AppWrapper.Base → Rydder op i udpakkede undertekstfiler…
2025-08-23T11:07:27 MCEBuddy.AppWrapper.Base → Fjernede den aktuelle instansmarkør: W:\Temp\VideoProcessing_Instances\convertHdr10+ToAV1.52988.marker
2025-08-23T11:07:27 MCEBuddy.AppWrapper.Base → Oprydningshåndteringer afregistreret
→ Proces afsluttet med kode 1
2025-08-23T11:07:30 MCEBuddy.Engine.ConversionJob → Færdig med brugerdefineret kommando, filstørrelse [KB] 62.040.758,00
INFORMATION> 2025-08-23T11:07:30 MCEBuddy.Engine.ConversionJob → Flytter konverteret fil til destination
Kan du vedhæfte hele konverteringsloggen. Nogle af meddelelserne i loggen ovenfor genkender jeg ikke som værende fra MCEBuddy - kan du bekræfte, at de kommer fra dit script?
Hvis du kan dele dit script, ville det være fantastisk, så vi kan genskabe din opsætning og se, hvad der foregår.
Mit nuværende script er lidt af et monster.
Det er mit sideprojekt for at forsøge at løse alle plex-problemer. Det er vokset til omkring 5k kodelinjer, men det løser endelig problemerne med sort skærm, Dolby Vision-problemer, 10-sekunders startforsinkelse og genbuffering. ![]()
Jeg fandt en midlertidig løsning til manuelt at flytte filen til min fejlmappe. Plex registrerer, at filen er væk, og markerer den derefter som en fejl.
Jeg har slettet logfilerne fra mine mislykkede kørsler. Ved den næste kørsel, der fejler, vedhæfter jeg logfilen igen. Jeg kan se, at al output fra mit script vises i logfilerne med “mcebuddy.appwrapper.base”
2025-08-24T07:14:53 MCEBuddy.AppWrapper.Base → Plex Optimizations Enabled:
2025-08-24T07:14:53 MCEBuddy.AppWrapper.Base → Fragmented MP4 with faststart
2025-08-24T07:14:53 MCEBuddy.AppWrapper.Base → 2-second keyframe intervals for smooth seeking
2025-08-24T07:14:53 MCEBuddy.AppWrapper.Base → Conservative HEVC levels for device compatibility
2025-08-24T07:14:53 MCEBuddy.AppWrapper.Base → SRT subtitle conversion for better compatibility
2025-08-24T07:14:53 MCEBuddy.AppWrapper.Base → HDR metadata preservation for 4K HDR content
2025-08-24T07:14:53 MCEBuddy.AppWrapper.Base → Audio streams: Selected best stream
2025-08-24T07:14:53 MCEBuddy.AppWrapper.Base → Subtitle streams: 0 to convert, 0 to copy, 3 ignored
2025-08-24T07:14:53 MCEBuddy.AppWrapper.Base → Scanning for external subtitle files…
2025-08-24T07:14:53 MCEBuddy.AppWrapper.Base → No external English subtitle files found
Her er den relevante del fra mit script:
} catch {
Write-Error "Processing failed: $\\_"
Write-Error "Stack trace: $($\\_.ScriptStackTrace)"
\# --- START OF NEW LOGIC ---
\# Move the failed input file to the specified folder
try {
if (-not (Test-Path $FailedFolder)) {
New-Item -Path $FailedFolder -ItemType Directory -Force | Out-Null
Write-Host "Created failed folder at '$FailedFolder'" -ForegroundColor Yellow
}
$destinationPath = Join-Path $FailedFolder (Split-Path $InputFile -Leaf)
Move-Item -Path $InputFile -Destination $destinationPath -Force
Write-Host "Moved failed file '$InputFile' to '$destinationPath'" -ForegroundColor Red
} catch {
Write-Error "Failed to move the file to the failed folder: $\\_"
}
\# --- END OF NEW LOGIC ---
\# Ensure cleanup on error
if ($spaceMonitorJob) { Stop-SpaceMonitoringWithCleanup -MonitorJob $spaceMonitorJob }
Stop-ActiveProcesses
Clear-TempFiles
Clear-ExtractedSubtitles
exit 1
} finally {
\# Final cleanup - FIXED to use improved cleanup function
if ($spaceMonitorJob) { Stop-SpaceMonitoringWithCleanup -MonitorJob $spaceMonitorJob }
Stop-ActiveProcesses
Clear-TempFiles
Clear-ExtractedSubtitles
Remove-CurrentInstanceMarker
\# Clear any remaining progress indicators
$progressActivities = @("Video Processing", "Video encoding", "Extract HDR10+ metadata",
"Inject HDR10+ metadata", "MP4 containerization", "Final MKV remux", "Quality Validation")
foreach ($activity in $progressActivities) {
Write-Progress -Activity $activity -Completed
}
\# Unregister event handlers
if ($Script:CleanupRegistered) {
try {
Get-EventSubscriber | Where-Object { $\\_.SourceIdentifier -match "PowerShell.Exiting|ProcessExit" } | Unregister-Event -ErrorAction SilentlyContinue
Write-Host "Cleanup handlers unregistered" -ForegroundColor Gray
}
catch {
\# Ignore cleanup errors during shutdown
}
}
}
Write-Host “Processing completed successfully!” -ForegroundColor Green
exit 0
Her er en log fra et kørsel, der mislykkedes elendigt
på grund af et kodningsproblem i mit script. Men det viser, at scriptet mislykkedes, men mcebuddy fortsatte.
Jeg kan se problemet, din profil har ikke instrueret den brugerdefinerede kommando i at kontrollere exit-koden:
2025-08-24T10:54:25 MCEBuddy.Transcode.CustomCommand → Er ved at køre brugerdefineret kommando med parametre:
PreCustomCommandPath = c:\\windows\\system32\\windowspowershell\\v1.0\\powershell.exe
PreCustomCommandParameters = -File “e:\\plex\\convertHdr10+ToAV1.ps1” -InputFile “E:\\Radarr\\Guardians of the Galaxy (2014)\\Guardians of the Galaxy (2014).mkv”
PreCustomCommandHangPeriod = 0
PreCustomCommandCritical = True
PreCustomCommandUISession = True
PreCustomCommandShowWindow = True
PreCustomCommandExitCodeCheck = False
Du skal indstilleCustomCommandExitCodeChecktiltruei profilen, hvis du vil have MCEBuddy til at se på exit-koderne.CustomCommandCriticalser kun på afbrydelser og problemer med selve processen og ser ikke på retur- eller exit-koderne.
Fra dokumentationen for brugerdefinerede kommandoer: MCEBuddy - Advanced Settings, Commands and Tweaking
CustomCommandCritical, når denne er indstillet til true, vil MCEBuddy fejle hele konverteringen, hvis den brugerdefinerede kommando er ugyldig, eller hvis processen afbrydes (på grund af hænge-detektion). Hvis den er indstillet til false, vil MCEBuddy fortsætte med konverteringsbehandlingen uanset fejl/succes i den brugerdefinerede kommando, MEDMINDRE den konverterede fil er blevet omdøbt eller slettet. Som standard er værdien false.
CustomCommandExitCodeCheck(v2.4.1+) er indstillet til true, hvis du ønsker, at MCEBuddy skal kontrollere Exit Code for den brugerdefinerede kommandoapplikation. Hvis returkoden er 0 (standard), betragtes det som en succes, hvis den ikke er 0 (+ve eller -ve), betragtes det som en fejl. Hvis Exit Code fejler, stopper MCEBuddy yderligere behandling og fejler konverteringen.
Tak! Jeg må enten have sovet eller kigget på ældre informationer, men jeg missede det fuldstændig.