Extracción de subtítulos/caption fallando en grabaciones OTA

La extracción de subtítulos está fallando:

2026-03-31T06:05:26 MCEBuddy.AppWrapper.CCExtractor → Issues · CCExtractor/ccextractor · GitHub
→ El proceso terminó con código 0
→ Verificando archivo SRT S:\MCEBuddy-Temp\working1\Henry David Thoreau S01E01 Who Are We 2026-03-30-2000.srt
INFORMATION> → Validando y limpiando archivo SRT
ERROR> → Error al validar archivo SRT System.Exception: Se detectó carácter nulo, no es un archivo de texto
en MCEBuddy.Transcode.CCandSubtitles.SRTValidateAndClean(List`1 srtFiles, Log jobLog, Double offset, Single duration)
ERROR> 2026-03-31T06:05:28 MCEBuddy.Transcode.CCandSubtitles → Error al validar archivo de subtítulos
ERROR> 2026-03-31T06:05:28 MCEBuddy.Engine.ConversionJob → Falló la extracción de subtítulos ocultos
WARNING> 2026-03-31T06:05:28 MCEBuddy.Engine.ConversionJob → Falló la extracción de subtítulos ocultos del archivo original, intentando extraer subtítulos ocultos del archivo remuxed
INFORMATION> 2026-03-31T06:05:28 MCEBuddy.Transcode.CCandSubtitles → Extrayendo subtítulos ocultos como archivo SRT

2026-03-31T06:05:39 MCEBuddy.AppWrapper.CCExtractor → Issues · CCExtractor/ccextractor · GitHub
→ El proceso terminó con código 0
→ Verificando archivo SRT S:\MCEBuddy-Temp\working1\Henry David Thoreau S01E01 Who Are We 2026-03-30-2000.srt
INFORMATION> → Validando y limpiando archivo SRT
ERROR> → Error al validar archivo SRT System.Exception: Se detectó carácter nulo, no es un archivo de texto
en MCEBuddy.Transcode.CCandSubtitles.SRTValidateAndClean(List`1 srtFiles, Log jobLog, Double offset, Single duration)
ERROR> 2026-03-31T06:05:41 MCEBuddy.Transcode.CCandSubtitles → Error al validar archivo de subtítulos
ERROR> 2026-03-31T06:05:41 MCEBuddy.Engine.ConversionJob → Falló la extracción de subtítulos ocultos
WARNING> 2026-03-31T06:05:41 MCEBuddy.Engine.ConversionJob → No se encontró archivo de subtítulos tras la extracción

Henry David Thoreau S01E01 Who Are We 2026-03-30-2000.mpg-ChannelsDVR - TV - NO Comskip-2026-03-31T06-00-00.log|adjunto (1.9 MB)

Parece que CCExtractor se está ejecutando correctamente (código de salida 0), pero el archivo SRT resultante está siendo rechazado por MCEBuddy porque contiene caracteres nulos (System.Exception: Null character detected, not a text file). Esto ocurre a menudo cuando el flujo contiene ruido binario o la codificación está dañada.

Para ayudar a solucionar esto, ¿podrías probar lo siguiente?

  1. Comprueba la versión de CCExtractor: ¿Estás usando el CCExtractor “de serie” que viene con MCEBuddy, o lo has cambiado por una versión diferente?
  2. Prueba un comando personalizado de CCExtractor: En tus Configuraciones de Tarea de ConversiónConfiguraciones Expertas, intenta añadir -utf8 al cuadro de Parámetros personalizados de CCExtractor para ver si forzar una codificación específica ayuda a evitar el error de carácter nulo.
  3. Inspección manual: Si puedes, abre el archivo SRT temporal (S:\MCEBuddy-Temp\working1\...srt) en un editor de texto como Notepad++ antes de que el trabajo termine o falle para ver si parece basura o texto real.

Buscaré en el foro para ver si hay informes recientes de “Null character detected” con las últimas grabaciones OTA.

