gpt4 book ai didi

python - 如何在python中的视频上叠加帧号

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

如何使用当前帧号为视频添加水印?
我的命令是
[ ffmpeg -i input -vf "drawtext=fontfile=Arial.ttf: text='%{frame_num}': start_number=1: x=(w-tw)/2: y=h-(2*lh): fontcolor =black: fontsize=20: box=1: boxcolor=white: boxborderw=5"-c:a copy output.mp4 ]
当我在终端中运行此命令时,我成功执行了我的任务。但是当我在 IDE (pycharm) 中使用这个命令时,它处理了 text='%{ 帧数 } 作为变量 IDE 引发错误,当我替换 帧数 使用 1 或 0 或任何数字,然后 IDE 执行我的代码并制作视频,但该视频没有当前帧号的水印。
我应该怎么办 ??

import os

cmd =f'''ffmpeg -i input.mp4 -vf "drawtext=fontfile=Arial.ttf: text='%{frame_num}': start_number=1: x=(w-tw)/2: y=h-(2*lh): fontcolor=black: fontsize=20: box=1: boxcolor=white: boxborderw=5" -c:a copy output.mp4'''

print(cmd)

os.system(cmd)

最佳答案

只需删除前缀 f使用普通文本而不是 f-string

cmd = '''ffmpeg -i input.mp4 -vf "drawtext=fontfile=Arial.ttf: text='%{frame_num}': start_number=1: x=(w-tw)/2: y=h-(2*lh): fontcolor=black: fontsize=20: box=1: boxcolor=white: boxborderw=5" -c:a copy output.mp4'''
或者你必须使用双 {{ }}f-string
cmd = f'''ffmpeg -i input.mp4 -vf "drawtext=fontfile=Arial.ttf: text='%{{frame_num}}': start_number=1: x=(w-tw)/2: y=h-(2*lh): fontcolor=black: fontsize=20: box=1: boxcolor=white: boxborderw=5" -c:a copy output.mp4'''

关于python - 如何在python中的视频上叠加帧号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72196136/

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