Video sobre IP: Protocolos, Codecs y Configuración en VoIP
El video sobre IP (VVoIP) ha revolucionado la forma en que nos comunicamos, pasando de simples llamadas de voz a conferencias de alta definición y transmisiones en vivo. Sin embargo, transmitir video en tiempo real sobre redes IP no es trivial: requiere protocolos especializados, gestión de ancho de banda, elección correcta de codecs y la aplicación de QoS (Quality of Service) para garantizar calidad sin interrupciones.
RTSP y Video Streaming
El protocolo RTSP (Real-Time Streaming Protocol) es el estándar para la transmisión de video bajo demanda.
- Streaming de una vía: el video se almacena en un servidor y el cliente lo descarga para reproducirlo. Aquí se utiliza buffering para compensar jitter y pérdida de paquetes, a costa de un pequeño retraso inicial. Ejemplo: YouTube, Netflix.
- Videoconferencia (dos vías): a diferencia del streaming, requiere comunicación en tiempo real. No se pueden usar buffers grandes porque el retardo afectaría la interacción. Aquí es clave reducir jitter y latencia al mínimo.
Video en el Stack TCP/IP
El video en tiempo real se transmite principalmente sobre UDP, usando protocolos como RTP (Real-Time Transport Protocol).
- Aplicación: SIP/SDP negocian codecs y parámetros.
- Transporte: RTP sobre UDP lleva la voz y video.
- Red: IP proporciona direccionamiento, pero no garantiza entrega. 👉 Al usar UDP no hay retransmisión de paquetes perdidos, lo que reduce latencia pero aumenta la importancia de QoS.
Codecs de Video
Existen múltiples codecs que definen cómo se comprime y descomprime el video. Aquí una comparativa:
Codec | Licencia | Calidad | Ejemplo de uso |
---|---|---|---|
H.263 | Licenciado | Calidad básica (SD) | Videollamadas antiguas (ej. X-Lite). |
H.264 (AVC) | Licenciado | Alta calidad (HD/Full HD) | Zoom, Webex, MS Teams. |
H.265 (HEVC) | Licenciado | Muy alta (4K/8K) | Streaming 4K en plataformas OTT. |
VP8 | Libre | Calidad HD | Google Meet, WebRTC. |
VP9 | Libre | Alta calidad, menos ancho de banda que H.264 | YouTube HD/4K. |
AV1 | Libre (Open Media Alliance) | Muy alta eficiencia (4K/8K) | Netflix, YouTube (futuro estándar). |
Frame Rate y Resolución
- Frame Rate (fps): número de cuadros por segundo. Más fps = movimiento más fluido. Ejemplo: 30 fps (estándar), 60 fps (alta fluidez).
- Resolución: define la cantidad de píxeles en pantalla (SD, HD, 4K, 8K). A mayor resolución, mayor ancho de banda requerido.
QoS y Tagging en Video
Al igual que la voz, el video necesita QoS para priorizar su tráfico frente a descargas u otras aplicaciones.
- En Capa 2 (L2) se usan etiquetas 802.1Q/802.1p (CoS).
- En Capa 3 (L3) se emplean valores DSCP en el campo ToS del encabezado IP.
- En muchas redes se da prioridad al audio sobre el video, porque sin voz la conversación no puede continuar, aunque se pierda imagen.
Ejemplo de Traza SIP/SDP con Audio y Video
INVITE (oferta del cliente):
👉 El cliente ofrece dos codecs de audio (G.711 μ-law y A-law) y dos de video (VP8 y H.263).
v=0
o=- 1234 5678 IN IP4 192.168.1.10
s=VoIP Call
c=IN IP4 192.168.1.10
t=0 0
m=audio 4000 RTP/AVP 0 8
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
m=video 5000 RTP/AVP 96 34
a=rtpmap:96 VP8/90000
a=rtpmap:34 H263/90000
200 OK (respuesta del servidor):
👉 El servidor acepta G.711 A-law (8) para audio y H.263 para video, indicando sus puertos de recepción.
v=0
o=- 4321 8765 IN IP4 192.168.1.20
s=VoIP Call
c=IN IP4 192.168.1.20
t=0 0
m=audio 6000 RTP/AVP 8
a=rtpmap:8 PCMA/8000
m=video 7000 RTP/AVP 34
a=rtpmap:34 H263/90000
Activación de Video en Asterisk
Para habilitar video en Asterisk, se deben configurar los siguientes parámetros en sip.conf o pjsip.conf:
- videosupport=yes: activa el soporte de video.
- allow=: especifica qué codecs de video están permitidos.
- Se debe asegurar que tanto el endpoint como la red tengan suficiente ancho de banda y que QoS esté correctamente configurado.
[general]
videosupport=yes
allow=h263
allow=h264
allow=vp8
[1001]
type=friend
host=dynamic
context=from-internal
allow=all
videosupport=yes
Para redondear, además del videosupport=yes, agrega un snippet con configuración de DSCP para video en Asterisk o en el sistema operativo, por ejemplo:
; En sip.conf
tos_sip=cs3
tos_audio=ef
tos_video=af41
Conclusión
El video sobre IP combina protocolos (SIP, RTP, RTSP), codecs (H.264, VP8, AV1), y mecanismos de QoS para garantizar calidad. Desde un streaming en YouTube hasta una videollamada en Zoom, el éxito depende de una buena gestión de red y de la configuración correcta de servidores como Asterisk.