Henry David Thoreau S01E01 Who Are We 2026-03-30-2000.srt (79.9 KB)

Estoy reprocesando uno de los archivos que falló. Adjunto el archivo SRT temporal. Es un archivo SRT normal. Tiene un carácter NULL cerca del final del archivo (puede haber otros NULLs; no hice una búsqueda exhaustiva).

Tengo la “Comskip Donators Version”. Pero estoy usando el extractor de subtítulos predeterminado (a menos que eso lo haga el complemento de Comskip).

No veo un “cuadro de parámetros personalizados de CCExtractor” en Configuración experta.

Parece que el problema es específicamente con la validación posterior a la extracción de MCEBuddy. Aunque CCExtractor crea correctamente el archivo SRT, el motor de MCEBuddy lo escanea en busca de “caracteres nulos” (ceros binarios) como una medida de seguridad para garantizar que sea un archivo de texto válido. Si encuentra aunque sea uno, rechaza todo el archivo.

Con respecto a tus puntos:

  1. CCExtractor vs Comskip: Tienes razón; aunque Comskip se encarga de la detección de anuncios, CCExtractor es una herramienta independiente que MCEBuddy utiliza específicamente para la extracción de subtítulos.
  2. Cuadro de parámetros personalizados: Mis disculpas, debí ser más específico. El cuadro de “Custom CCExtractor parameters” (Parámetros personalizados de CCExtractor) se encuentra en realidad en la configuración del Perfil, no en la Tarea de conversión.

Pasos recomendados:

1. Añade -utf8 a tu perfil

Dado que mencionaste que el archivo SRT se ve “normal” pero contiene un carácter nulo, forzar UTF-8 podría ayudar a que CCExtractor produzca una salida más limpia que el validador de MCEBuddy acepte.

  1. Abre profiles.conf (generalmente en C:\Program Files\MCEBuddy2x\config).
  2. Busca el perfil que estás utilizando (por ejemplo, [MKV HEVC]).
  3. Añade la siguiente línea a ese perfil:
    cc_params=-utf8
  4. Guarda el archivo y reinicia el servicio de MCEBuddy.

2. Desactiva la verificación de caracteres nulos (Avanzado)

Si forzar UTF-8 no funciona, existe una configuración interna de MCEBuddy para omitir la validación que está fallando.

  1. En la interfaz gráfica de MCEBuddy, haz clic en Settings (Configuración) → Advanced Settings (Configuración avanzada).
  2. Busca una casilla de verificación llamada Skip subtitle validation (Omitir validación de subtítulos) o similar, dependiendo de tu versión.
  3. Alternativamente, puedes añadir SkipSubtitleValidation=true a la sección [Common] de tu archivo mcebuddy.conf.

3. ¿Por qué está ocurriendo esto ahora?

Dado que mencionaste que esto comenzó recientemente, es probable que la emisora OTA para “Henry David Thoreau” (o el software del DVR) esté insertando algo de ruido en la transmisión que CCExtractor está interpretando como un carácter.

Si te sientes cómodo compartiéndolo, ¿podrías decirme qué versión de MCEBuddy estás ejecutando actualmente? (p. ej., 2.6.4). Esto me ayudará a verificar si existe algún error conocido con el validador en esa compilación específica.

MCEBuddy 2.7 Release 1

No estoy seguro de cuánto tiempo ha sido este problema; ha estado ocurriendo al menos durante los últimos 8 días. Sucede con todos los episodios de algunas series de televisión de PBS, pero no con otras.

La extracción de subtítulos (CC) ha fallado para estas nuevas series:

. The Forsytes on Masterpiece (Temporada 1)
. Henry David Thoreau (serie de Ken Burns)
. Call the Midwife (Temporada 15)

Pero la extracción de subtítulos funciona correctamente para estas series:

. The Count of Monte Cristo on Masterpiece (Temporada 1)
. Horizons from PBS News (Temporada 1)
. Compass Points from PBS News (Temporada 1)

