Retardo de audio / Filtro

A veces, en las producciones en directo, hay que retrasar el audio con respecto al vídeo para compensar el retraso de procesamiento de las pantallas LCD gigantes (sincronización labial). O bien añadir un limitador/gate a la señal de audio de la entrada de micrófono.

En este artículo:
Retardo de audio sencillo
Copiar audio y retardo
Más filtros de audio


Retardo de audio sencillo

En realidad, esto se implementa bastante rápido en PLAYDECK. Solo hay que añadir el filtro de audio ADELAY al canal de la siguiente manera. En este ejemplo, hemos establecido un retardo de 600 ms para los canales de audio 1 y 2:

También se puede configurar en «INPUTS» para compensar cualquier problema de sincronización labial en la señal de entrada.


Copiar audio y retardo

También puedes COPIAR los canales de audio 1 y 2 a los canales de audio 3 y 4 y aplicarles un retardo. El objetivo es que el técnico de sonido disponga de una vista previa del audio en directo.

Esto debe hacerse a nivel de la lista de reproducción, así que desactiva cualquier filtro de audio en la configuración.

En primer lugar, asegúrate de aumentar el número de canales de audio de tu canal de salida; de lo contrario, no se procesarán los canales de audio por encima del 2:

Haz clic con el botón derecho del ratón en cualquier elemento de la lista de reproducción y selecciona «Asignación de canales de audio»:

Esto copiará los canales de audio 1 y 2 a los canales de audio 3 y 4:

Ahora vuelve a hacer clic con el botón derecho del ratón en el elemento de la lista de reproducción, selecciona «FILTRO DE AUDIO» y añade el filtro ADELAY, pero solo para los canales de audio 3 y 4:


Más filtros de audio

Para ver una lista completa de todos los filtros de audio, haz clic en «Mostrar ejemplos». Se abrirá un archivo de texto con ejemplos.

Registro del motor de vídeo

En este artículo se explica cómo configurar el registro de Video Engine.


1. Configuración del registro

Inicia PLAYDECK, abre Configuración, y selecciona el SOLICITUD pestaña. En la parte inferior de la página encontrarás las opciones de configuración.

Carpeta de salida: Elige el directorio de destino. También puede ser una carpeta de red compartida.

Advertencia sobre el almacenamiento: Los registros pueden llegar a ocupar fácilmente hasta 1 GB por minuto (con el nivel de detalle 0 y todos los módulos activados). Asegúrate de disponer de suficiente espacio libre en disco teniendo en cuenta el tiempo que podría tardar en producirse el problema.

Nivel de detalle: Empieza siempre a registrar con 0 – traza. De este modo, se garantiza que los desarrolladores del motor de vídeo reciban toda la información necesaria.

Módulos: Seleccionar todos Para empezar. Si los archivos de registro se vuelven demasiado grandes, puedes reducir su tamaño centrándote en módulos específicos:

Lo primero que hay que configurar es tu Carpeta de salida para los archivos de registro. Puede tratarse de una carpeta compartida en tu red. Los registros pueden llegar a ocupar fácilmente hasta 1 GB por minuto (con el nivel de detalle 0 y todos los módulos activados). Prevé suficiente espacio libre en disco, en función del tiempo estimado hasta que se produzca el error.

La siguiente configuración es Nivel de detalle: Por favor, empieza siempre a registrarte con 0 – traza, para que los desarrolladores del motor de vídeo dispongan de TODA la información.

Con el Módulos la configuración que elijamos todos Para empezar. Si los archivos de registro llegan a ser demasiado grandes, podemos reducir su tamaño centrándonos en módulos específicos:

  • todos: Registra todo.
  • lista de reproducción, archivo, códecs: Abarca los errores relacionados con la reproducción, la descodificación de archivos y la carga y reproducción de clips.
  • escritor: Abarca transmisiones en directo, grabaciones y codificación.
  • red: Trata los protocolos de streaming.
  • motor de renderizado: Abarca la salida del dispositivo y NDI.
  • en directo: Abarca las entradas en directo.
  • dispositivo: Todo lo relacionado con los dispositivos de hardware.
  • magia negra: Todo lo relacionado con el hardware de Blackmagic Design.


