Вопрос: Синхронизация нескольких камер


Как можно синхронизировать несколько потоков веб-камеры? Я попытался использовать FFMPEG, сопоставляя выходы с разными файлами в одной и той же командной строке, но это привело к тому, что 2 раза не синхронизировались видео, тем не менее, с разной длиной.

(Я наткнулся на аналогичный вопрос с IP-камерами, но мои не overIP, поэтому задержка вызвана по разной причине.)

команда:

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

1
2017-10-26 14:40


Источник


Если вы собираетесь редактировать его, я не думаю, что синхронизация. будет проблемой, но как выглядит ваша структура записи? какие команды вы использовали? - arielnmz
Я собираюсь записать много видео и показать их рядом друг с другом. Я попытался показать свои видео, но всякий раз, когда было сделано какое-то движение, это было ужасно - движение было сделано с разными сроками в каждом видео ... (я редактирую исходное сообщение и добавляю команду ffmpeg) - Ido Kessler


Ответы:


Поэтому после работы с ним в течение нескольких дней я нашел решение: По-видимому, при использовании -f dshow, это выделяет буфер реального времени. Хотя этот буфер позволяет кодировать видео с более высоким разрешением, это останавливает синхронизацию видео в реальном времени, поскольку они считываются из буфера, который не содержит метки времени.

Вместо этого выделите меньший буфер реального времени, который заставит ffmpeg отбрасывать кадры, если он не близок к реальному времени.

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

1
2017-10-29 15:00