¿Qué tipo de tecnologías, bibliotecas, idiomas y habilidades se requieren para la transmisión de video en tiempo real?

La transmisión en estos días es solo servir archivos basados ​​en un manifiesto que describe cómo deben reproducirse esos archivos. Streaming significa entregar un archivo con una secuencia de paquetes que contienen video y audio. Debería considerar MPEG-TS como una tecnología clave porque esa es la cantidad de flujos que se empaquetan para su entrega.

Apache Kafka no tiene nada que ver con el video, es un software para pasar mensajes entre servidores, solo porque usa la transmisión de palabras como parte de su literatura no significa que se trate de medios.

NGINX y Apache tienen extensiones de transmisión de video para admitir servicios de transmisión.

La transmisión en una aplicación web implica el uso de un reproductor de JavaScript con etiquetas de video HTML5. Mire video.js y Shaka Player para bibliotecas para reproducción y Exoplayer es un reproductor clave de Android. También hay bibliotecas comerciales como VisualOn, KeyOS y castLAB que tienen mucho mérito.

Te recomendaría que leyeras mi otra respuesta a ¿Qué tan difícil sería crear un sitio web de transmisión de deportes HD en vivo?

Primero debe leer sobre la codificación de video digital (códec H264, H265 o HEVC, Mpeg4, Mpeg2, etc.)

Codificación de hardware y fuentes de video … HDMI, SDI, Archivos … etc.

Empaquetado de video = HLS, Smooth Streaming, TS, etc.

Reproductores de video HTML5

Jugadores Flash

Jugadores HLS + DRM

DRM (cifrado AES 128 o 256)

Sistemas de gestión de contenido de CMS

Streaming Server, Wowza, Nginx, Youtube, UStream, Livestream,

Catch Up, Time Shifting, distribución de CDN …

Hay muchos detalles …