Opción de división: Esto depende del número de canales que tengas en funcionamiento, ya que cada canal se ejecuta en su propio proceso. Si utilizas más de dos canales, recomendamos encarecidamente activar la opción «Dividir».


2. Iniciar/detener el registro

Para detectar un error sobre la marcha, tendrás que activar el registro, reproducir el problema, desactivar el registro y, a continuación, enviar los archivos al equipo de desarrollo.

Duración: Puedes INICIO y ALTO grabar en cualquier momento. Esto te permite preparar tu lista de reproducción o tus dispositivos con antelación. Reduce al mínimo el tiempo entre el inicio y la finalización para que el tamaño total del archivo sea manejable.

Carpeta de sesión: Una vez que hagas clic INICIO, una nueva subcarpeta con el nombre de la marca de tiempo actual (por ejemplo, 2026-05-16__01-20-00) se creará en la ruta de registro que hayas indicado.

Parada: Cuando se produzca el error, haz clic en ALTO. Espera al menos 10 segundos para garantizar que todos los procesos de registro activos terminen de escribir en el disco.

Compresión: Abre la ruta de registro y busca la carpeta de sesión. Haz clic con el botón derecho del ratón en la carpeta y selecciona Comprimir en…, y selecciona 7z (preferiblemente) o Código postal. La compresión puede tardar un rato, dependiendo del tamaño del archivo.

Ahora tenemos que comprimir el contenido de la carpeta de sesión. Identificar la carpeta de la sesión por la hora de INICIO. A continuación, haz clic con el botón derecho del ratón en la carpeta de la sesión y selecciona Comprimir a y elegir Archivo 7z (si está disponible) o Archivo ZIP. Ahora recuéstate; la compresión puede tardar un rato.


3. Carga de registros

Sube tus archivos de registro comprimidos a través de nuestro portal de descargas oficial:

https://download.joy-event-media.de

  1. Arrastra y suelta tu archivo ZIP/7z en la ventana del navegador o utiliza el explorador de archivos.
  2. Haz clic SUBIR.
  3. Una vez completado, haz clic en COPIAR para copiar el enlace de descarga generado en el portapapeles.
  4. Envía un correo electrónico a [email protected] y pega el enlace de descarga en el mensaje.

Nota: Sin este enlace de descarga específico, nuestro equipo no puede acceder a tus archivos debido a las políticas de protección de datos.


4. Limpieza

Asegúrate de eliminar los archivos de registro originales y las carpetas de sesión después de compresión y subida correctas para liberar espacio en disco. PLAYDECK no elimina ni limpia automáticamente los archivos de registro antiguos.


Envío de SCTE-35 al servidor de streaming

Los marcadores SCTE se utilizan principalmente para insertar anuncios en la señal de vídeo, indicando al receptor (por ejemplo, un servidor de streaming) en qué momento debe insertar los anuncios y con qué duración. Esto permite a los sistemas de terceros seleccionar dinámicamente los anuncios de una base de datos. Puede obtener más información sobre el estándar SCTE-35 en general en este sitio web.

En este artículo:
Introducción
Ejemplos de marcadores SCTE-35
Probar el marcador SCTE-35 a nivel local
Probar el marcador SCTE-35 en Nimble Streamer
Información adicional


Introducción

También recomendamos nuestro artículo general sobre la SCTE.

Puedes asociar un marcador SCTE a cuatro objetos diferentes en PLAYDECK:
– Clips (en cualquier posición)
– Bloques (Inicio y Fin)
– Superposiciones (Mostrar y ocultar)
– Botones de acciones

En lugar de proporcionarte un marcador SCTE predefinido, hemos optado por un enfoque diferente: tendrás que escribir tu propio marcador SCTE. Esto puede suponer un pequeño esfuerzo de aprendizaje, pero al final resulta mucho más flexible. La ventaja es que siempre serás compatible con todos los receptores. Para recopilar la duración del clip y otras “variables”, proporcionamos ciertos “marcadores de posición”.

