gpt4 book ai didi

FFMPEG - 制作稳定且零填充的帧计数器

转载 作者:行者123 更新时间:2023-12-04 22:54:52 27 4
gpt4 key购买 nike

我使用 FFMPEG 在我的视频上打印帧计数器,但我有两个问题:
demo GIF

  • 文字口吃
  • 我希望有可能将数字填充为零(即写 001 002 003 而不是 1 2 3 )。

  • 代码:
    @echo off
    :again

    cd /D %~p1

    ffmpeg ^
    -i "%~nx1" ^
    -vf "drawtext=fontfile=arialbd.ttf: text='Frame \: %%{n}': start_number=1: x=(w-tw)/2: y=h-(2*lh): fontcolor=white: fontsize=40: box=1: boxcolor=black@0.4: boxborderw=8" ^
    -c:a copy ^
    "%~p1%~n1_framenumbered.mov"
    if NOT ["%errorlevel%"]==["0"] goto:error
    echo [92m%~n1 Done![0m

    shift
    if "%~1" == "" goto:end
    goto:again

    :error

    echo [93mThere was an error. Please check your input file or report an issue on github.com/L0Lock/FFmpeg-bat-collection/issues.[0m
    pause
    exit 0

    :end

    cls
    echo [92mEncoding succesful. This window will close after 10 seconds.[0m
    timeout /t 10
    解决方案:
  • 使用 `text='Frame : %{eif:n:d:3}' 获得零填充的帧数(感谢 this answer )
  • 使用等宽字体(courier new 在 Windows 上很常见)
  • 脚本未能加载字体,请改用完整路径,但 不带驱动器 (感谢 this answer ):
  • 做:/Windows/Fonts/courbd.ttf
  • 不要C:/Windows/Fonts/courbd.ttf也不使用\

  • 最佳答案

    使用 eif 函数。
    下面是它在命令行上的使用方式。您需要将其转义以在批处理文件中使用。 3是字段宽度。为获得最佳效果,请使用固定宽度的字体。

    text='Frame \: %{eif\:n\:d\:3}'

    关于FFMPEG - 制作稳定且零填充的帧计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64169546/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com