ffmpeg se retrasa al transmitir video + audio desde RPi Zero W con Logitech C920

ffmpeg se retrasa al transmitir video + audio desde RPi Zero W con Logitech C920

He estado intentando configurar un monitor para bebés con una Raspberry Pi Zero y una cámara web Logitech C920. Funciona con VLC (cvlc) pero se retrasa demasiado y empeora con el tiempo.

Así que estoy jugando con ffmpeg y obtengo mejores resultados. Esto es lo que he hecho hasta ahora.

Primero, configuro la cámara web para que emita h264 1080p de forma nativa (el Pi Zero W no puede permitirse el lujo de realizar ninguna transcodificación).

v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=1

Ahora, si transmito audio solo con

ffmpeg \
-f alsa \
-i hw:1,0 \
-vn \
-flags +global_header \
-acodec aac \
-ac 1 \
-ar 16000 \
-ab 16k \
-f rtp rtp://192.168.0.10:5002 > audio.sdp

Funciona muy bien y el retraso es de aproximadamente 1 segundo (definitivamente aceptable).

Si transmito vídeo sólo con

ffmpeg \
-f v4l2 \
-vcodec h264 \
-i /dev/video0 \
-an \
-vcodec copy \
-pix_fmt yuv420p \
-r 30 \
-b:v 512k \
-flags +global_header \
-f rtp rtp://192.168.0.10:5000 > video.sdp

Mismo resultado, muy poco retraso (por alguna razón, el primer -vcodec es necesario para forzar a la cámara web a generar h264).

Sin embargo, cuando transmito ambos con

ffmpeg \
-f v4l2 \
-vcodec h264 \
-i /dev/video0 \
-f alsa \
-i hw:1,0 \
-an \
-preset ultrafast \
-tune zerolatency \
-vcodec copy \
-pix_fmt yuv420p \
-r 30 \
-b:v 512k \
-flags +global_header \
-f rtp rtp://192.168.0.10:5000 \
-vn \
-flags +global_header \
-acodec aac \
-ac 1 \
-ar 16000 \
-ab 16k \
-f rtp rtp://192.168.0.10:5002 > both.sdp

El retraso aumenta hasta ~10 segundos y el audio y el vídeo no están sincronizados. ¿Alguien sabe por qué?

Probé UDP y TCP en lugar de RTP pero luego el retraso essiemprealto, incluso con audio/vídeo únicamente.

Cualquier sugerencia es muy apreciada.

PD: En el lado del cliente (MacOS), estoy recibiendo

ffplay -protocol_whitelist file,rtp,udp -i file.sdp

información relacionada