OBS transmision y grabacion de sonido

Transmisión y grabación de sonido

Visión general

OBS-Studio es el primer software de transmisión convencional que admite la transmisión y grabación de sonido envolvente .
Tradicionalmente, esta es una característica reservada a los dispositivos de transmisión profesionales.
OBS-Studio puede transmitir y grabar hasta 8 canales de audio.
Los canales de audio pueden ser canales de sonido envolvente o canales multicanal más generales.

Casos de uso:

  • juego de azar
  • música
  • ambisónicos
  • transmisión multilingüe

Preparar

  • Configuración> Audio : simplemente seleccione un canal diferente de Mono o Estéreo en la lista de Canales. Haga clic en Aceptar en la ventana emergente Advertencia y reinicie OBS.
    Imgur
  • Configuración> Salida :
    • Modo de salida : seleccione Avanzado
    • Avanzado> Ficha Audio : se desbloquean velocidades de bits más grandes para sonido envolvente (hasta 1024 kbs). Seleccione una tasa de bits grande. Por defecto, OBS-Studio selecciona 160 kbs para estéreo. Esto es insuficiente para el sonido envolvente. Como regla general, 64 kbs x número de canales debe ser calidad de CD.
      Imgur
    • Grabación :
      se puede seleccionar la grabación FFmpeg estándar o personalizada.
      En el caso anterior, el códec utilizado será aac; en el último caso, todos los códecs (gratuitos) compatibles con FFmpeg están disponibles.
      (marque la casilla ‘Mostrar todos los códecs’).
      Para sonido envolvente, serán de interés: formatos libopus, aac (nativo), pcm (sin comprimir).
      Imgur
  • ADVERTENCIA IMPORTANTE : asegúrese de seleccionar el mismo diseño de canal que su entrada (si tiene una fuente de audio 4.1 no seleccione 7.1). Si no lo hace, la mezcla de canales puede (o no) ocurrir. Hay una nueva mezcla automática de canales cuando la mezcla ascendente o descendente es obligatoria por una diferencia en la distribución de canales entre la fuente y la salida. Esta rematrización de canales mezcla canales en general. O puede eliminar un canal (por ejemplo: la fuente 3.1 a la salida 4.0 elimina el canal LFE).
  • Las transmisiones DOLBY se pueden codificar en ac3 / eac (usando Salida> Avanzado> Grabación FFmpeg personalizada> transmitir a URL). Pero no se ha probado la compatibilidad con los distintos servicios de transmisión o reproductores web.
    Modifique esta wiki si esto funciona.
    La captura de Dolby puede ser complicada si los canales se agrupan en dos canales PCM; Para poder decodificar y codificar correctamente, todos los canales deben mantenerse en diferentes canales PCM.

Soporte de servicios de juegos y transmisión

Servicios de transmisión compatibles

A partir de ahora, los siguientes servicios han sido probados y son compatibles con la transmisión de sonido envolvente en vivo:

  • Twitch ,
  • Mezclador (rtmp pero NO con protocolo ftl),
  • Smashcast …
  • Facebook Live 360 ​​con audio espacial (requiere dispositivo de captura ambisonics)

Servicios incompatibles

  • YouTube Live (descarta los canales más allá de los dos primeros).
  • Facebook Live (mezcla todos los canales).

Reproductores y servidores de transmisión

Además de la transmisión a servicios como Twitch o Facebook Live, puede utilizar su propio servidor de transmisión que envía transmisiones a su sitio web.

Servidores de transmisión compatibles

Los siguientes servidores han sido probados e ingieren sonido envolvente en el protocolo rtmp:

  • wowza
  • nginx con módulo rtmp

Sin embargo, tenga en cuenta que las grabaciones del lado del servidor solo conservan los dos primeros canales.

Reproductores web compatibles

  • reproductores html5 (probados con hls o mpeg-dash):
    • videojs,
    • bitmovin,
    • elemento mediático
    • viblast (hls y tablero),
    • hls.js

NB: Flash Player acepta sonido envolvente rtmp en Dolby; podría funcionar ==> no probado.

