我想使用 ffmpeg 创建带水印的硬字幕视频。而且我想知道如何组合和简化多个命令,或者如何为此目的创建一个 bash 脚本。
我试过在 stackflow 中搜索并测试了一些命令,但它们没有用。这是我正在使用的命令。
ffprobe -v quiet -show_entries stream=width,height -of default=noprint_wrappers=1 video_in.mp4
ffmpeg -i watermark.png -y -v quiet -vf scale=1280*0.15:-1 watermark_scaled.png
ffmpeg -i video_in.mp4 -i watermark_scaled.png -filter_complex "overlay=W-w-5:5" video_marked.mp4
ffmpeg -i video_marked.mp4 -vf ass=subtitle.ass video_final.mp4
最佳答案
您不需要检测视频尺寸。 scale2ref过滤器可以使用引用调整输入的大小。
这是一个命令中的所有步骤。
ffmpeg -i video_in.mp4 -i watermark.png
-filter_complex "[1][0]scale2ref=iw*0.15:ow/mdar[wm][v];
[v][wm]overlay=W-w-5:5,ass=subtitle.ass"
-c:a copy video_final.mp4
关于bash - 如何使用 bash 脚本或简化 ffmpeg 命令以调整水印大小、将其添加到视频中并将 subtitle.ass 添加到视频中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53922256/