2

Мне удалось закодировать видео с помощью ffmpeg и наложить каждый кадр на номер кадра, используя фильтр drawtext.

Моя проблема заключалась в том, что при использовании опции «text =% {n}» первый кадр был равен 0, а это не то, что мне нужно.

Затем я использовал код "text =% {expr\:n+1}", и первый кадр теперь равен 1, как и должно быть, но он распечатывает 1.000000

Кто-нибудь знает способ удалить то, что идет после десятичной точки?

3 ответа3

2

Была такая же проблема, мне потребовалось некоторое время, чтобы узнать ответ. В документах есть

expr_int_format, eif Оценить значение выражения и вывести его как отформатированное целое число.

Первый аргумент - это вычисляемое выражение, как и для функции expr. Второй аргумент указывает формат вывода. Допустимые значения: «x», «X», «d» и «u». Они обрабатываются точно так же, как в функции printf. Третий параметр является необязательным и устанавливает количество позиций, занимаемых выходными данными. Может использоваться для добавления отступов с нулями слева.

Например :text=' == %{eif\:33\:x} ==' здесь отлично работает. Обратите внимание: сколько экранирования (сколько обратной косой черты) вам нужно, связано с вашей средой

Итак, для вашего случая это делает трюк:

"text=%{eif\:n+1\:d}"
0

Сначала разделите видео на отдельные кадры, затем используйте Multiple Image Resizer.NET, чтобы разместить номера кадров в каждом кадре. Затем объедините изображения во второй видеоклип.

0

Кто-нибудь знает способ удалить то, что идет после десятичной точки?

Возможно нет. Из билета FFmpeg # 1949: Показать номер кадра на каждом кадре:

Попробуйте новую функцию расширения% {expr\:n+1} (обратите внимание на двойное экранирование), она печатает двойное значение, контроль форматирования не предусмотрен.

Вы можете добавить запрос функции в систему отслеживания ошибок FFmpeg, и он может быть реализован в зависимости от интереса и времени разработчика, но, конечно, исправление, посвященное этой проблеме, будет более чем приветствоваться.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .