gpt4 book ai didi

windows - ffmpeg - 2 个文件 - 转换 -> 连接 -> 水印不起作用

转载 作者:行者123 更新时间:2023-12-04 23:08:45 24 4
gpt4 key购买 nike

我目前正在尝试向我的视频批量添加 outros 和水印。
我是新来的。

这是我将视频转换为相同格式的代码

cd source

for %%f in (*.mp4) do (
ffmpeg -i "%%f" -c:v libx264 -b:v 1500k -s 720x720 -crf 22 -g 1 -keyint_min 1 -preset slow -shortest -ar 44100 "../converted/c_%%f"
)

cd outro
for %%f in (*.mp4) do (
ffmpeg -i "%%f" -c:v libx264 -b:v 1500k -s 720x720 -crf 22 -g 1 -keyint_min 1 -preset slow -shortest -ar 44100 "../../converted/outro/c_%%f"
)
call concat.bat
pause

这是我用来连接文件的代码:
cd converted   
for %%f in (*.mp4) do (
echo.>%%f.list
echo file '%%f' >> %%f.list
echo file 'c_outro.mp4' >> %%f.list
)


for %%f in (*.list) do (
ffmpeg -f concat -i %%f -c copy concatenated/%%f.mp4
)
call final.bat
pause

这是我用来添加水印的代码:
    cd concatenated 
for %%f in (*.list) do
ffmpeg -i "%%f" -i logo.png -filter_complex "overlay=10:10" "../../final_%%f"
)

pause

我在哪里做错了?它可以毫无问题地转换视频并将它们连接起来,但给它们加水印似乎不起作用。请指教。

最佳答案

正如@LN 所说,在一个命令中完成。

ffmpeg -i main.mp4 -i outro.mp4 -loop 1 -i logo.png
-filter_complex "[0]scale=720:720,setsar=1[m];[1]scale=720:720,setsar=1[o];
[m][0:a][o][1:a]concat=n=2:v=1:a=1[v][a];[v][2]overlay=10:10:shortest=1[vid]"
-c:v libx264 -ar 44100 -map [vid] -map [a] "../converted/final_%%f"

当然,您将不得不遍历源视频,就像在 Q 中一样:
for %%f in (*.mp4) do (
ffmpeg -i "%%f" -i outro.mp4 -loop 1 -i logo.png
-filter_complex "[0]scale=720:720,setsar=1[m];[1]scale=720:720,setsar=1[o];
[m][0:a][o][1:a]concat=n=2:v=1:a=1[v][a];[v][2]overlay=10:10:shortest=1[vid]"
-c:v libx264 -ar 44100 -map [vid] -map [a] "../converted/final_%%f"
)

最好将 outro 转换一次以匹配源视频属性:
ffmpeg -i outro.mp4 -vf scale=720:720,setsar=1 -ar 44100 -g 1 outro-new.mp4

如果您这样做,请跳过 [1]scale=720:720,setsar=1[o];并替换 [o][1:v]

关于windows - ffmpeg - 2 个文件 - 转换 -> 连接 -> 水印不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39216906/

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