HBO-konverteringer kan ikke afspilles på Plex

Jeg har et problem med at konvertere optagelser fra HBO, hvor de fleste af mine Plex-klienter nægter at afspille indholdet. Jeg har rodet i logfilerne og finder ikke meget, men måske overser jeg bare noget. Normalt ville jeg bare bruge MP4 Unprocessed, men tænkte at konvertering måske kunne hjælpe, så jeg skiftede til MP4 High Quality i håb om at transcodningen ville løse noget.

Én ting jeg bemærker ved Unprocessed er, at den resulterende fil ifølge MediaInfo har nogle ret vilde egenskaber: gennemsnitlig billedhastighed på 28,893 fps (ok), men min/max på 9,99/90.000? Gennemsnitlig bitrate på 8,324 kbps, men max bitrate på 80,0 Mbps? Jeg kan godt forstå at Plex måske går i panik, men mens MP4 High Quality har meget normale egenskaber (konstant 29,97 fps, gns. 9.652 kbps og max 16.000 Mbps bitrate), er den heller ikke glad for afspilningen.
MP4-High_Last Week Tonight With John Oliver_HBOHD_2024_05_12_22_55_00.wtv-No-Commercial Convert-2024-05-13T16-45-31.zip (449,4 KB)
MP4-Unprocessed_Last Week Tonight With John Oliver_HBOHD_2024_05_12_22_55_00.wtv-No-Commercial Convert-2024-05-13T01-16-33.zip (54,5 KB)

Jeg ser masser af fejl i kildevideoen, det kan være grunden til, at Plex stadig har problemer med filen efter konvertering. Hvis jeg skulle gætte, vil du opleve hakken og spring under afspilning.

