Ik heb verwijzingen en vermeldingen gezien over pre- en post-processing scripts. Maar ik kan geen definitieve documentatie vinden over hoe dit te doen. Alle hulp wordt op prijs gesteld. Alvast bedankt.
Hier is de autoritaire bron over aangepaste opdrachten
Mijn begrip is dat er meerdere dingen zijn die je kunt aanroepen, bijvoorbeeld een Windows batch-bestand. Ik roep persoonlijk een PowerShell-script aan voor nabewerking waarin ik aangepaste hernoeming toepas die MCEBuddy me niet biedt, en het script verplaatst de geconverteerde bestanden naar de gewenste mappenstructuur en regelt overschrijven/verwijderen wanneer een bestand al bestaat.
Kortom, je roept het script aan in profiles.conf door de gewenste opdrachten in een specifiek profiel te definiëren.
In mijn geval ziet een van mijn profielen er zo uit:
[MP4 Unprocessed]
Description=Zeer snel maar beperkte functionaliteit. Gebruik dit profiel als de originele video H.264/MPEG-video bevat en je de reclame wilt verwijderen en het bestandsformaat naar MP4 wilt converteren (bijv. WTV naar MP4) zonder extra bewerkingen (de-interlacing, schalen, volume, croppen enz.). Het kopieert de originele video- en audiostroom en plaatst die ongewijzigd in een MP4-container.
order=ffmpeg
ffmpeg-general=-threads 0
ffmpeg-video=-ss 0 -vcodec copy -sn
ffmpeg-audio=-acodec copy
ffmpeg-audioac3=-acodec copy
ffmpeg-ext=.mp4
ffmpeg-audiodelay=skip
PreConversionCommercialRemover=true
FixedResolution=true
SkipCropping=true
AutoDeinterlace=false
PostCustomCommandPath = C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
PostCustomCommandParameters = -windowstyle hidden -file “f:\transfer\mcebuddy_postprocess.ps1” -newname “"%convertedfile%"” -destpath “"%destinationpath%"” -series “"%seriesid%"” -imdb “"%imdbmovieid%"” -ismovie “"%ismovie%"” -taskname “"%taskname%"” -season “"%season%##"” -origName “"%originalfilename%"”
PostCustomCommandHangPeriod = 0
PostCustomCommandCritical = False
PostCustomCommandUISession = False
PostCustomCommandShowWindow = True
PostCustomCommandExitCodeCheck = False
PostCustomCommandPath vertelt MCEBuddy dat PowerShell moet worden aangeroepen; PostCustomCommandParameters geeft aan welk script en welke argumenten meegeleverd moeten worden, zoals de bestandsnaam.
Mijn eigen PowerShell-script is vrij lang, maar een van de dingen die het doet, is de meegeleverde waarden gebruiken om mappen aan te passen met een IMDb- of TVDb-id, afhankelijk van het type (film of serie). De ingebouwde hernoemingsopties van MCEBuddy bieden deze argumenten niet.
Ter info - De publieke IMDB API is dood. Nadat Amazon hen overnam, hebben ze het achter een betaalde API-muur geplaatst.
Ik denk dat MCEBuddy is overgeschakeld naar https://www.themoviedb.org/ (TMDB) als vervanging. Je zou kunnen overwegen je PowerShell-script aan te passen om hetzelfde te doen.
Ik moet nog nagaan wat Plex precies doet, maar ik volgde documenten die aanraadden items zo te benoemen dat het ze makkelijker herkent
TV Series - Parent Folder:
bijv. CSI Vegas (2021) {tvdb-400248}
en Movies - Parent Folder:
The Mortal Storm (1940) {imdb-tt0032811}
Het probleem was dat ik in de hernoeming geen placeholder kon vinden voor de series-id van tvdb, maar er is er wel een beschikbaar in de post-processing; dus ik geef simpelweg het argument van mcebuddy door aan powershell om de originele map te hernoemen van
CSI Vegas (2021)
naar
CSI Vegas (2021) {tvdb-400248}
De laatste tijd gebeurt het echter af en toe dat de series-id niet wordt opgehaald en ik weet niet waarom.
Anyway, mijn powershell-scripts hernoemen de parent folders en verplaatsen daarna de items naar mijn plex-server, waarbij ze bepalen of ze in een bestaande map moeten worden gekopieerd (bij tv-series) of overschreven (bij films).