Detuve el demonio de MCEBuddy, hice ambos cambios sugeridos (suponiendo que lo hice correctamente) y reinicié el demonio. Pero estos cambios no solucionaron el problema. (Sin embargo, pude capturar los archivos SRT temporales.)

profiles.conf:
[MKV HEVC]
Description=Conversión a HEVC en MKV (H.265/AC3). Crea un archivo más pequeño (50 % más pequeño que H.264) con calidad comparable pero muy lento.
order=handbrake,ffmpeg
ffmpeg-general=-threads 0
ffmpeg-video=-ss 0 -tag:v hvc1 -vf yadif=0:-1:1,hqdn3d -vcodec libx265 -preset medium -crf 26 -map 0:v -sn
ffmpeg-audio=-acodec ac3 -ab 160k -map 0:a
ffmpeg-audioac3=-acodec ac3 -ab 256k -map 0:a
ffmpeg-ext=.mkv
ffmpeg-audiodelay=skip
handbrake-general=–decomb --loose-anamorphic --verbose=2
handbrake-video=–start-at duration:0 -e x265 --encoder-preset medium -q 26
handbrake-audio=-E ffac3 -R auto -B 160 -D 0 -a 1,2,3,4,5
handbrake-audioac3=-E ffac3 -R auto -B 256 -D 0 -a 1,2,3,4,5
handbrake-ext=.mkv
handbrake-audiodelay=skip
PreConversionCommercialRemover=true
cc_params=-utf8

mcebuddy.conf:
[Engine]
Tasks=Convert to MP4,ChannelsDVR - TV - NO Comskip,ChannelsDVR - TV - Comskip,PlayOnHome - NO Comskip,PlayOnCloud - NO Comskip,PBS - NO Comskip,Manual
SearchRecords=PlayOnHome,ChannelsDVR-TV,PlayOnCloud,PBS
UserName=Guest
DomainName=
ArchiveDomainName=
ArchiveUserName=Guest
FailedDomainName=
FailedUserName=Guest
WakeHour=-1
WakeMinute=-1
StartHour=6
StartMinute=0
StopHour=7
StopMinute=0
DaysOfWeek=Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday
MaxConcurrentJobs=3
LogJobs=True
LogLevel=3
LogKeepDays=15
DeleteOriginal=False
UseRecycleBin=False
ArchiveOriginal=False
DeleteConverted=False
AllowSleep=False
SuspendOnBattery=False
SendEmail=False
Locale=en-US
TempWorkingPath=S:\MCEBuddy-Temp
ArchivePath=
FailedPath=
SpaceCheck=True
CustomComskipPath=C:\Comskip_Donators_Version\comskip.exe
CustomProfilePath=
HangPeriod=300
PollPeriod=60
ProcessPriority=Normal
CPUAffinity=0
EngineRunning=True
LocalServerPort=23332
UPnPEnable=False
FirewallExceptionEnable=False
SubtitleSegmentOffset=0
SkipSubtitleValidation=True
MinimumSegmentSize=4
eMailServer=
eMailPort=25
eMailSSL=False
eMailFrom=
eMailTo=
eMailSuccess=True
eMailFailed=True
eMailCancelled=True
eMailStart=True
eMailDownloadFailed=True
eMailQueue=True
eMailSuccessSubject=
eMailFailedSubject=
eMailCancelledSubject=
eMailStartSubject=
eMailDownloadFailedSubject=
eMailQueueSubject=
eMailSkipBody=False
eMailUsername=

Estoy usando la versión más reciente de MCEBuddy, la cual siempre creó archivos SRT para todos los canales de cable básicos. Ahora estoy grabando señales por aire (OTA) y no obtengo archivos SRT para ninguna grabación, incluso para aquellas que grabé hace años y de las que sí tengo un archivo SRT (volví a procesar el archivo fuente para cambiar el formato). Es posible que no tenga el perfil configurado correctamente para SRT, pero nunca había visto este problema en los años que llevo usando MCEBuddy. Investigaré más a fondo para ver qué puedo encontrar.