Transmisión de música

Para bandas de música, Djing, …, ¡lleva tu producción con sonido envolvente al mundo!
Hay disponible hasta sonido envolvente 7.1. (Para más canales (hasta 16.0), consulte esta bifurcación ).

Filtros y VST

OBS-Studio tiene filtros de audio incorporados y compatibilidad con VST 2. Los filtros son compatibles con sonido envolvente; el VST también si originalmente admiten multicanal. Consulte la Guía de filtros .

Grabación de alta calidad

Seleccione la grabación FFmpeg personalizada y un formato PCM (por ejemplo, pcm_s24le para muestras de 24 bits) para audio sin comprimir.
Para formatos comprimidos, puede seleccionar también libopus y aac, que funcionarán muy bien (apunte al menos 64 kbs por canal).

Interfaz con una DAW

Para eso, necesitará alguna aplicación que garantice el enrutamiento.

Windows

Reaper :

  • SAR (requiere tener un controlador ASIO, por ejemplo ASIO4ALL si no posee una tarjeta ASIO).
  • rearoute (de Reaper, con hasta 256 canales) si usa el complemento ASIO
  • Voicemeeter (Excelente guía aquí de Jack0r para Voicemeeter Banana)
  • Cable de audio virtual (requiere v.4.50 o posterior).
    Imgur
  • Para el enrutamiento en Windows, consulte esta excelente guía de Jack0r nuevamente. Esta otra guía también puede ser de interés.

 

Mac OS

Probado con Reaper y las siguientes aplicaciones que garantizan el enrutamiento

  • Soundflower
  • Servidor Jack: consulte esta excelente guía .
  • Loopback
  • no probado: iShow U (guía aquí ).
  • no probado: WavTap (guía aquí ).

 

Linux

Ningún DAW probado. Actualice el Wiki si lo probó.

Ambisonics

Aunque los diseños de los canales están etiquetados con la posición (2.1, 5.1, etc.), es posible codificar sus canales para uso ambisónico siempre que su aplicación de decodificación esté configurada para suministrar las posiciones ambisónicas de acuerdo con el orden de los canales.
Este es el caso de Facebook Live 360 ​​con audio espacial.
Para usar este último en Configuración> Audio, seleccione: canales> 4.0; El códec aac es obligatorio (si usa Recording> Custom FFmpeg> to URL> select flv container, with rtmp URL to FB live 360 ​​y aac audio codec + x264 video codec).
Al transmitir a FB Live 360, la transmisión rtmp de cuatro canales se interpretará como portadora de ambisonics de orden 1.

Para que esta característica funcione, obviamente necesitará un dispositivo de captura de ambisonics.
Si tiene una grabación de audio aac o sin comprimir con 4 ambisonics, también puede reproducirla agregando una fuente multimedia.
(Si no funciona, verifique con ffmpeg que esté decodificado correctamente).

Ambisónicos de orden superior

Ningún servicio de transmisión en vivo admite más allá de los ambisonics de primer orden.
Para la grabación, aunque para el pedido 2 o 3, puede usar el tenedor de pkviet .
Si graba con libopus (Salida> Avanzado> Grabación FFmpeg personalizada), hay disponibles hasta 255 canales con mkv.
Sin embargo, tendrá que agregar la opción mapping_family = 255 a las opciones del codificador de audio FFmpeg en OBS-Studio.

Streaming multilenguaje

El soporte multicanal en OBS permite transmitir varios idiomas simultáneamente.
Esto es útil para la traducción en vivo (charlas públicas …).

Los principales servicios de transmisión por secuencias no admiten dicha función directamente.
En la industria de la radiodifusión, generalmente se utilizan transmisiones multipista de MPEG-TS en lugar de una transmisión multicanal (en una sola pista).

Sin embargo, existen soluciones que permiten utilizar un audio multicanal de una sola pista.
Aquí hay uno que requiere:

  • nginx con módulo rtmp ;
  • Los scripts ffmpeg que serán ejecutados por nginx: ffmpeg dividirá los canales de audio y creará flujos rtmp mono (tantos como idiomas haya).
  • nginx puede enviar cada una de estas transmisiones rtmp mono a un servicio como FB o YouTube Live.

