🟩 Guía de Codificación de Video para Pantallas LG webOS Signage

🟩 Guía de Codificación de Video para Pantallas LG webOS Signage


🎯 Objetivo


Garantizar que los videos (anuncios, promos, loops, etc.) se reproduzcan correctamente y sin fallos en pantallas LG profesionales con webOS Signage 4.0, 6.0 o superior, ya sea desde USB, red local o CMS.


✅ Parámetros recomendados

Parámetro

Valor recomendado

Notas

Contenedor

.mp4 (con isom o mp42)

Activar Fast Start (moov al inicio) para mejor carga

Códec de video

H.264 (AVC), Perfil High, Nivel 4.1

Evitar Baseline/Main. No usar H.265 salvo si se ha probado antes

Resolución

Hasta 1920×1080 (Full HD)

Usa 1:1 pixel aspect ratio. No escalar artificialmente

Framerate

24, 25, 30 o 60 fps

30 fps es el estándar para señalización

Bitrate video

5–10 Mbps (máximo recomendado: 20 Mbps)

Calidad visual suficiente sin sobrecargar el decodificador

Formato de color

8 bits, YUV 4:2:0 (yuv420p)

Formato obligatorio en hardware LG

Códec de audio

AAC-LC (Low Complexity), 128 kbps

Estéreo (2 canales), frecuencia: 48000 Hz

Duración máxima

≤ 30 minutos por archivo (sugerido)

Archivos mayores a 2 GB pueden tardar en cargar

Tamaño máximo

≤ 4 GB (ideal), ≤ 30 GB (tolerado)

Comprimir eficientemente usando CRF/bitrate constante

Subtítulos

Evitar incrustar. Usar WebVTT externo si es necesario

LG no renderiza subtítulos embebidos


🛠️ Codificación con FFmpeg


Ejemplo de conversión desde un video original sin audio:

ffmpeg -i "anuncio_original.mp4" \
-f lavfi -t 10 -i anullsrc=channel_layout=stereo:sample_rate=48000 \
-map 0:v:0 -map 1:a:0 \
-c:v libx264 -profile:v high -level:v 4.1 -preset slow -crf 20 -maxrate 8M -bufsize 16M \
-c:a aac -b:a 128k -ar 48000 -ac 2 \
-movflags +faststart \
-y "anuncio_lg_webos_final.mp4"

🧩 Explicación:

  • anullsrc: genera audio en silencio si no lo tiene.

  • -profile:v high -level 4.1: requerido por LG.

  • -crf 20: compresión visualmente buena (15–23 recomendado).

  • -maxrate 8M: controla el bitrate máximo.

  • -faststart: coloca moov atom al inicio del archivo.


🎞️ Codificación con Adobe Media Encoder (GUI)

  1. Formato: H.264 (.mp4)

  2. Preset base: “Match Source - High Bitrate”

  3. Haz los siguientes ajustes:

    • Profile: High

    • Level: 4.1

    • Bitrate Encoding: VBR, 1 pass

    • Target Bitrate: 8 Mbps

    • Maximum Bitrate: 10 Mbps

    • Key Frame Distance: automática o cada 2 segundos

  4. Audio:

    • Codec: AAC

    • Sample Rate: 48000 Hz

    • Channels: Stereo

    • Bitrate: 128 kbps

  5. Multiplexer:

    • Format: MP4

    • Stream Compatibility: Standard

    • Fast Start: Activado (habilita streaming)


⚠️ Errores comunes a evitar

Error

Por qué es un problema

No tener pista de audio

Algunas pantallas fallan al hacer loop sin audio

Bitrate muy alto (>20 Mbps)

Puede congelar o no reproducirse bien

Nivel de H.264 > 4.1

No es compatible con webOS 4.0

Pixel format 4:2:2 o 10 bits

LG no lo decodifica por hardware

Usar contenedor MKV

No es soportado oficialmente por todas las versiones


Ayudas:

Puedes validar un vídeo si es apto para LG en:

  1.  python3 metadata_mp4_lg.py "nombre del video"

Adicional puedes convertir todos los vídeos de una carpeta en:
  1. python3 fix_videolg.py "nombre de la carpeta"