gpt4 book ai didi

batch-file - Ffmpeg - 感叹号停止水印

转载 作者:行者123 更新时间:2023-12-04 23:14:29 26 4
gpt4 key购买 nike

我正在使用下面的代码自动为文件夹中的视频添加水印:

for %%a in ("C:\Users\Work\Desktop\Redo\*.mp4") do (
for /F "delims=" %%I in ('ffprobe -v quiet -show_entries stream^=width -of csv^=p^=0:s^=x %%a') do set "codec=%%I"
ffmpeg -i logo.png -y -v quiet -vf scale=!codec!*0.25:-1 scaled.png
ffmpeg -i "%%a" -vf "movie=scaled.png [watermark]; [in][watermark] overlay=10:main_h-overlay_h [out]" "C:\Users\Work\Desktop\Redo Done\%%~na.mp4"
)

部分视频无法加水印,并出现以下类似错误:
C:\Users\Work\Desktop\Redo\Arcade_h-overlay_h [out]: No such file or directory

我发现所有带感叹号的视频 (!) 在名义上这样做。

如何将这些视频添加到标题中带有感叹号的水印?

最佳答案

setlocal disabledelayedexpansion
for %%a in ("C:\Users\Work\Desktop\Redo\*.mp4") do (
for /F "delims=" %%I in ('
ffprobe -v quiet -show_entries stream^=width -of csv^=p^=0:s^=x "%%a"
') do (
ffmpeg -i logo.png -y -v quiet -vf scale=%%I*0.25:-1 scaled.png
ffmpeg -i "%%a" -vf "movie=scaled.png [watermark]; [in][watermark] overlay=10:main_h-overlay_h [out]" "C:\Users\Work\Desktop\Redo Done\%%~na.mp4"
)
)

扩展 for 时感叹号将丢失延迟扩展激活时的可替换参数。因为您只使用延迟扩展来检索 codec值(value),不要做,你不需要它。变量内的值已经作为 for 可用。可替换参数,因此,只需将 ffmpeg第二个 for 中的命令并直接使用检索到的值。

关于batch-file - Ffmpeg - 感叹号停止水印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52021469/

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