Ten en cuenta que debes habilitar SCTE en las opciones de transmisión:


Ejemplos de marcadores SCTE-35

Veamos algunos ejemplos de SCTE-35. Se trata de la variante más utilizada de SCTE-35, denominada “empalme”.

Nota: El formato SCTE-35 que aquí se presenta funciona mejor con Nimble Streamer (véase más abajo). Dependiendo de tu servidor de streaming, el formato puede variar. Consulta a tu proveedor.

Esto insertará un anuncio y volverá automáticamente a tu programa una vez transcurrida la duración indicada. PLAYDECK establecerá automáticamente la duración en función del clip que se esté reproduciendo en ese momento. Este valor se puede sustituir por {blockduration} o por un valor introducido manualmente. Si eliges un valor manual para la duración, la fórmula es: DURACIÓN DEL CLIP multiplicada por 90000 y redondeada. La razón es que 90000 es la escala de tiempo predeterminada que utilizan la mayoría de los sistemas SCTE. Ejemplo: el clip dura 12,4 segundos, por lo que la duración SCTE sería 1116000.

En lugar de enviar una duración, también puedes enviar dos marcadores SCTE independientes para iniciar y finalizar el anuncio. Estos se denominan CUE-OUT (salida del programa para el anuncio) y CUE-IN (regreso al programa).

Como seguramente ya habrás observado, la única diferencia es que “outOfNetworkIndicator” toma los valores 1 (CUE-OUT) y 0 (CUE-IN). El propio sistema SCTE emparejará ambos marcadores basándose en el “spliceEventId”.

Nota: Los marcadores de posición compatibles son: {timestamp} {timestampunix} {airtimenext} {airtimenextunix} {plannednext} {plannednextunix} {clipid} {blockid} {blockduration} {clipduration}


Probar el marcador SCTE-35 a nivel local

Abre PLAYDECK. Todavía no es necesario que cargues ningún clip. Haz clic con el botón derecho del ratón en cualquier botón de ACCIÓN, crea una nueva acción y selecciona COMANDOS/SCTE:

Inserta la etiqueta de muestra SCTE-35 haciendo clic en SCTE-35. Cierra las ventanas emergentes pulsando «Aceptar» (dos veces):

Ahora podemos enviar una etiqueta SCTE-35 a cualquier flujo compatible (UDP, DVB, SRT). Si haces clic en «Acción» ahora, no pasará nada, ya que aún no tenemos ningún flujo.

Creemos un flujo UDP de prueba en el que simplemente enviemos la salida a un archivo, para no tener que lidiar (todavía) con cuestiones relacionadas con el servidor. Copia la configuración tal y como se indica a continuación e inicia el flujo con “START NOW”. No olvides habilitar SCTE-35 en «Parameter»:

Ahora queremos enviar nuestra etiqueta SCTE-35 de muestra a la transmisión. Cierra los ajustes y haz clic varias veces en el botón de acción; después, vuelve a los ajustes y detén la transmisión con «STOP NOW».

PLAYDECK ha registrado tus etiquetas SCTE-35. Puedes consultar los registros volviendo a tu código SCTE-35 en el botón «Acción» y haciendo clic en «ABRIR REGISTROS DE EVENTOS»:

También puedes hacer visibles las etiquetas SCTE-35 que se encuentran en tu transmisión grabada. Para ello, necesitamos una herramienta independiente llamada “DVBInspector”. Esta herramienta también requiere el entorno de ejecución de Java, así que descarga ambos:

Esta herramienta requiere el entorno de ejecución de Java. Si aún no lo tienes instalado, puedes descargarlo aquí:
https://www.oracle.com/java/technologies/downloads/

Ahora descomprime el archivo “DVBinspector-1.18.0-dist.zip” (o similar) y ejecuta “DVBinspector-1.18.0.jar”. A continuación, arrastra y suelta tu archivo TS en la aplicación. Abre el árbol de la siguiente manera para ver tu marcador SCTE.


Probar el marcador SCTE-35 en Nimble Streamer

Nimble Streamer es nuestro servicio de streaming preferido. Es rentable, fácil de configurar y mantener, pero ofrece la complejidad necesaria para casos de uso avanzados:

