Vraag over CustomCommandCritical

Moet het instellen van CustomCommandCritical=true niet veroorzaken dat het proces faalt? Ik heb dat ingesteld in het profiel en ik heb “strict” aangevinkt, maar het negeert de scriptretourwaarde van 1 en verwerkt het bestand verder.

Dit is het laatste profiel dat ik gebruik en ik heb MCEBuddy 2.5 Beta 6.

[Move Movie Only]

Description=Alleen kopiëren

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.

Hier is enige relevante informatie uit het logbestand:

2025-08-23T11:07:27 MCEBuddy.AppWrapper.Base → Opsomming van opruiming: 0 verwijderd, 0 mislukt
2025-08-23T11:07:27 MCEBuddy.AppWrapper.Base → Opruimen van uitgepakte ondertitelbestanden…
2025-08-23T11:07:27 MCEBuddy.AppWrapper.Base → Huidige instantiemarkering verwijderd: W:\Temp\VideoProcessing_Instances\convertHdr10+ToAV1.52988.marker
2025-08-23T11:07:27 MCEBuddy.AppWrapper.Base → Opruimhandlers gedeactiveerd
→ Proces beëindigd met code 1
2025-08-23T11:07:30 MCEBuddy.Engine.ConversionJob → Aangepaste opdracht voltooid, bestandsgrootte [KB] 62.040.758,00
INFORMATIE> 2025-08-23T11:07:30 MCEBuddy.Engine.ConversionJob → Geconverteerd bestand wordt naar bestemming verplaatst

Kun je het complete conversielog bijvoegen. Sommige van de berichten in bovenstaand log herken ik niet als afkomstig van MCEBuddy – kun je bevestigen dat ze uit je script komen?

Als je je script kunt delen, zou dat geweldig zijn, zodat we je setup kunnen repliceren en kunnen zien wat er aan de hand is.

Mijn huidige script is nogal een monster. :slight_smile: Het is mijn nevenproject om zo’n beetje alles te doen om Plex-problemen op te lossen. Het is uitgegroeid tot ongeveer 5k regels code, maar het lost eindelijk de problemen met zwarte schermen, Dolby Vision-problemen, de startvertraging van 10 seconden en opnieuw bufferen op. :slight_smile:

Ik heb een tijdelijke oplossing gevonden om het bestand handmatig naar mijn mislukte map te verplaatsen. Plex detecteert dat het bestand weg is en markeert het vervolgens als een fout.

Ik heb de logboeken van mijn mislukte runs verwijderd. Bij de volgende run die mislukt, zal ik het logboek opnieuw bijvoegen. Ik zie dat alle uitvoer van mijn script in de logboeken wordt weergegeven met “mcebuddy.appwrapper.base”

2025-08-24T07:14:53 MCEBuddy.AppWrapper.Base → Plex Optimalisaties Ingeschakeld:
2025-08-24T07:14:53 MCEBuddy.AppWrapper.Base → Gefragmenteerde MP4 met faststart
2025-08-24T07:14:53 MCEBuddy.AppWrapper.Base → 2-seconde keyframe-intervallen voor soepel zoeken
2025-08-24T07:14:53 MCEBuddy.AppWrapper.Base → Conservatieve HEVC-niveaus voor apparaatcompatibiliteit
2025-08-24T07:14:53 MCEBuddy.AppWrapper.Base → SRT-ondertitelconversie voor betere compatibiliteit
2025-08-24T07:14:53 MCEBuddy.AppWrapper.Base → HDR-metadatabehoud voor 4K HDR-inhoud
2025-08-24T07:14:53 MCEBuddy.AppWrapper.Base → Audiostreams: Beste stream geselecteerd
2025-08-24T07:14:53 MCEBuddy.AppWrapper.Base → Ondertitelstreams: 0 te converteren, 0 te kopiëren, 3 genegeerd
2025-08-24T07:14:53 MCEBuddy.AppWrapper.Base → Scannen naar externe ondertitelbestanden…
2025-08-24T07:14:53 MCEBuddy.AppWrapper.Base → Geen externe Engelse ondertitelbestanden gevonden

