23 puntos por GN⁺ 2024-09-05 | 2 comentarios | Compartir por WhatsApp
  • Broadcast Box es una herramienta que permite transmitir con latencia ultrabaja
  • Está diseñada para ser fácil de usar y sencilla de modificar. Fue desarrollada para mostrar tecnología de transmisión moderna
  • Ventajas de usar WebRTC
    • Latencia ultrabaja: maneja la transmisión y la reproducción con WebRTC en lugar de RTMP y HLS
    • Permite usar códecs de video modernos. Con el códec AV1, se puede transmitir la misma calidad de video usando 50% menos ancho de banda
    • Se pueden subir múltiples flujos de video dentro de la misma sesión. Es posible transmitir desde varios ángulos de cámara o compartir experiencias de video interactivas en tiempo real
    • Para ofrecer una buena experiencia de usuario, se necesita transcodificación. Con WebRTC, los usuarios pueden subir el mismo video en distintos niveles de calidad, lo que reduce los costos operativos del servidor
    • Con WebRTC, cualquiera puede convertirse en transmisor. Usando Broadcast Box, se puede utilizar software de transmisión como OBS. También es posible empezar a transmitir directamente desde el navegador, por lo que incluso los principiantes pueden iniciar un live streaming fácilmente.
    • Peer-to-Peer cuando se necesite: con Broadcast Box se puede entregar video sin IP pública ni port forwarding. Gracias a la tecnología P2P de WebRTC, es posible transmitir y reproducir video sin un servidor dedicado.
  • Cómo usarlo
    • Se puede usar directamente en b.siobud.com alojado, sin necesidad de ejecutar Broadcast Box de forma local
    • Para ejecutarlo localmente, consulta la sección Getting Started

Resumen de GN⁺

  • Broadcast Box es una herramienta que permite transmisiones con latencia ultrabaja y ofrece una experiencia rápida y eficiente mediante WebRTC
  • Está diseñada para que incluso los principiantes puedan usarla fácilmente y para ofrecer flexibilidad en distintos entornos
  • Refleja las tendencias más recientes en tecnología de transmisión, por lo que puede ser útil para quienes tienen interés en la industria del broadcasting
  • Proyectos con funciones similares incluyen OBS y GStreamer.

2 comentarios

 
roxie 2024-09-09

De verdad se logra un streaming estable por debajo de los 3 segundos. El boom de WebRTC ya viene..

 
GN⁺ 2024-09-05
Comentarios en Hacker News
  • Convirtieron Broadcast Box en un servidor de prueba para OBS

    • Se volvió más fácil probar el PR de WebRTC/WHIP
    • A medida que la gente lo usa, se perciben más sus ventajas y lo interesante que resulta
  • La baja latencia se trata de la relación con la audiencia

    • Las transmisiones cercanas se convierten en un nuevo medio
  • La retransmisión simultánea reduce los costos operativos de los sitios de streaming

    • No hace falta ejecutar ffmpeg/transcodificación del lado del servidor
  • AV1/H265/Opus permite transmitir incluso a usuarios con poco ancho de banda

    • Los usuarios con suficiente ancho de banda también pueden hacer streaming con mayor calidad que antes
  • UDP hace posibles los streams IRL/en roaming

    • No hace falta configuración personalizada para la reconexión
  • El multitrack permite enviar varios feeds de video o idiomas al mismo tiempo

  • El cifrado de extremo a extremo hace posible la distribución P2P

  • A quienes les interese este proyecto también podría interesarles el servicio de streaming WebRTC de Cloudflare

    • Streaming en vivo de latencia ultrabaja usando WHIP y reproducción usando WHEP
    • Es posible conectarse directamente a Cloudflare usando el plugin WHIP de OBS
    • El modelo de precios es de $1 por cada 1000 minutos, equivalente a $0.06 por hora
  • Una pregunta meta sobre por qué se prefiere el live streaming

    • El live streaming tiene varias desventajas
      • Requiere participación en tiempo real
      • No se puede editar (uso ineficiente del tiempo del espectador)
      • Del lado del cliente no se puede ajustar la velocidad ni saltar partes innecesarias
      • No permite índices ni tabla de contenidos
  • Broadcast Box usa WebRTC para la transmisión y la reproducción

    • Usa WebRTC en lugar de RTMP y HLS para ofrecer la experiencia más rápida posible
    • RTMP no tiene problemas para lograr baja latencia; la latencia la determina el stack de software
    • HLS agrega latencia adicional debido a limitaciones inherentes
  • Estaría muy satisfecho si esta función funciona bien

    • Jugar RPG juntos por internet deja de ser divertido si hay más de 1 segundo de latencia
    • Busqué una solución de streaming P2P de baja latencia, pero solo con OBS había problemas
    • Gracias por incluir este caso de uso
  • El estado actual de la tecnología para desplegar WebRTC a más de 100k clientes

    • Cuando trabajé en streaming de baja latencia hace unos años, WebRTC lograba menos de 1 segundo de latencia, pero faltaba infraestructura real para desplegarlo
    • Cloudflare y otros vendors estaban estandarizando el ecosistema
    • Me pregunto si se puede operar un broadcaster WebRTC escalable horizontalmente (y si existe una implementación open source)
    • Low-latency HLS o CMAF lograban menos de 5 segundos de latencia, pero eran muy fáciles de desplegar (archivos estáticos en un CDN/servidor http)
  • Siempre tengo problemas al hablar con mi familia por Jitsi

    • No pueden ver la pantalla, o la ven en baja resolución, o aunque la cámara esté encendida no se ve, o a todos se les corta la conexión
    • Me pregunto si Broadcast Box puede hacer streaming usando OBS Studio (sin depender de un servidor privativo)
    • No necesito más de 100k clientes, solo una conexión estable entre 2 y 4 clientes
    • Puedo operar un servidor fuera del NAT
    • Una latencia de 120 ms es imposible; estoy en Argentina y la mayoría está en EE. UU., así que ya hay más de 200 ms de latencia por internet hasta allá
    • Si Broadcast Box no es lo que busco, me pregunto si habrá otra alternativa
    • Ya conozco Zoom, Google y Teams, pero son vulnerables por depender de servidores privativos
  • Vi la siguiente frase en el README

    • "Puedes usar P2P para incorporar a otros broadcasters a tu stream. Ya no se necesitan configuraciones especiales ni servidores"
    • Tengo una configuración actual para hacer co-stream con un amigo
      • Mi amigo captura su gameplay con OBS
      • Mi amigo hace streaming desde OBS a una Raspberry Pi en mi casa
      • La Raspberry Pi ejecuta nginx para aceptar el stream RTMP
      • En otro dispositivo ejecuto OBS para capturar mi gameplay y agregar overlays
      • Mi OBS usa VLC como fuente de entrada para capturar el stream desde la Raspberry Pi
    • La configuración es terrible; el video tiene retraso y se congela seguido
    • Quiero revisar este proyecto, pero incluso después de leer el README no me queda claro cómo configurarlo
    • Necesito consejos
  • Como alguien que no está familiarizado con la latencia en transmisión de video, me pregunto cómo se compara con otras alternativas

    • También me interesa saber qué especificaciones de hardware se usaron para lograr la medición de 120 ms
  • Llevo varios años usando OvenMediaEngine

    • Ofrece funciones como esta, pero este proyecto también parece prometedor
    • Voy a probarlo