2024-05-13T16:46:26 MCEBuddy.AppWrapper.FFmpegMediaInfo → [mpeg2video @ 0000026c384d02c0] end mismatch left=25 35 at 0 68
2024-05-13T16:46:26 MCEBuddy.AppWrapper.FFmpegMediaInfo → [mpeg2video @ 0000026c384d02c0] Warning MVs not available
2024-05-13T16:46:26 MCEBuddy.AppWrapper.FFmpegMediaInfo → [mpeg2video @ 0000026c384d02c0] concealing 120 DC, 120 AC, 120 MV errors in B frame
2024-05-13T16:46:26 MCEBuddy.AppWrapper.FFmpegMediaInfo → [vist#0:2/mpeg2video @ 0000026c3801ca00] corrupt decoded frame
2024-05-13T16:46:26 MCEBuddy.AppWrapper.FFmpegMediaInfo → [mpeg2video @ 0000026c384d02c0] end mismatch left=23 7C at 0 68

2024-05-13T16:46:27 MCEBuddy.AppWrapper.FFmpegMediaInfo → [mpeg2video @ 0000026c384d02c0] concealing 120 DC, 120 AC, 120 MV errors in P frame
2024-05-13T16:46:27 MCEBuddy.AppWrapper.FFmpegMediaInfo → [mpeg2video @ 0000026c384d02c0] end mismatch left=28 4 at 0 68
2024-05-13T16:46:27 MCEBuddy.AppWrapper.FFmpegMediaInfo → [mpeg2video @ 0000026c384d02c0] Warning MVs not available
2024-05-13T16:46:27 MCEBuddy.AppWrapper.FFmpegMediaInfo → [mpeg2video @ 0000026c384d02c0] concealing 120 DC, 120 AC, 120 MV errors in I frame
2024-05-13T16:46:27 MCEBuddy.AppWrapper.FFmpegMediaInfo → [vist#0:2/mpeg2video @ 0000026c3801ca00] corrupt decoded frame
2024-05-13T16:46:27 MCEBuddy.AppWrapper.FFmpegMediaInfo → Last message repeated 1 times

Dette skyldes normalt et dårligt OTA-signal eller et problem med optagekortdriverne.

Jeg bemærkede, at du bruger WTV; hvis kilde-WTV’en afspiller fint i WMC, kan du prøve denne mulighed: tilføj den til profilen (i din profiles.conf-fil), du bruger, og se, om det hjælper. Dette vil bruge de native WTV DirectShow-filtre til at afkode filen, hvilket kan hjælpe med at genskabe eventuelle fejl, hvis det er muligt:

ForceWTVStreamsRemuxing=true

Hvis det ikke hjælper, kan du prøve en alternativ mulighed i profilen til at afkode WTV-filerne ved at bruge:

UseWTVRemuxsupp=true

Afspilning i Plex var… ikke god. I bedste fald hakker det virkelig, virkelig meget (dvs. spiller i ~0,5 s, holder pause i 2 s, gentager). Underligt nok virkede afspilning på min iPhone fint… men det kan være noget klient-specifikt, den gør, fordi Apple. Jeg bekræftede, at afspilningen fungerer fint på HTPC’en, den blev optaget på, så det er et plus.

Jeg tror ikke, signalet er et problem – jeg har ingen fejl på tuner eller andre stationer (HDHR Prime) – men det ville ikke være første gang, mit kabelselskab har rodet en HBO-stream op… Jeg husker ikke, hvad det var, men for år siden flippede det ud på en Media Center Extender på grund af et billedhastighedsproblem. Jeg mistænker, det snarere var inkompetence end ond vilje. Det er heller ikke sandsynligt, at det er noget på min side… alting optages på en Win8.1-HTPC, der åbenbart ikke får opdateringer.

Jeg tilføjede alligevel ForceWTVStreamsRemuxing=true til no-convert-profilen, og selvom det umiddelbart spillede uden problemer, faldt det hurtigt fra hinanden. Det samme skete med UseWTVRemuxsupp=true.

Jeg prøvede ForceWTVStreamsRemuxing=true på MP4 High, og det ser ud til at virke! Jeg skal lige tjekke mit Smart-TV for at se, hvad det gør, men det løste det åbenbart.

Mens jeg ventede på, at encoding blev færdig, googlede jeg lidt og faldt over denne klassiker:

Da HTPC’en allerede kørte (for at bekræfte, at den oprindelige video virker), startede jeg debug, og sørme om billedhastigheden ikke skifter vildt mellem to værdier (for hurtigt til, at jeg kan læse det). Det er altså et skævt signal fra moder-skibet. Direkte afspilning på HTPC’en er fint (omend ikke optimalt), og streaming fungerer også… Jeg er nysgerrig efter, hvorfor det pludselig opstår efter årevis uden problemer.

Logger er vedhæftet, hvis de har interesse… det ligner klart et “skrald-ind/skrald-ud”-problem. Jeg formoder, jeg er i mindretallet af brugere, der rammes, men hvem ved.
Force-Passthrough_Last Week Tonight With John Oliver_HBOHD_2024_05_12_22_55_00.wtv-HBO-No Convert-2024-05-14T23-05-58.zip (46,9 KB)
Force-MP4-High_Last Week Tonight With John Oliver_HBOHD_2024_05_12_22_55_00.wtv-HBO-No Convert-2024-05-14T23-28-15.zip (439,7 KB)
Use-Passthrough_Last Week Tonight With John Oliver_HBOHD_2024_05_12_22_55_00.wtv-HBO-No Convert-2024-05-14T23-20-47.zip (45,4 KB)

Når jeg kigger på dine logs, ser det ud til, at du bruger Nvidia hardware-kodning. Jeg mistænker, at kortet ikke kan håndtere billedhastigheden/tidsstemplerne. Prøv at slå hardware-acceleration fra og se, om det hjælper med at gøre det hele mere glidende.

Ok, jeg genså et af de “succesfuldt” konverterede shows og opdagede, at mens videoen ikke gik amok, var lyden 5 sekunder ude af sync, når ForceWTVStreamsRemuxing=true.

Jeg prøvede UseWTVRemuxsupp=true med GPU-encode, og selvom det så ud til at virke, blev det også ustabilt ret hurtigt. Skift til kun CPU gav en fil, der fungerer fint, så det ser ud til at være “løsningen” på problemet.

USE-GPU_Last Week Tonight With John Oliver_HBOHD_2024_05_12_22_55_00.wtv-HBO-No Convert-2024-05-17T13-12-11.zip (441,1 KB)
USE-CPU_Last Week Tonight With John Oliver_HBOHD_2024_05_12_22_55_00.wtv-HBO-No Convert-2024-05-17T11-47-20.zip (374,3 KB)

GPU-encodere er generelt meget følsomme over for fejl i videoerne og er ikke gode til at kompensere for dem. De er dybest set designet til at gøre én ting og gøre det hurtigt. Software-encodere (CPU) er langt mere fleksible og tilgivende, men på bekostning af hastighed.