https://softvelum.com/nimble/

Instala la versión de prueba de 14 días de Nimble en el mismo equipo en el que se ejecuta PLAYDECK. No es imprescindible, pero simplifica las cosas, ya que así te ahorras tener que configurar la red. Nimble también le pedirá que cree una cuenta en WMSPanel, una herramienta de configuración web para Nimble, ya que el propio Nimble Streamer se instala sin interfaz de usuario.

INFORMACIÓN: Para que esta muestra SCTE-35 funcione, NO es necesario disponer de los complementos “Nimble Live Transcoder” ni “Nimble Advertizer” si la pruebas en una instalación en vivo. En la instalación de prueba, estos complementos están desactivados de forma predeterminada.

Una vez que Nimble esté en funcionamiento, hay un ajuste más que debes realizar manualmente. Abre el archivo de configuración del servidor Nimble aquí:
c:\Archivos de programa\Nimble Streamer\conf\nimble.conf

Al final de este archivo, añade las siguientes líneas y guarda el archivo.

scte35_processing_enabled = true 
scte35_forwarding_enabled = true 
hls_ad_scte35_forwarding_enabled = true
hls_ad_marker_format = cue
hls_ad_splice_out_cont_marker_enabled = true

Importante: Debes reiniciar Nimble ahora mismo, ya sea reiniciando el ordenador o reiniciando manualmente el servicio de Windows “Nimble Streamer”.

Aquí tienes de nuevo las líneas, pero con comentarios para ti (no las utilices):

scte35_processing_enabled = true  // Habilita el módulo SCTE en general. Es necesario para el resto de opciones
scte35_forwarding_enabled = true  // Permite el paso de los marcadores SCTE-35 a través de Live Transcoder
hls_ad_scte35_forwarding_enabled = true  // Habilita el reenvío de marcadores SCTE-35 a flujos HLS
hls_ad_marker_format = cue  // Configura Nimble para que utilice marcadores CUE-OUT y CUE-IN
hls_ad_splice_out_cont_marker_enabled = true  // Habilita la inserción automática de EXT-X-CUE-OUT-CONT

Ahora vamos a configurar tus transmisiones en WMSPanel:
En primer lugar, vamos a definir nuestra secuencia entrante. Ve a “Nimble Streamer” en el menú, selecciona “MPEGTS In” y haz clic en el botón “Añadir secuencia UDP”; a continuación, añade la secuencia entrante de esta manera. Puedes utilizar cualquier otro puerto si el 5001 ya está en uso.

A continuación, vamos a configurar el formato del flujo de salida. Queremos utilizar HLS aquí para demostrar la conversión del marcador SCTE de UDP a HLS. En la misma página, ve a “MPEGTS Out” y haz clic en el botón “Añadir flujo de salida”, luego añádelo de esta manera. Asegúrate de seleccionar tu flujo de entrada como fuente de vídeo y audio.

A continuación, seguimos con la configuración en PLAYDECK. Ve a la sección “Stream Output Settings” (Configuración de salida de la transmisión) y cambia la URL de la transmisión a «udp://127.0.0.1:5001».

INFORMACIÓN: Puedes elegir el códec de vídeo que prefieras. En este caso, he elegido H.264 para que mi GPU NVIDIA se encargue de la codificación, lo que reducirá el uso de la CPU. Activa también SCTE-35 en “Parámetros”.

INFORMACIÓN: Ten en cuenta que PLAYDECK no es capaz de transmitir directamente en formato HLS. Si seleccionas “Apple HTTP Live Streaming” como formato de transmisión, la salida se guardará en un archivo. Por lo tanto, debe especificar una ruta de destino como “URL de transmisión”, por ejemplo, “c:\Users\Public\Documents\stream.m3u8”. A continuación, utilice ese archivo para transmitir mediante cualquier servidor de streaming. PLAYDECK no puede escribir etiquetas SCTE de HLS en el archivo de manifiesto HLS (el archivo *.3u8).

