[解決済み] ffmpegで動画の中央に透明の透かしを入れるには?
2023-05-24 06:23:03
質問
現在、以下のコマンドを使用しています。
Top left corner
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=10:10 [out]" outputvideo.flv
Top right corner
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=main_w-overlay_w-10:10 [out]" outputvideo.flv
Bottom left corner
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=10:main_h-overlay_h-10 [out]" outputvideo.flv
Bottom right corner
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=(main_w-overlay_w-10)/2:(main_h-overlay_h-10)/2 [out]" outputvideo.flv
動画の中央に透かしを入れるには?
どのように解決するのですか?
動画にウォーターマーク/ロゴ画像を追加する例です。 オーバーレイ フィルタを使用しています。
中央揃え
ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2" -codec:a copy output.mp4
または短縮されたオーバーレイのオプションで
overlay=(W-w)/2:(H-h)/2
左上
これは簡単なことです。なぜなら、オーバーレイのオプションを何も提供しない場合、デフォルトでは画像が左上に配置されるからです。
この例では、画像が端に触れないように5ピクセルのパディングを追加しています。
overlay=5:5
右上
5ピクセルのパディング付き。
overlay=main_w-overlay_w-5:5
または短縮オプションで
overlay=W-w-5:5
右下
5ピクセルのパディング付き。
overlay=main_w-overlay_w-5:main_h-overlay_h-5
または短縮オプションで
overlay=W-w-5:H-h-5
左下
5ピクセルのパディング付き。
overlay=5:main_h-overlay_h
または短縮オプションで
overlay=5:H-h-5
透明度 / 不透明度 / アルファ値
を使って透かしを50%透明にする例 形式 と カラーチャンネルミキサー フィルタを使用します。
ffmpeg -i input.mp4 -i watermark.jpg -filter_complex "[1]format=rgba,colorchannelmixer=aa=0.5[logo];[0][logo]overlay=(W-w)/2:(H-h)/2:format=auto,format=yuv420p" -c:a copy output.mp4
品質向上
を使用することで
format=auto
オプションを
オーバーレイ
オプションは、PNG透かしをより美しく見せることができます。
ffmpeg -i input.mp4 -i watermark.png -filter_complex "overlay=5:H-h-5:format=auto,format=yuv420p" -c:a copy output.mp4
を追加していることに注意してください。
形式が追加されていることに注意してください。
フィルタ(オプションと同じ名前ですが、独立したフィルタです)を追加して、MP4 出力に必要な YUV 4:2:0 にリセットしていることに注意してください。削除
,format=yuv420p
は、MP4 を出力しない場合は削除してください。
メイン動画に対して透かしを拡大縮小する
動画に scale2ref フィルタを使用します。
ロゴをメイン動画の10%(1/10)の大きさにする例。
ffmpeg -i input.mp4 -i watermark.png -filter_complex "[1][0]scale2ref=w=oh*mdar:h=ih*0.1[logo][video];[video][logo]overlay=5:H-h-5" -c:a copy output.mp4
関連
-
[解決済み】ffmpegの出力(tbc, tbn, tbr)の意味【非公開
-
[解決済み] プライベートなYoutubeの動画を自分のサイトに埋め込むにはどうしたらいいですか?
-
[解決済み] ffmpegを使用してフレームを抽出する最速の方法?
-
[解決済み] H.264ビデオとMPEG-4ビデオの違いは何ですか?[クローズド]
-
[解決済み] ffmpegを使って開始時刻と終了時刻を基準に動画をカットする
-
[解決済み] FFmpegで動画を回転させる
-
[解決済み] GitHub の wiki ページに YouTube の動画を埋め込むにはどうしたらいいですか?
-
[解決済み】ffmpegを使用してビデオに新しいオーディオ(ミキシングではない)を追加する方法は?
-
[解決済み] ffmpegで動画のスクリーンショットを1枚ずつ任意の時間に抽出する方法を教えてください。
-
[解決済み] ffmpegでビデオファイルから良質のJPEG画像を取り出すにはどうしたらよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ffmpegの出力(tbc, tbn, tbr)の意味【非公開
-
[解決済み] mp4.lvixのファイル拡張子は何ですか?また、安全に削除できますか?
-
[解決済み] ffmpegで字幕のデコードを無効にする方法
-
[解決済み] プライベートなYoutubeの動画を自分のサイトに埋め込むにはどうしたらいいですか?
-
[解決済み] YouTube埋め込み動画:異なるサムネイルを設定する
-
[解決済み] ffmpegを使用してフレームを抽出する最速の方法?
-
[解決済み] ffmpegを使って開始時刻と終了時刻を基準に動画をカットする
-
[解決済み] GitHub の wiki ページに YouTube の動画を埋め込むにはどうしたらいいですか?
-
[解決済み] HTML5でRTSPまたはRTPによるストリーミング配信
-
[解決済み] ffmpegで動画のスクリーンショットを1枚ずつ任意の時間に抽出する方法を教えてください。