Para la configuración de nginx con el módulo rtmp, consulte en otro lugar. (Asegúrese de configurarlo con un solo trabajador).

La configuración es la siguiente para la captura de sonido envolvente con cada canal mono que lleva un idioma:
(captura probada: tarjetas sdi / hdmi decklink, reaper, Behringer X32, tarjetas de sonido ASIO).

  • obs con sonido envolvente habilitado
  • rtmp transmite a nginx que se configura con un script exec
    rtmp {       
    server {    
      listen 1935;
      ping 30s; 
      notify_method get;  
    
      application splitter {
        live on;
        allow play all;
        exec /home/me/splitter.sh $name;
        exec_kill_signal term;
        record off;
     }
    }
    • aquí nginx ejecuta un script ffmpeg que dividirá los canales y redirigirá los flujos mono rtmp a nginx.

Script de ejemplo FFmpeg (para dos idiomas y una fuente estéreo):

#!/bin/bash
echo "$(date +"%Y/%m/%d %H:%M:%S"): starting"
on_die() {
  # kill all children
  pkill -KILL -P $$
}
trap 'on_die' TERM

ffmpeg -i rtmp://IP:port/splitter/ \
       -filter_complex \
          "[0:a]pan=mono|c0=c0,aresample=async=1000[a0]; 
           [0:a]pan=mono|c0=c1,aresample=async=1000[a1]" \
       -map 0:v -copyts -start_at_zero -vcodec copy \
         -map [a0] -bsf:a aac_adtstoasc -copyts -start_at_zero -c:a libfdk_aac -ab 64k -ac 1 \
         -f flv rtmp://IP:PORT/app/stream_language1 \
       -map 0:v -copyts -start_at_zero -vcodec copy \
         -map [a1] -bsf:a aac_adtstoasc -copyts -start_at_zero -c:a libfdk_aac -ab 64k -ac 1 \
         -f flv rtmp://IP:PORT/app/stream_language2 &
wait

Para más idiomas, elija un diseño de canal correspondiente y agregue transmisiones relevantes en el script FFmpeg. También debe leer la guía de filtrado de ffmpeg . Tenga en cuenta que para 5.1 y 7.1 un canal (el cuarto) se codificará como LFE y, por lo tanto, no se podrá utilizar. Para un máximo de 16 canales de soporte, el cheque del pkviet tenedor .

Lista detallada de funciones de sonido envolvente

  • Grabación y transmisión de fuentes de audio multicanal (sonido envolvente).
  • Servicios de transmisión compatibles: Twitch, Mixer rtmp (no ftl), smashcast, FB 360 live
  • Protocolos compatibles:
    • rtmp
    • mpeg-ts tcp udp (otros no probados).
  • Servidores de transmisión probados:
    • wowza,
    • nginx-rtmp
      (rtmp con audio multicanal pasa y estos servidores pueden distribuirlo a otro servicio o cdn que admita sonido envolvente; sin embargo, la función de grabación de estos servidores no funciona; solo se conservan los dos primeros canales de audio).
  • Reproductores html5 probados y funcionando con sonido envolvente en vivo:
    • videojs,
    • bitmovin,
    • elemento mediático
    • viblast (hls y tablero),
    • hls.js
  • Contenedores compatibles (para grabaciones):
    • mkv
    • mp4
    • ts
    • flv (otros no probados).
  • Códecs compatibles:
    • ffmpeg aac (codificador nativo, hasta 16 canales),
    • libfdk_aac (hasta 7.1),
    • core audio aac (hasta 7.1),
    • opus (codificador libopus, hasta 255 canales),
    • vorbis (hasta 7.1),
    • pcm (otros no probados).
  • SO: compatible con win, macOS, linux (alsa, pulse-audio).
  • Misc:
    • Velocidades de bits de audio más altas (hasta 1024 kbs) desbloqueadas para adaptarse a un mayor número de canales.
    • monitoreo de audio, filtros de audio, VST están todos funcionando OOB.