A continuación, queremos que PLAYDECK envíe automáticamente SCTE, no solo mediante un botón, sino en función del clip. Para ello, insertamos cualquier clip y hacemos clic en el icono «COMANDOS» de la barra de herramientas; a continuación, añadimos un nuevo comando, seleccionamos «TIEMPO DE REPRODUCCIÓN 0» e insertamos la muestra SCTE-35:

INFORMACIÓN: También puedes añadir marcadores SCTE a bloques, superposiciones y botones de acción.

Ahora pongámonos manos a la obra: pon el clip en “CUE” y “PLAY” e inicia la retransmisión en la configuración de PLAYDECK. Ve al WMSPanel y abre en el menú «Nimble Streamer» la opción «Live Streams». Ahora verás una transmisión en directo en curso. Haz clic en ella y selecciona el signo de interrogación situado en el extremo derecho, como se muestra aquí.

En la lista de “URL para reproducir”, selecciona la que termine en “playlist.m3u8” y haz clic en “Copiar”. A continuación, pega esta URL en cualquier navegador que tenga integrado o instalado un reproductor HLS. Para este ejemplo, utilizaremos el navegador CHROME con la siguiente extensión de reproductor HLS:
https://chromewebstore.google.com/detail/hls-player-m3u8-streaming/eakdijdofmnclopcffkkgmndadhbjgka

Una vez que hayas introducido esa URL en Chrome, verás que tu transmisión de PLAYDECK se reproduce inmediatamente. Ahora te mostraré cómo supervisar tu marcador SCTE. En Chrome, pulsa F12 para abrir las Herramientas de desarrollador. En la parte superior, haz clic en la pestaña “Red”. Ahora verás varios archivos “chunks.m3u8”, que forman parte de tu transmisión. Haz clic en uno de los archivos Chunk (también llamados HLS Manifest) y selecciona “Vista previa” junto a él. Ahora verás la etiqueta HLS SCTE. Si no está ahí, haz clic en otro chunk, ya que enviamos el SCTE solo al inicio del clip.

¡Ya está! Hemos alcanzado nuestros objetivos de prueba. Próximamente publicaremos más información que podría resultarte de interés.


Información adicional

Inicio de sesión en PLAYDECK

Registramos todas las etiquetas SCTE entrantes y salientes. Esto te ofrece además la posibilidad de comprobar tus etiquetas SCTE salientes simplemente conectando la salida a una entrada (tanto SDI como flujos) y dejando que PLAYDECK detecte tus etiquetas SCTE. Puedes abrir los archivos de registro desde el menú principal “Logs”:


Registro en Nimble Streamer

Si algo sale mal o no ocurre como se esperaba, un buen punto de partida es revisar los archivos de registro de Nimble. En Windows, el registro se encuentra aquí:
c:\Archivos de programa\Nimble Streamer\log

El registro está habilitado de forma predeterminada en la versión de prueba de Nimble, pero en caso de que necesites activarlo, aquí tienes los parámetros para el archivo “nimble.conf”.

log_access = archivo
logging = depuración

Ahora abre el archivo de registro y busca “SCTE”. Es posible que veas algo como esto, lo que indica que hay un error ortográfico en tu marcador SCTE en PLAYDECK:

[SCTE35] Tipo de comando de empalme no admitido: type=6 para [mynewapp/mynewstream]

Si tu marcador SCTE se ha analizado correctamente en Nimble, tendrá este aspecto:

[SCTE35] splice_insert: event_id=4157 oon=1 immediate=1 pts_adjustment=0 pts=0 actual_pts=202593600 duration=2707200 data=0xfc....



Herramienta: TSDuck

Se trata de una colección de herramientas y complementos con una amplia biblioteca para manipular flujos de transporte MPEG. Con ella, podrás insertar marcadores SCTE fuera de PLAYDECK basándote en un algoritmo u otra lógica compleja.

https://tsduck.io/


Herramienta: x9k3

Esta herramienta también puede convertir marcadores SCTE-35 de flujos UDP o archivos MPEG-TS en etiquetas HLS SCTE. Esto te permite instalar un servidor de streaming que no disponga de conversión automática de SCTE-35 a HLS.

https://github.com/futzu/x9k3