gpt4 book ai didi

python - 在视频 ffmpeg 批处理脚本中显示文件名

转载 作者:行者123 更新时间:2023-12-04 23:32:39 33 4
gpt4 key购买 nike

我有一个包含大约 10 个不同 mov 文件的文件夹。我想在 bat 文件中使用 ffmpeg 将文件名作为文本添加到每个视频上。有人可以帮我实现这个吗?

编辑:

我试过使用

@ECHO OFF&Setlocal EnableDelayedExpansion
Set INPUT=E:\\Users\\Oli\\Documents\\Projects\\v1.3.0\\downloads3
Set OUTPUT=E:\\Users\\Oli\\Documents\\Projects\\v1.3.0\\downloads3
for %%a in ("%INPUT%\*.*") DO (
set "filename=%%~na"
ffmpeg -i "%%a" -vf "drawtext=text=!fileName:.= !:x=105:y=120:fontfile=E:\\Users\\Oli\\Documents\\Projects\\v1.3.0\\downloads3\\impact.ttf:fontsize=25:fontcolor=white" -b:v 1M -r 60 -b:a 320k -ar 48000 -crf 17 "%%~na.mov"
)`

但这给了我错误:
 Cannot find a valid font for the family Sans
[AVFilterGraph @ 0000026eb75a9f40] Error initializing filter 'drawtext' with args 'text=FileName1'
Error reinitializing filters!
Failed to inject frame into filter network: No such file or directory
Error while processing the decoded data for stream #0:0

最佳答案

让我们摆脱变量赋值,简单地使用变量扩展来设置名称。此外,虽然它仍然可以工作,但删除辅助反斜杠,因为它不需要并且看起来很难看,最后,总是换行 set双引号中的路径变量。试试这个。

@echo off
set "INPUT=E:\Users\Oli\Documents\Projects\v1.3.0\downloads3"
set "OUTPUT=E:\Users\Oli\Documents\Projects\v1.3.0\downloads3"
for %%a in ("%INPUT%\*.*") do (
ffmpeg -i "%%~a" -vf "drawtext=text=%%~na:x=105:y=120:fontfile=%~dp0impact.ttf:fontsize=25:fontcolor=white" -b:v 1M -r 60 -b:a 320k -ar 48000 -crf 17 "%%~na.mov"
)

关于python - 在视频 ffmpeg 批处理脚本中显示文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55171025/

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