Hier is het relevante deel uit mijn script:

} catch {

Write-Error "Verwerking mislukt: $\\_"

Write-Error "Stack trace: $($\\_.ScriptStackTrace)"



 \# --- START VAN NIEUWE LOGICA ---

\# Verplaats het mislukte invoerbestand naar de opgegeven map

try {

    if (-not (Test-Path $FailedFolder)) {

        New-Item -Path $FailedFolder -ItemType Directory -Force | Out-Null

        Write-Host "Mislukte map aangemaakt op '$FailedFolder'" -ForegroundColor Yellow

    }

    $destinationPath = Join-Path $FailedFolder (Split-Path $InputFile -Leaf)

    Move-Item -Path $InputFile -Destination $destinationPath -Force

    Write-Host "Mislukt bestand '$InputFile' verplaatst naar '$destinationPath'" -ForegroundColor Red

} catch {

    Write-Error "Kon het bestand niet naar de mislukte map verplaatsen: $\\_"

}

\# --- EINDE VAN NIEUWE LOGICA ---



\# Zorg voor opruiming bij fouten

if ($spaceMonitorJob) { Stop-SpaceMonitoringWithCleanup -MonitorJob $spaceMonitorJob }

Stop-ActiveProcesses

Clear-TempFiles

Clear-ExtractedSubtitles



exit 1

} finally {

\# Definitieve opruiming - GEFIXT om verbeterde opruimfunctie te gebruiken

if ($spaceMonitorJob) { Stop-SpaceMonitoringWithCleanup -MonitorJob $spaceMonitorJob }

Stop-ActiveProcesses

Clear-TempFiles

Clear-ExtractedSubtitles

Remove-CurrentInstanceMarker 



\# Eventuele resterende voortgangsindicatoren wissen

$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

}



\# Event handlers afmelden

if ($Script:CleanupRegistered) {

    try {

        Get-EventSubscriber | Where-Object { $\\_.SourceIdentifier -match "PowerShell.Exiting|ProcessExit" } | Unregister-Event -ErrorAction SilentlyContinue

        Write-Host "Opruimhandlers afgemeld" -ForegroundColor Gray

    }

    catch {

        \# Negeer opruimfouten tijdens afsluiten

    }

}

}

Write-Host “Verwerking succesvol voltooid!” -ForegroundColor Green

exit 0

Hier is een logboek van een uitvoering die jammerlijk mislukte
vanwege een codeerprobleem in mijn script. Maar het toont wel aan dat het script is mislukt, maar mcebuddy ging door.

Ik zie het probleem, uw profiel heeft geen aangepast commando ingesteld om de exitcode te controleren:

2025-08-24T10:54:25 MCEBuddy.Transcode.CustomCommand → Bezig met het uitvoeren van aangepast commando met parameters:
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
U moet CustomCommandExitCodeCheck instellen op true in het profiel als u wilt dat MCEBuddy naar de exitcodes kijkt. CustomCommandCritical kijkt alleen naar beëindigingen en problemen met het proces zelf en kijkt niet naar de retour- of exitcodes.

Van de customcommand documentatie: MCEBuddy - Advanced Settings, Commands and Tweaking

CustomCommandCritical, wanneer dit op true is ingesteld, zal MCEBuddy de gehele conversie laten mislukken als het aangepaste commando ongeldig is of als het proces wordt beëindigd (vanwege detectie van vastlopen). Als het op false is ingesteld, zal MCEBuddy doorgaan met de conversieverwerking, ongeacht het mislukken/succes van het aangepaste commando, TENZIJ het geconverteerde bestand is hernoemd of verwijderd. Standaard is de waarde false.

CustomCommandExitCodeCheck(v2.4.1+) wordt ingesteld op true als u wilt dat MCEBuddy de Exit Code van de aangepaste commando-applicatie controleert. Als de retourcode 0 (standaard) is, wordt dit als een succes beschouwd, indien niet 0 (+ve of -ve) dan wordt het als een mislukking beschouwd. Als de Exit Code mislukt, stopt MCEBuddy met verdere verwerking en laat de conversie mislukken.

Dank je wel! Ik moet ofwel geslapen hebben of naar oudere informatie hebben gekeken, maar dat heb ik totaal gemist.