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.
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. ![]()
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 moetCustomCommandExitCodeCheckinstellen optruein het profiel als u wilt dat MCEBuddy naar de exitcodes kijkt.CustomCommandCriticalkijkt 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.