Conversiones de HBO no reproducibles en Plex

Tengo un problema al convertir grabaciones de HBO, donde la mayoría de mis clientes de Plex se niegan a reproducir el contenido. Revisé los registros y no encontré mucho, pero quizá solo no estoy viendo algo. Normalmente haría un MP4 Sin Procesar, pero pensé que quizá convertir ayudaría, así que cambié a MP4 Alta Calidad con la esperanza de que la transcodificación solucionara algo.

Una cosa que noto en el Sin Procesar es que el archivo resultante tiene (según MediaInfo) propiedades bastante extrañas: framerate promedio de 28.893fps (ok) pero un min/máx de 9.99/90,000? Bitrate promedio de 8.324kbps, pero un bitrate máximo de 80.0mbps? Puedo ver por qué Plex podría volverse loco, pero mientras que el MP4 Alta Calidad tiene propiedades muy normales (29.97fps constante, promedio 9,652kbps y máximo 16,000mbps de bitrate) tampoco está contento con la reproducción.
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)

Estoy viendo muchos errores en el vídeo de origen; esta podría ser la razón por la que, incluso tras la conversión, Plex tiene problemas con el archivo. Si tuviera que adivinar, diría que verás saltos y tirones durante la reproducción.

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

Esto suele deberse a una mala señal OTA o a un problema con los controladores de la tarjeta de grabación.

Veo que estás usando WTV; si el archivo WTV de origen se reproduce bien en WMC, puedes probar esta opción: añade lo siguiente al perfil (en tu archivo profiles.conf) que estés utilizando y comprueba si ayuda. Esto usará los filtros DirectShow nativos de WTV para decodificar el archivo, lo que podría ayudar a recuperar cualquier error si es posible:

ForceWTVStreamsRemuxing=true

Si eso no ayuda, puedes probar una opción alternativa en el perfil para decodificar los archivos WTV usando:

UseWTVRemuxsupp=true

La reproducción en Plex no fue muy buena. En el mejor de los casos se entrecortaba muchísimo (es decir, reproducía ~0,5 s, se detenía 2 s y repetía). Curiosamente, en mi iPhone funcionaba bien… pero podría ser algo específico del cliente por culpa de Apple. Verifiqué que la reproducción es correcta en el HTPC donde se grabó, así que eso es un punto a favor.

No creo que la señal sea el problema: no tengo errores en el sintonizador ni en otras emisoras (HDHR Prime), pero no sería la primera vez que mi cableoperador mete la pata con el stream de HBO… No recuerdo qué era, pero hace años, al reproducir en un Media Center Extender, se volvía loco por un problema de framerate. Sospecho que fue más ineptitud que mala intención. Tampoco es probable que sea algo de mi lado: todo se graba en un HTPC con Win8.1 que, obviamente, ya no recibe actualizaciones.

En fin, añadí la opción ForceWTVStreamsRemuxing=true al perfil sin-conversión y, aunque al principio parecía reproducirse bien, se desmoronó enseguida. Lo mismo ocurrió con UseWTVRemuxsupp=true.

Probé ForceWTVStreamsRemuxing=true en MP4 High ¡y parece que va bien! Tendré que revisar qué hace mi Smart-TV, pero parece que lo arregló.

Mientras terminaban las codificaciones, busqué un poco y recordé esta joyita del pasado:
https://answers.microsoft.com/en-us/windows/forum/windows_7-pictures/extreme-stutter-and-sometimes-flicker-with-hbomax/652f8120-f8bb-474b-ad77-ab81535233fb?msgId=c37ec098-ad01-464b-879f-98f16b033db9&page=1

Como ya tenía el HTPC encendido (confirmando que el vídeo original funciona), lancé el depurador y, efectivamente, el framerate salta entre dos valores (demasiado rápido para leerlo). Así que es una señol rara del «cuartel general». Ver directamente en el HTPC va bien (aunque no es lo ideal) o hacer streaming también… Me pregunto por qué ha aparecido de repente después de años funcionando perfectamente.

Adjunto los logs, por si interesa… parece un claro caso de «basura entra, basura sale». Sospecho que seré de los pocos usuarios afectados por este disparate, pero quién sabe.
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)

Al revisar tus registros, parece que estás usando la codificación por hardware de Nvidia. Sospecho que la tarjeta no puede manejar la velocidad de fotogramas ni los problemas de marca de tiempo. Intenta desactivar la aceleración por hardware y verifica si eso ayuda a suavizar las cosas.

Ok, así que volví a ver uno de los programas convertidos “exitosamente” y descubrí que, aunque el video no se volvía loco, la sincronización del audio estaba desfasada al usar ForceWTVStreamsRemuxing=true… como 5 s de diferencia.

Probé UseWTVRemuxsupp=true con codificación por GPU y, aunque parecía funcionar, también se volvió inestable bastante rápido. Cambiar a solo CPU generó un archivo que funciona bien, así que esa parece ser la “solución” al problema.

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|adjunto (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|adjunto (374,3 KB)

Los codificadores de GPU son generalmente muy sensibles a los errores en los videos y no son buenos compensándolos. Básicamente están diseñados para hacer una cosa y hacerla rápido. Los codificadores de software (CPU) son mucho más flexibles y permisivos, pero a costa de la velocidad.