輸出影像應如下所示:
我的命令是:
String[] command1211 = {"-i", inputPath_audio.mp3,
"-preset", "ultrafast",
"-filter_complex",
"[0:a]showspectrum=s=1280x720,format=yuv420p[v]",
"-map", "[v]", "-map", "0:a", "-c:v", "libx264", "-c:a",
"copy", filePath.mp4};
我想用這個指令在右下角加上浮水印。
這是我的水印命令:
“[1]比例=70:70 [tmp];[0][tmp]覆蓋=main_w-overlay_w-10:main_h-overlay_h-10”
我透過以下查詢實現了它:
String[] command12111 = {
"-i", inputPath_audio,
"-i",imagepath.getAbsolutePath(),
"-preset", "ultrafast",
"-filter_complex",
"[0:a]showspectrum=s=1280x720[spec];
[1]scale=70:70[watermark];[spec][watermark]overlay=main_w-
overlay_w-10:main_h-overlay_h-10[output]",
"-map", "[output]", "-map", "0:a", "-c:v", "libx264",
"-c:a",
"copy", filePath
};
答案1
您的原始命令缺少覆蓋浮水印所需的元素:
- 水印影像作為輸入
- 用於添加浮水印的疊加過濾器
因此,您需要另一個-i
用於浮水印輸入,以及一個overlay
將頻譜濾波器輸出與影像輸入連接起來的濾波器。
ffmpeg \
-i audio_path \
-i image_path \
-filter_complex \
"[0:a]showspectrum=s=1280x720[spec];
[1]scale=70:70[watermark];
[spec][watermark]overlay=main_w-overlay_w-10:main_h-overlay_h-10[output]
" \
-map "[output]" -map 0:a \
output.mp4
在這裡,重要的是要注意過濾器輸入的標籤(分別為兩個輸入的 0 和 1)和輸出(spec
、watermark
、...)。您可以使用它們來連接不同的過濾器。