Gstreamer: сохранение изображения / JPEG с помощью multifilesink каждые 5 секунд - PullRequest
0 голосов
/ 13 февраля 2020

Я пытаюсь выяснить, как сохранять изображение, используя мультифиликс, каждые N секунд (скажем, 5). Мой конвейер get-launch-1.0 находится ниже: gst-launch-1.0 videotestsrc ! 'video/x-raw, format=I420, width=400, height=400, framerate=1/5' ! jpegenc ! multifilesink location=/some/location/img_%06d.jpg

Я думал, что опция частоты кадров может контролировать скорость захвата, но, похоже, она ни на что не влияет. Как я могу отложить этот конвейер, чтобы сохранять JPEG только каждые N секунд?

Редактировать: Итак, я подумал, как это будет работать с videotestsr c, если вы установите "is-live = true", но я хотел бы сделать это с помощью nvcamerasr c или nvarguscamerasr c.

1 Ответ

1 голос
/ 13 февраля 2020

Когда videotestsr c не работает как живой источник, он будет выкачивать кадры так быстро, как только может, обновляя временные метки на основе выходной частоты кадров, настроенной на панели источника. Установка его в режим live гарантирует, что он действительно соответствует ожидаемой частоте кадров. Это не должно быть проблемой для настоящего живого источника, такого как источник камеры.

Однако что-то подобное может вызвать синхронизацию с videotestsr c:

gst-launch-1.0.exe videotestsrc ! video/x-raw, format=I420, width=400, height=400, framerate=1/5 ! identity sync=true ! timeoverlay ! jpegenc ! multifilesink location="/some/location/img_%06.jpg"
...