Capture varias cámaras sincronizadas

2

¿Cómo puedo capturar múltiples secuencias de cámara web sincronizadas? Intenté usar FFMPEG, mapeando las salidas a diferentes archivos en la misma línea de comando, pero esto resultó en 2 videos no sincronizados, sin embargo, con diferentes longitudes incluso.

(Me encontré con una pregunta similar con las cámaras IP, pero las mías no están sobre IP, por lo que el retraso se debe a diferentes razones).

mando:

ffmpeg -f dshow -i video="@device_pnp_\\?\usb#vid_5986&pid_111c&mi_00#6&104790c2&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global" -f dshow -i video="@device_pnp_\\?\usb#vid_5986&pid_111c&mi_00#6&104790c2&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global" -map 0 -vcodec copy out2.mp4 -map 1 -vcodec copy out1.mp4
Ido Kessler
fuente
Si vas a editarlo después, no creo que se sincronice. sería un problema, pero ¿cómo se ve su marco de grabación? ¿Qué comandos usaste?
arielnmz
Voy a grabar muchos videos y mostrarlos uno al lado del otro. Traté de mostrar mis videos, pero cada vez que se hizo algún movimiento fue horrible: el movimiento se hizo con diferentes tiempos en cada video ... (edito el mensaje original y agregué el comando ffmpeg)
Ido Kessler

Respuestas:

2

Entonces, después de trabajar con él durante unos días, encontré una solución: aparentemente, cuando lo uso -f dshow, asigna un búfer en tiempo real. Si bien este búfer le permite codificar el video con una resolución más alta, esto detiene la sincronización del video en tiempo real porque se están leyendo desde un búfer que no contiene ninguna marca de tiempo.

En su lugar, asigne un búfer en tiempo real más pequeño que obligará a ffmpeg a soltar cuadros si no está cerca del tiempo real.

ffmpeg -f dshow -rtbufsize 1M -r 30 -i video="@device_pnp_\\?\usb#vid_045e&pid_075d&mi_00#6&eb52b6a&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global" -f dshow -rtbufsize 1M -r 30 -i video="@device_pnp_\\?\usb#vid_045e&pid_075d&mi_00#8&46f2efb&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global" -framerate 30 -map 0 -c:v libx264 -preset ultrafast -y C:\1\output1_1.mp4 -framerate 30 -map 1 -c:v libx264 -preset ultrafast -y C:\1\output2_1.mp4
Ido Kessler
fuente