gpt4 book ai didi

Bash脚本从文件名(ffmpeg)文本水印视频

转载 作者:行者123 更新时间:2023-12-04 23:27:37 25 4
gpt4 key购买 nike

我想在我的视频上自动添加一些文本以“加水印”。基本上我想在我的文件名中创建一个标记(例如“&&”)。然后我希望脚本将“&&”之后的内容放在“drawtext”内容中。

例如,名为“Video2132 && The First Test”的文件会使“text=”之后的部分变为“The First Test”。

下面的代码在没有 drawtext 部分的情况下工作正常。

一旦我添加了该函数,脚本就会运行,但它会创建空的视频文件(零字节)。

for f in ./*.mov; do
printf '%s\n' "Doing stuff with: ${f}"

i='0'
while (( i <= 5 )); do
ffmpeg -ss "$(( i * 25 ))" -t 25 -i "${f}" -acodec copy -vf drawtext="fontfile=/Users/mac1/Library/Fonts/Gillsanslight.ttf: \
text='Stack Overflow': fontcolor=white: fontsize=24: box=1: boxcolor=black@0.5: \
boxborderw=5: x=(w-text_w)/2: y=(h-text_h)/2" -codec:a copy "${f%.mov}.${i}.mov" -loglevel quiet
(( i++ ))
done
done

最佳答案

将文件名分配给变量并替换 FILENAME PART到您的文件名变量。

您没有指定名称在哪里 Video2132 && The First Test来自。

$file_name=$(echo "Video2132 && The First Test" |sed 's/^.*&& //') # TODO, extract the name

然后将过滤器从
drawtext="fontfile=/System/Library/Fonts/Arial.ttf:text='FILENAME PART':fontcolor=red@1.0:fontsize=70:x=00:y=40"


drawtext="fontfile=/System/Library/Fonts/Arial.ttf:text='"$file_name"':fontcolor=red@1.0:fontsize=70:x=00:y=40"

关于Bash脚本从文件名(ffmpeg)文本水印视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37781015/

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