captura de cámara web ffmpeg a/v no sincronizada

captura de cámara web ffmpeg a/v no sincronizada

Estoy ejecutando este comando para capturar video y audio desde mi cámara web:

ffmpeg -y -f video4linux2 -s 320x240 -i /dev/video0 -f alsa -i "plughw:CARD=U0x46d0x825,DEV=0" -ac 2 -strict experimental Filename.mp4

Funciona, pero el audio está aproximadamente medio segundo detrás del video (por ejemplo, si aplaudo, cuando miro el video escucharé el aplauso y luego me veré hacerlo).

Esto es para una transmisión en línea, por lo que no puedo arreglarlo más tarde, debe grabarse correctamente.

Siempre parece estar desviado en la misma cantidad, por lo que estoy tratando de encontrar una opción para simplemente retrasar el momento en que el audio comienza a grabarse, pero no puedo resolverlo.

¿Algunas ideas?

Respuesta1

¿Le diste una oportunidad a Google? Miraraquí
Sugieren utilizar -asynco -vsyncsegún sus necesidades, o -mapen combinación con-itsoffset

Usar un reciente ffmpegcon el siguiente comando debería funcionar:

ffmpeg -y -f video4linux2 -s 320x240 -i /dev/video0 -itsoffset 2 -f alsa -i "plughw:CARD=U0x46d0x825,DEV=0" -ac 2 -strict experimental Filename.mp4

Respuesta2

VerFFmpeg: hora de inicio de audio muy alejadacómo resolví un problema muy similar. Solía ​​usarlo -itsoffsetantes, pero son demasiadas conjeturas para mi gusto.

información relacionada