batch-file - 有没有更有效的方法可以通过 ffmpeg 批量添加水印和加入视频?

标签 batch-file cmd ffmpeg

我有这个批处理文件,使用 ffmpeg 在我的视频中添加一个 Logo ,然后添加一个介绍,但它需要 10 小时到一天,具体取决于我必须添加多少水印,有没有更有效的方法来实现这一点?视频有时具有不同的分辨率,因此我无法删除对 1280*720 大小的转换。

for %%I in ("C:\Users\Administrator\Desktop\work\*.mp4") do ffmpeg.exe -y -i "%%I" -i white.png -filter_complex "[0:v]scale=iw:ih[v0];[1:v][v0]scale2ref=iw/6:ih/18[logo][0v];[0v][logo]overlay=W-w-3:H-h-1[v]" -map "[v]" -map 0:a -codec:v libx264 -preset ultrafast -crf 23 -codec:a copy "C:\Users\Administrator\Desktop\Complete-videos\%%~nI.mp4"

for %%I in ("C:\Users\Administrator\Desktop\work\*.mp4") do ffmpeg -y -i %%I -c copy -vbsf h264_mp4toannexb -f mpegts -s 1280*720 %%I.ts && ffmpeg -y -i "concat:out1.ts|%%I.ts|out1.ts" -c:v libx264 -strict experimental -bsf:a aac_adtstoasc -ar 48000 -r 20 "C:\Users\Administrator\Desktop\Complete-videos\%%~nI.mp4"
pause

最佳答案

单个命令:

ffmpeg -i main.mp4 -i white.png -i out1.ts -filter_complex
  "[1][0]scale2ref=iw/6:ih/18[logo][0v];[0v][logo]overlay=W-w-3:H-h-1,scale=hd720[vid];
   [2][2:a][vid][0:a][2][2:a]concat=n=3:v=1:a=1[v][a]"
-map "[v]" -map "[a]" -r 20 -preset fast -ar 48000 out.mp4

关于batch-file - 有没有更有效的方法可以通过 ffmpeg 批量添加水印和加入视频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43060025/

相关文章:

windows - 每次批处理脚本运行后如何清除变量?

google-chrome - ffmpeg mp4 x264 编码 -> 播放导致 Chrome 和 IE 中的 "pending"导致 10+ 秒延迟

具有多个输出的 FFmpeg 错误

java - 使用正确数量的参数从 Batch 脚本运行 Java 程序

Rscript 和包 : How and when to determine what packages are loaded?

windows - 如何仅在 Windows 命令提示符中存在父目录时才删除文件?

windows - 如何批量检查windows/explorer的启动时间?

python - 在 django 中使用 FFMPEG 在网络上上传后从视频中提取 WAV 音频文件

windows - 为什么不需要 `call` 从管道中涉及的被调用批处理脚本返回?

windows - 批处理命令删除具有特定名称和年龄的文件夹