что делает select = not (mod (n \, 500)) в ffmpeg? - PullRequest
0 голосов
/ 01 октября 2019

Я пытаюсь получить коллаж (получение изображений с разных таймфреймов и объединение их в одно изображение) с помощью FFmpeg. Я скопировал этот код из Интернета.

ffmpeg -ss 00:00:10 -i uploads/high.webm -frames 1 -vf "select=not(mod(n\,500)),scale=480:360,tile=10x5" out.webp

, он работает, но не смог выяснитькак это работает более конкретно, что это такое select=not(mod(n\,500))

1 Ответ

1 голос
/ 01 октября 2019

In select=not(mod(n\,500)),

select вызывает видеофильтр select , который отправляет кадр вперед, если выражение оценивается как ненулевое, иначе отбрасывает его.

mod(var,X) возвращает модуль (остаток после деления) деления var на X. В mod(n,500), n - это индекс текущего кадра, начиная с нуля, поэтому это выражение оценивается как 0, 1, 2 ... 498, 499, 0, 1, 2, ... 498, 499, 0, 1, 2 ... для увеличения n.

not(expr) инвертирует значение выражения, заключенного в скобки - 0, если expr не равно нулю, и 1, если expr равно нулю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...