
El Gran Baile de Oficiales de Sebastopol se celebra tradicionalmente en junio, pero esta vez la preparación no salió como se esperaba. Los organizadores decidieron lanzar el 'Baile de Sebastopol en Línea'. Dado que hemos transmitido este evento durante varios años, no había marcha atrás. Los espectadores están en Facebook, VK y YouTube, 35 parejas están bailando en sus casas.
En general, después de haber estado haciendo transmisiones en línea durante un tiempo, hemos notado la tendencia de que casi cada proyecto requiere (o nos exigimos a nosotros mismos) alguna novedad. A veces utilizamos SDI por primera vez, otras un video sendero, o transmitimos la señal mediante varios módems 4G desde el mar, un nuevo control remoto, matriz de señales, capturar video de un dron, retransmitir en 25 grupos de VK, y así sucesivamente. Cada nuevo proyecto nos sumerge en el mundo de las transmisiones aún más profundamente. Hablamos de esto en nuestro canal de YouTube VidMK y decidimos escribir también en Habr.
Entonces, el objetivo...
El baile de danzas se lleva a cabo en línea debido a la epidemia. Hay una pareja de baile principal, y los demás participantes bailan imitando a esta pareja, lo que significa que deben ver y escuchar a la pareja principal junto con la música.

Al principio se conecta el gobernador de Sebastopol para inaugurar el baile. La transmisión ya lista se emite en YouTube, Facebook y VK.

La forma más obvia era hacer una videollamada a todos. Se me ocurrió Zoom, pero generalmente trato de no ir directamente a lo que está de moda y busco alternativas. Puede que tengan un gran marketing, y aunque la herramienta sea buena, seguramente hay algo más. En el chat de AVstream se habló varias veces de TrueConf, así que decidí probarlo.
Es importante mencionar que estamos en Crimea y muchos servicios populares no funcionan aquí. Hay que buscar, y a menudo las alternativas resultan ser mejores. Por ejemplo, en vez del bloqueado Trello, comenzamos a usar el potente Planfix.
TrueConf me atrajo de inmediato por la posibilidad de levantar nuestro propio servidor. En teoría, esto significaba que no dependeríamos de la creciente carga en los centros de datos durante el período de autoaislamiento, estaríamos tranquilos en Sebastopol, conectando principalmente a usuarios locales y algunos de otras ciudades, y todo funcionaría de manera estable. Además, usar nuestro propio servidor era más económico. Y en el caso de nuestros clientes, también lo proporcionaron gratuitamente, ya que los organizadores del baile son una ONG.
En general, probamos el producto y nos dimos cuenta de que es adecuado para nosotros. Aunque no realizamos una prueba completa con 35 personas, teníamos algo de miedo sobre cómo se comportaría una computadora vieja actuando como servidor. Los requisitos para el sistema son bastante altos con tal carga, por lo que trajimos una computadora basada en AMD Ryzen 7 2700, y con ella nos sentimos más tranquilos.
El servidor se encontraba físicamente en el mismo lugar donde se llevaba a cabo la transmisión del baile. La aplicación principal para videoconferencias se conectó en la misma red con el servidor. Esto aumentaba la confianza en que la imagen llegar servidor ía sin problemas, y solo después se transmitiría en línea a los demás participantes. Por cierto, la conexión a Internet debe ser buena. Para nuestros 35 participantes, la velocidad de subida alcanzaba los 120 Mbit, lo que significa que una conexión de 100 Mbit no sería suficiente. En general, el servidor funciona, vamos a ocuparnos de la transmisión...
La señal de la cámara
Cualquier videollamada ofrece seleccionar una cámara web como fuente de imagen y un micrófono para el sonido. ¿Qué hacer si necesitamos conectar una cámara de video profesional y sonido de dos micrófonos con pista de fondo? En resumen, utilizamos NDI.
Debíamos dirigir y transmitir todo el programa en redes sociales. Para esto, teníamos una computadora principal actuando como mini-PTS (estudio de televisión móvil). Todo el trabajo se realizó con el programa vMix. Este es un software bastante potente para organizar transmisiones de varios tipos y niveles de complejidad.

