Вам нужно реализовать очередь для хранения кадров в ней. Подумайте, у вас есть одна смена в секунду, тогда вам нужна очередь кадров для хранения до и после определенных секунд триггера.
Например, вам нужно 15 секунд до и после триггера.
В своей очереди вы добавляете изображение каждой секунды в очередь и проверяете, когда очередь заполнена (в данном случае 15 кадров), снимите один элемент с очереди и добавьте новый кадр в очередь. Таким образом, у вас всегда есть 15 кадров до начала события. Я думаю, что следующие 15 кадров после запуска события достаточно просты;)