При создании счетчика кадров с использованием фильтра drawtext, изменяющаяся высота символов заставляет текст дрожать по вертикали при подсчете. Это можно остановить, применив значение «подъем» к координате y.

Однако, когда этот фильтр с отрисовкой текста также содержит прямоугольник вокруг числа кадров, этот элемент также дрожит по вертикали, и, похоже, нет способа применить тот же метод использования значения «подъем» для его стабилизации.

Пример команды (шрифт относится к macOS):

ffmpeg -f lavfi -i "color = red:size = 1280x720:rate = 24" -y -t 12 -c:v mjpeg -qscale:v 4 -huffman default -pix_fmt yuvj422p -vf "drawtext = fontfile =/System/ Библиотека / Шрифты / Geneva.dfont: fontcolor = white: fontsize = 150: box = 1: boxcolor = black: boxborderw = 5: x = 640: y = 500-восхождение: текст =% {n}: start_number = 0 "вывод .mov

Кто-нибудь знает способ предотвратить это с коробкой? Большое спасибо.

Полная неразрезанная команда:

ffmpeg версия N-93020-g3224d6691c-tessus https://evermeet.cx/ffmpeg/ Copyright (c) 2000-2019 разработчики FFmpeg, созданные с конфигурацией Apple LLVM версии 10.0.0 (clang-1000.11.45.5): --cc =/usr/bin/clang --prefix =/opt/ffmpeg --extra-version = tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libaom --enable-libass --enable- libbluray --enable-libdav1d --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable -libzimg --enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-flags = - статическая --di sable-ffplay libavutil 56. 26.100/56. 26.100 libavcodec 58. 44,100 / 58. 44.100 libavformat 58. 26,100 / 58. 26.100 libavdevice 58. 6.101 / 58. 6.101 libavfilter 7. 48.100 / 7. 48 100 фунтов стерлингов 5. 4.100 / 5. 4.100 libswresample 3. 4.100 / 3. 4.100 libpostproc 55. 4.100 / 55. 4.100 Вход # 0, lavfi, из 'color = red: size = 1280x720: rate = 24': Длительность: N / A, начало: 0.000000, битрейт: N / A Поток # 0: 0: Видео: rawvideo (I420 / 0x30323449), yuv420p, 1280x720 [SAR 1: 1 DAR 16: 9], 24 тбр, 24 тбн, 24 тбк Отображение потока: поток # 0: 0 -> # 0: 0 (rawvideo (собственный) -> mjpeg (собственный)) Нажмите [q], чтобы остановить, [?] для справки [swscaler @ 0x7fce5b00d800] не рекомендуется использовать формат пикселей, убедитесь, что вы правильно установили диапазон. Output # 0, mov, to 'output.mov': метаданные: кодировщик: Lavf58.26.100 поток # 0: 0: видео: mjpeg (jpeg / 0x6765706A), yuvj422p (шт.), 1280x720 [SAR 1: 1 DAR 16: 9], q = 2-31, 200 кбит / с, 24 к / с, 12288 тбит / с, 24 тбк Метаданные: кодер: Lavc58.44.100 mjpeg Дополнительные данные : cpb: битрейт макс / мин / среднее: 0/0/200000 размер буфера: 0 vbv_delay: -1 кадр = 288 к / с = 0,0 q = 4,0 Lsize = 7103 КБ время = 00: 00: 11,95 битрейт = 4865,5 Кбит / с скорость = 19,7x видео: 7101 КБ, аудио: 0 КБ, субтитры: 0 КБ, другие потоки: 0 КБ, глобальные заголовки: 0 КБ, мультиплексирование: 0,027039%

1 ответ1

0

Использование моноширинного шрифта фиксированной высоты для фильтра drawtext позволяет обойти эту проблему.

Ссылка на информацию о шрифте с фиксированной высотой здесь, плюс уверенность, что это также моноширинный шрифт. https://graphicdesign.stackexchange.com/questions/111439/is-there-a-font-that-has-the-same-height-for-every-character

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