¿Los servicios modernos de transmisión de video se basan en TCP o UDP? ¿TCP es lo suficientemente rápido como para admitir servicios como Netflix?

Hay dos componentes para la transmisión de video / audio, y los modernos (NF Flash, YouTube) usan ambos.

Primero es la configuración del archivo, luego el inicio de la transferencia, luego la recepción en el dispositivo de visualización.

La configuración y el inicio del archivo son manejados por TCP.

La transferencia de datos se realiza mediante UDP.

Hay dos o más canales de datos utilizados al mismo tiempo. Un canal de control y un canal de datos.

El elemento de control se usa para interactuar con la aplicación, y el elemento de datos se usa para entregar el contenido.

Así es como se pueden implementar las ‘características’ de reenvío, copia de seguridad y pausa.

En cuanto a la segunda parte de la pregunta:

TCP es ciertamente ‘lo suficientemente rápido’, ya que no depende de la velocidad de la línea. Sin embargo, TCP no está diseñado para la transferencia masiva de datos, y la transmisión de video / audio es exactamente eso.

La pregunta debe ponerse en contexto.

¿Una línea de 64 kbps podría soportar netflix? No. Simplemente no tiene el ancho de banda para soportarlo.

¿Una línea de 64 kbps podría soportar la transferencia de archivos? Sí, puede hacerlo, y lo ha hecho. Solo tomaría una cantidad insoportable de tiempo hacerlo.

¿Una línea de 1 Mb / s admitiría una sola transmisión de Netflix? Sí, debería hacerlo en un dispositivo de baja resolución, ya que la resolución del dispositivo determina los datos que se deben entregar, y una señal de 480p necesita menos ancho de banda que una imagen 4K.

La mayoría de los servicios de transmisión modernos utilizan HTTP porque atraviesa todas las redes sin problemas y el estándar está bien establecido. Encaja bien en CDN y todos los navegadores lo admiten. Muchos proveedores están utilizando o explorando HTTP / 2 con su híbrido de TCP con extensiones UDP.

Algunas compañías están explorando el movimiento UDP directo con Websockets, pero esto sigue siendo una minoría.

Es posible usar ambos pero no al mismo tiempo. Netflix requiere Microsoft Siverlight en la PC, mientras que no estoy 100% seguro de que Silver Light sea compatible con el tráfico UDP. En general, para las aplicaciones intensivas de ancho de banda que usan tráfico UDP es más rápido, sin embargo, el dosificador del servidor de envío recibe la confirmación de la transmisión errónea de un paquete. Por esta razón, asumiría que netflix se basa en TCP como si los paquetes se perdieran en la forma en que se pueden retransmitir. Esto sería benéfico para que no obtenga pixelación mientras mira un video.

Secuencias de video HTTP a través del puerto 80 utilizando TCP y fragmentos almacenados en búfer.

Estoy bastante seguro de que usa TCP con un sistema de caché de búfer, para que no haya interrupciones durante la transmisión.