出力画像は以下のようになります。
私の命令は:
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
ここで、フィルター入力のラベル (それぞれ 2 つの入力に対して 0 と 1) と出力のラベル ( spec
、、watermark
…) に注意することが重要です。これらを使用して、さまざまなフィルターを接続します。