Muligt at gøre nu? Fjern EIA_608 tekst fra fil

Jeg har kørt MCEBuddy i et stykke tid nu – det fungerer upåklageligt. Jeg bruger det til at behandle alle mine Plex DVR-optagelser, trække underteksterne ud og remuxe dem ind i den resulterende MKV-fil. Det har fungeret smukt i årevis. DOG har den nyeste udgave af Plex nu understøttelse for EIA-608-undertekster, og de dukker op som »Ukendt« undertekst på alle mine optagelser, fordi jeg IKKE reencoder videoen – kun remuxer. Det betyder, at EIA-underteksterne A) ser forfærdelige ud, men B) gør, at SRT-filen ikke længere automatisk vælges og afspilles, som det tidligere var tilfældet. Da jeg har hørehæmmede i huset, er det et krav, at de altid tænder automatisk.

Lad os ikke glemme, at EIA-underteksterne ser langt værre ud end de rene SRT-undertekster.

Efter lidt søgen fandt jeg ud af, at ffmpeg KAN fjerne EIA-608-teksten fra TS- (eller MKV-)filen … med denne kommando:
ffmpeg -i input.mkv -codec copy -bsf:v “filter_units=remove_types=6” output.mkv

Jeg har testet det, og det virker som forventet. Mit feature-request – eller spørgsmål til jer – er: findes der allerede en måde at gøre dette på?

Giv mig mulighed for at køre den ffmpeg-kommando EFTER I har trukket underteksterne ud til en SRT-fil, og derefter remuxe til MKV og lægge underteksterne tilbage i.

Kan det lade sig gøre nu?

Kommer det snart?

På forhånd tak for hjælpen.

Nå, jeg svarede faktisk på mit eget spørgsmål. Efter lidt fiksering skrev jeg en bat-fil, der gør dette i efterbehandlingen.
Den tager simpelthen den mkv-fil, som MCEBuddy producerer, og kører den gennem ffmpeg igen for at fjerne EIA_608-underteksterne, før Plex opdager dem. Livet er godt igen.

Hvis nogen vil have en kopi af mit script, så sig til, så sender jeg det.

Du er velkommen til at poste filen her (du kan bruge kodeklammer)

Har du overvejet at inkludere din parameter -bsf:v "filter_units=remove_types=6" i profilen? Ville det ikke være enklere?

Det ser ud til at være tilfældet, ja, men i mine tests virkede det ikke at fjerne EIA-undertekster fra en TS-fil under konvertering til mkv, men fra mkv til mkv virkede det perfekt. Måske er der en måde at få det til at virke under den indledende konvertering, men jeg vidste, hvordan jeg gjorde dette, og ville ikke rode mere med det.

Her er den relevante kode for alle andre, der vil slippe af med de irriterende EIA_608-undertekster, indtil Plex og CCextractor får styr på dem:

Tilføj dette til din profile.conf, som du bruger til at behandle filer:

CustomCommandPath=C:\Windows\System32\cmd.exe
CustomCommandParameters="/c C:\ccextractor\RemoveSubs\RemoveSubs.bat "%convertedfile%" "%srtfile%" "
CustomCommandHangPeriod=100
CustomCommandCritical=true
CustomCommandUISession=false
CustomCommandShowWindow=false

og her er mit script (tilpas stierne til dine behov). Jeg sletter også .srt-filen, da den er blevet flettet ind i min mkv-fil (ifølge mine indstillinger):

@echo off

For %%A in (%1) do (
    Set Folder=%%~dpA
    Set InputFileName=%%~nA
)

del /q %2

IF %ERRORLEVEL% EQU 0 (
 ECHO Delete Of SRT File %2 Successfull
)

C:\Progra~1\MCEBuddy2x\ffmpeg\ffmpeg.exe -i %1 -codec copy -bsf:v "filter_units=remove_types=6" G:\BuddyTemp\working0\NoSubsOutput.mkv

IF %ERRORLEVEL% EQU 0 (GOTO :SUCCESS) ELSE (GOTO :FAIL)

:SUCCESS
 ECHO Removal Of EIA_608 Subs From %1 Was Successfull

del /q %1
IF %ERRORLEVEL% EQU 0 (
 ECHO Delete Of Original MKV Successfull
)
ECHO %InputFileName%

ren "G:\BuddyTemp\working0\NoSubsOutput.mkv" "%InputFileName%.mkv"

IF %ERRORLEVEL% EQU 0 (
 ECHO Rename of New MKV without EIA subs was Successfull
)

EXIT
:FAIL
 ECHO Something Went Wrong With Removal Of EIA Subs. 
EXIT /B %ERRORLEVEL%