У меня есть куча видео со статистикой того, что происходит внутри видео. Одна такая информация дается в единицах времени видео в секундах с точностью до одного десятичного знака.
Чтобы получить FPS видео, я использую ffmpeg -i
Но когда я вручную вычисляю время одного конкретного кадра с заданным FPS, оно не совпадает.
Например, ffmpeg выдает FPS = 30.
Я смотрю статистику видео, кадр 156,8 = 2,368 должен быть 4704'th
кадром. Я открываю видео с помощью "skvideo", читаю все кадры и просматриваю 4704'th
кадр. Это какой-то кадр примерно в 2.12 ?. Я проверил несколько таких случаев в нескольких видео, и это обычное поведение.
Я не понимаю, почему это так и как решить проблему?
Таким образом, я не ограничен ffmpeg. Сквидео используется для чтения видео. Я пробовал opencv
, на данный момент он не работает с VideoCapture
, и его переустановка требует больших затрат времени. Но я думаю, что opencv / skvideo не имеет значения, кадры можно подсчитывать и вручную.
Итак, в решении я ищу -
Учитывая временные метки внутри видео, как я могу найти кадр с этим конкретным временным местоположением?
Если кто-то уже работал над этим, это связано с набором данных
THUMOS
. Я использую Ubuntu 16.04
РЕДАКТИРОВАТЬ_1
На самом деле я могу быть более конкретным, поскольку это общедоступные данные. Границы времени - важная деятельность. Например, в видео, когда происходит баскетбольный данк? Дается парами - [начало конец]. В некоторых видео есть несколько действий, в некоторых - только одно.
Вот пример видео, а ниже - время активности.
[[ 16.5, 20.8],
[ 26.6, 32.2],
[ 34.8, 42.1],
[ 47.8, 50.0],
[ 58.1, 62.9],
[ 65.6, 67.2],
[ 68.5, 74.0],
[ 76.4, 78.3],
[ 78.7, 79.8],
[ 80.8, 82.1],
[ 85.0, 87.3],
[ 90.1, 91.4],
[ 98.5, 100.3]]
Я также попробовал проверить вручную, 32,87 FPS «почти» работает для некоторых видео, но не для всех. и почти означает, что он выключен на ~ 10 кадров. Это огромная разница для моей задачи, и мне нужен точный кадр.
Кроме того, должен быть какой-то способ, потому что с помощью нескольких видеопроигрывателей можно визуально наблюдать, что время в наборе данных правильное.