Jon: mi solución cuando falta el archivo SRT es rehacer la conversión mientras vigilo la carpeta temporal. Si hay subtítulos, los archivos SRT se crean, pero se eliminan antes de que termine el procesamiento. Cuando veo que el tamaño del archivo SRT cambia y deja de ser cero, pauso el proceso y copio el archivo SRT.

Eso no es normal. Si ves y puedes copiar manualmente un archivo SRT que no tenga un tamaño de cero, entonces MCEBuddy debería copiarlo directamente a la carpeta de destino.

¿Puedes adjuntar tu registro de conversión para que pueda ver qué está sucediendo?

Qué buen momento. Tenía una grabación que necesitaba rehacer para obtener los subtítulos. Aquí está el registro:

The Kimberley Australia’s Wild West S01E01 River Of Life 2026-06-17-2100.mpg-ChannelsDVR - TV - NO Comskip-2026-06-18T16-42-37.log (1.7 MB)

Eso fue muy útil. Parece que hay algún tipo de carácter no válido en el archivo SRT extraído que provoca errores de validación o fallos, por lo que MCEBuddy elimina los subtítulos extraídos.

Comprobando archivo SRT S:\MCEBuddy-Temp\working2\The Kimberley Australia’s Wild West S01E01 River Of Life 2026-06-17-2100.srt
INFORMACIÓN> → Validando y limpiando archivo SRT
ERROR> → Error al validar el archivo SRT System.Exception: Carácter nulo detectado, no es un archivo de texto
at MCEBuddy.Transcode.CCandSubtitles.SRTValidateAndClean(List`1 srtFiles, Log jobLog, Double offset, Single duration)
ERROR> 2026-06-18T16:46:29 MCEBuddy.Transcode.CCandSubtitles → Error al validar el archivo de subtítulos
ERROR> 2026-06-18T16:46:29 MCEBuddy.Engine.ConversionJob → Error al extraer los subtítulos cerrados (closed captions)

¿Puedes subir el archivo de vídeo original y el archivo SRT extraído para que podamos analizarlo y ver qué está pasando?

Podrías pensar que habría anticipado que necesitarías el archivo de origen. Desafortunadamente, no fue así. He adjuntado el archivo de subtítulos. He programado y seguiré programando grabaciones adicionales de diversos programas para intentar capturar otro ejemplo. Las grabaciones por aire (Over-The-Air) de PBS parecen ser las que tienen más probabilidades de presentar este problema. Estoy seguro de que aparecerá una en el transcurso de una semana (a más tardar).

The Kimberley Australia’s Wild West (2026) - S01E01 - River Of Life (2026-04-05).srt (56.7 KB)

¿Qué tan grande puede ser la grabación subida? Supongo que lo descubriré.

Sube el archivo completo. Sin límite de tamaño.

Aquí tienes un ejemplo de anoche.

Uy. Hay un límite de tamaño:

Lo sentimos, el archivo es demasiado grande (el tamaño máximo es de 10 MB). ¿Por qué no subes tu archivo pesado a un servicio de almacenamiento en la nube y luego pegas el enlace?

He colocado los archivos en Google Drive: MCEBuddy - Google Drive

Aquí tienes otro ejemplo: CBS News Sunday Morning (grabación OTA). He subido los archivos a OneDrive: MCEBuddy

Gracias por avisar, esto ya se ha solucionado en la versión beta de hoy, la 2.7.2. Puedes probarla y decirnos si sigues teniendo algún problema.

Hola, Goose.

Genial. Esta es una de esas situaciones en las que la ausencia de noticias mías es una buena señal. Basándome en experiencias pasadas, definitivamente esperaría ver un problema en el plazo de una semana. Si veo que este problema vuelve a ocurrir, escribiré aquí.

Steve