Nuestra pareja de baile fue grabada por una sola cámara, no necesitábamos más. Capturamos la señal de la cámara utilizando una tarjeta interna BlackMagic Intensity Pro. En mi opinión, es una tarjeta adecuada para capturar una señal HDMI. Esta señal debía ser enviada como cámara web a TrueConf. Podríamos haber convertido de inmediato el flujo en una cámara web con vMix, pero no queríamos sobrecargar todo en una sola computadora. Por lo tanto, utilizamos una laptop separada para la videoconferencia con TrueConf.
¿Cómo obtener la señal de la cámara en una laptop? Se puede crear una señal de video virtual en una computadora y captarla en cualquier otra computadora de la red local tantas veces como se desee. Esto es NDI (Network Device Interface). Básicamente, es un tipo de cable virtual que no requiere una administración complicada. El ancho de un flujo para 1080p25 es casi 100 Mb, por lo que se necesita una red de 1 Gb o Wi-Fi superior a 150 Mb para un funcionamiento estable. Sin embargo, el cable es la mejor opción. Puede haber muchas señales NDI en una misma red local, siempre y cuando haya suficiente ancho de banda.
Así que, en la computadora principal en vMix, vemos la señal de la cámara y la enviamos a la red como señal NDI. En la laptop que se utiliza para la videoconferencia, captamos esta señal mediante el programa NDI Virtual Input del paquete NDI Tools (que es gratuito). Esta miniaplicación crea una cámara web virtual, donde se conecta la señal NDI requerida. Eso es todo, nuestra cámara HDMI apareció en TrueConf a través de NDI.
¿Qué pasa con el sonido?

Recogemos el sonido de dos micrófonos inalámbricos y la música de fondo mediante una buena mesa de mezclas de audio, y la ingresamos a vMix a través de una tarjeta de audio externa. Esta mezcla de audio es la que enviamos al aire y en nuestro flujo NDI para TrueConf. Allí, en lugar del micrófono de la laptop, seleccionamos NewTek NDI Audio. Ahora todos nuestros bailarines ven y oyen en la videoconferencia nuestra hermosa imagen y sonido de calidad.
Imagen en el aire
En TrueConf elegimos el modo estándar de videoconferencia, donde todos ven a todos. También había una opción en la que vemos a todos pero los demás solo ven a los presentadores. Esta opción es más efectiva, pero no habría el efecto de masividad.

En el formato de videoconferencia "todos ven a todos", se puede elegir cualquier ventana que necesitemos hacer grande. Así, los participantes veían a la pareja de presentadores, y creamos otro usuario desde el que transmitíamos la imagen al aire y alternábamos entre parejas. Hacíamos clic en la pareja deseada y ampliábamos su pantalla, las demás parejas aparecían pequeñas en la parte inferior. A veces mostraban todas las pantallitas para mostrar cuántas personas bailaban sincronizadamente.
Ahora sobre la sincronización
Seguramente te has preguntado sobre el retraso. Sí, había un retraso de aproximadamente 1-2 segundos en ambas direcciones. Aquí se está reproduciendo música, el sonido llega a los participantes más tarde, y ellos bailan con ese ritmo, mientras que su imagen vuelve a nosotros aún más tarde. Decidimos ignorar esto dentro del formato, y aun así se veía masivo e interesante.
Resolver el problema de sincronización para los espectadores se puede hacer mediante una demora artificial del sonido en nuestra transmisión para redes sociales. De esta manera, el espectador de la transmisión vería a los participantes bailar justo al ritmo de la música. Pero no es un hecho que la imagen llegue a todos con la misma demora. Esto complica aún más el esquema de la transmisión, pero definitivamente lo haremos así la próxima vez.
Por cierto, en el paquete NDI Tools hay otro mini programa: Scan Converter. Este crea señales NDI, capturando tu pantalla o tu webcam. Así es como se puede organizar fácilmente una transmisión, por ejemplo, de competiciones de ciberjuegos dentro de una red local, teniendo solo esta red y webcams. No se necesitan más dispositivos.

Para nosotros fue otro proyecto donde teníamos que probar en acción nuevas soluciones con las que no habíamos trabajado antes en transmisiones en vivo. Con gusto responderé a todos sus comentarios, estudiaré atentamente sus deseos y recomendaciones, si saben cómo se podría haber hecho mejor. El mundo de las transmisiones es infinito, muchas tecnologías aparecen ante nuestros ojos y se puede aprender más rápido juntos. A continuación, se puede ver un video resumen desde el lugar.

Fuente: habr.com
