Desde una perspectiva técnica, ¿cómo funcionan los servicios de transmisión de video?

¿Cómo funciona el registro del dispositivo?

Diferentes servicios atacarán esto de diferentes maneras. No soy un experto aquí, pero la mayoría de los métodos de registro de dispositivos se basan en direcciones IP, cookies y / o métodos de autenticación de usuarios.

¿Cómo funciona la autenticación de usuario?

La mayoría de los marcos de aplicaciones web tienen una guía de mejores prácticas para la autenticación de usuarios

Python / Django -> Autenticación de usuario en Django
Ruby on Rails -> Autenticación de Rails

¿Cómo se entrega el video?

Esto variará de un servicio a otro, pero el video moderno en Internet se ha asentado en un paradigma común de distribución: segmentos de video encapsulados HTTP. Apple HTTP Live Streaming, Microsoft Smooth Streaming, MPEG DASH y Adobe HDS son algunos de los protocolos que dependen de la segmentación de video en fragmentos relativamente pequeños (2 a 10 segundos) de video. Cada uno de estos protocolos trae consigo varias ventajas y desventajas que incluyen soporte al cliente, complejidad, costo, etc.

Hoy creo que el más ampliamente implementado de estos protocolos es el protocolo HLS de Apple debido a su soporte nativo en dispositivos Apple y su diseño relativamente simple (aunque continúa haciéndose más complicado con cada revisión de las especificaciones de Pantos)

Un flujo de trabajo VOD simple puede incluir la carga de activos MP4 o HLS (a diferentes velocidades de bits) a una red de entrega de contenido (CDN) que responde a las solicitudes del cliente y está optimizado para el empaquetado (cambio de archivos MP4 a segmentos HLS) y almacenamiento en caché. Algunos servicios eligen usar un proveedor de CDN como Akamai, mientras que otros (¿Netflix?) Pueden elegir construir su propia red de distribución.

¿Cómo funciona el almacenamiento en caché?

La industria se movió hacia los protocolos HTTP debido a las ineficiencias de los protocolos de transmisión continua como RTMP y MMS. Los CDN como Akamai, Limelight y Edgecast han creado redes extensas para entregar tráfico HTTP (ya que los sitios web se entregan a través de HTTP) y las transmisiones HLS generalmente se pueden almacenar en caché de manera similar.

Si está buscando construir una red de entrega de contenido propia, puede hacerlo simplemente alojando un servidor web HTTP y enfrentándolo con software de almacenamiento en caché como calamar o barniz. Sin embargo, reconozca que gran parte de este software ha sido diseñado para alojar / almacenar en caché archivos pequeños, mientras que los segmentos HLS son relativamente grandes en este contexto.

Referencias

¿Qué es un protocolo de transmisión de medios? – Revista Streaming Media

HTTP Live Streaming

Red de entrega de contenidos