動画 へ戻る
動画ウォーターマーク — PNG / JPG ロゴを焼き付け

動画ウォーターマーク — PNG / JPG ロゴを焼き付け

動画ファイル (MP4 / MOV / WebM / MKV など) と透かし画像 (PNG / JPG / WebP) をドロップすると、ffmpeg.wasm の overlay filter で動画にロゴ / 著作権表示を焼き付けて MP4 として書き出します。9 グリッドの配置 (左上 / 上中央 / 右上 / 中央左 / 中央 / 中央右 / 左下 / 下中央 / 右下)、サイズ (動画幅の 5〜100%)、不透明度、余白を指定可能。透過 PNG が綺麗に重なるので Vlog の角ロゴ、SNS 動画の署名、ブランド差し込み、サンプル動画の準備に使えます。すべてブラウザ内で完結、動画はサーバーに送信されません。初回のみ ffmpeg.wasm (30MB) をダウンロードします。

使い方

動画ファイル (MP4 / MOV / WebM / MKV など) を 1 本ドロップまたは選択します。 透かしに使う画像 (PNG / JPG / WebP、透過 PNG 推奨) を選択。 位置 (9 グリッド)、サイズ (動画幅の %)、不透明度、余白を調整します。 「適用」を押すと ffmpeg.wasm が overlay filter で焼き付け、H.264/AAC の MP4 を生成。 「MP4 をダウンロード」で結果を保存。元動画とは別ファイルなので元データは保持されます。

詳細解説

透かしを入れる動画は「公開前の最終版」であることが多い

動画に透かし (ウォーターマーク) を入れる用途は、著作権保護のためのロゴ焼き付け、クライアント確認用のサンプル動画への透かし入れ、SNS 投稿前のブランディング処理、レンタル・ライセンス用の識別マーク追加、カメラマンや映像制作者が納品前の動画にスタジオ名を入れる、といったものが代表的です。いずれの用途でも、透かしを入れる対象は「これから公開・納品する最終版に近い動画」です。

オンライン透かし追加サービスへのアップロードでは、透かしを入れる元動画全体がサーバーに届きます。クライアント向けの納品前映像、まだ公開していないオリジナルコンテンツ、ロゴを入れる前の素の映像素材がサーバー上に一時的に存在します。「透かしを入れて権利を守る」という操作が、逆に元映像を外部に渡すことになる構造的な矛盾があります。

overlay filter は元映像を全フレームデコードしてから合成する

動画への透かし合成は、ffmpeg の overlay フィルタが担います。overlay フィルタは元動画の各フレームをデコードして YUV バッファに展開し、透かし画像 (PNG のアルファチャンネル込み) をピクセル単位でブレンドしてから、新しいコーデックで再圧縮します。このため、元動画のすべてのフレームがデコードされた状態を経由します。

オンラインサービスで同じ処理を行う場合、この中間のデコード済みフレームバッファがサーバーのメモリ上に展開されます。透かし画像 (PNG) もサーバーに届くため、元動画と透かし画像の 2 つが同時にサーバー上に存在します。ブラウザ内で ffmpeg.wasm を使う場合、ffmpeg.exec(['-i', video, '-i', watermark, '-filter_complex', 'overlay=...', '-c:v', 'libx264', '-c:a', 'copy', output]) による合成処理が WASM のサンドボックス内だけで完結します。

ffmpeg.wasm の overlay filter でブラウザ内合成、サーバー送信ゼロ

このツールは ffmpeg.wasm をブラウザ内で起動し、元動画と透かし PNG を仮想ファイルシステムに置きます。位置は 9 グリッドの座標式に変換 (例: 右下なら main_w-overlay_w-MARGIN:main_h-overlay_h-MARGIN) し、不透明度は [1:v]scale=iw*SIZE/100:-1[wm];[wm]format=rgba,colorchannelmixer=aa=OPACITY[wmo] で調整してから overlay フィルタに渡します。映像は libx264 + AAC で再エンコードし、H.264/AAC MP4 として出力します。

動画データ、透かし PNG、仮想 FS 内の中間ファイル、出力 MP4 Blob はすべてブラウザのページメモリ内にとどまり、サーバーへのアップロードは一切発生しません。DevTools の Network タブを開いた状態で適用・ダウンロードを走らせても、ffmpeg.wasm 本体の初回ダウンロード以外にリクエストが発生しません。ソースコードは GitHub で公開されており、合成処理の実装を第三者が監査できます。

透かしで守りたい元映像を、外部サーバーに渡さないで処理する

著作権保護・サンプル識別・ブランディングという目的で透かしを入れる場合、保護したい元映像が外部サーバーを経由しないことは、保護の一貫性を保つ上で重要です。ブラウザ内で透かし合成を完結させることで、最終版に近い映像素材がサーバーを経由する機会をなくし、透かし入りの動画だけが配信・納品先へ届けられます。

overlay フィルタの内部動作と colorchannelmixer によるアルファ操作

ffmpeg の overlay フィルタは「メイン入力」と「オーバーレイ入力」の 2 つのストリームを取り、各フレームでオーバーレイ画像を指定座標に合成します。本ツールが使う [1:v]scale=iw*SIZE/100:-1[wm];[wm]format=rgba,colorchannelmixer=aa=OPACITY[wmo] という filter chain は、(1) 透かし PNG をリサイズ (元動画幅の SIZE%)、(2) RGBA フォーマットに変換、(3) colorchannelmixer=aa=OPACITY でアルファチャンネルだけを乗算して不透明度を調整、(4) overlay で合成、という 4 段階処理です。format=rgba が重要で、これがないと透過 PNG のアルファチャンネルが失われて黒背景になる場合があります。

座標式は main_w-overlay_w-MARGIN:main_h-overlay_h-MARGIN (右下) のように、メイン (main_w main_h) とオーバーレイ (overlay_w overlay_h) のサイズから動的計算する記法を使います。中央配置は (main_w-overlay_w)/2:(main_h-overlay_h)/2、上中央は (main_w-overlay_w)/2:MARGIN。9 グリッドのすべての位置が同じ仕組みで実装可能。音声は -c:a copy で透過コピーされるため AAC / MP3 / Opus / Vorbis 無劣化で保持されます。映像は libx264 (CRF 23 / medium preset) で再エンコードされ generation loss が 1〜2% SSIM 程度発生しますが、透かし合成は overlay フィルタの性質上 stream copy ができないため再エンコードは避けられません。アニメーション GIF を透かしとして使う場合は overlay でループ再生が可能ですが、本ツールは静止画 PNG / JPG / WebP のみ対応。

透かし活用の業界別パターンと注意点

フォトグラファー / 映像作家 のポートフォリオ公開では、Behance / Vimeo / 個人サイトに半透明ロゴを焼き付けて無断転載を抑止。opacity=30% position=右下 size=10% あたりが定石。ストックフッテージ (Pond5 / Shutterstock / Adobe Stock) のプレビュー版では大きく中央に SAMPLE ロゴを焼き付けて購入前は使えないように、購入後は無透かし版を配信。クライアント納品前のサンプル では DRAFT WIP Client Review Only などのテキストを焼き付け、誤って公開されるのを防止。

配信プラットフォーム では NHK / TBS / 各 OTT サービスがロゴを画面隅に常時表示するのが業界標準で、これは「Bug」(ロゴの俗称) と呼ばれます。Twitch / YouTube Gaming の配信では配信者のロゴ + Sponsor ロゴの合成が定番。法的観点 では、第三者の著作物 (写真・イラスト・楽曲) を透かしとして使用する場合は元著作物の利用許諾が別途必要で、透かしを入れたから無断使用が許されるわけではありません。Steganography (電子透かし) と本ツールの Visible Watermark (見える透かし) は別物で、前者は画像の LSB (Least Significant Bit) や DCT 係数に隠蔽する技術で、視覚的には見えないが取り出せる仕組み — 本ツールは前者には対応していません。著作権侵害トラッキング目的では別途専用ツール (Digimarc 等) が必要です。同じロゴを静止画やドキュメントにも焼き込みたい場合は image-watermarkpdf-watermark が同じ思想で動き、透かし入り動画をさらに別コンテナに詰め直したいときは video-convert、配信前にビットレートを落としたいときは video-compress に渡すと一連の納品処理がブラウザ内で閉じます。透かしのリサイズ計算 (SIZE%) は元動画幅基準なので、SIZE=10% を選ぶと 1080p 動画では 108px、4K では 384px となり、解像度を上げると相対的に同じ視覚サイズで配信できる利点があります。

よくある質問

透過 PNG は綺麗に合成される?
はい。ffmpeg の `overlay` filter にアルファチャンネルを渡すため、PNG の透明領域はそのまま動画の元映像が見えます。半透明の柔らかいエッジ (ロゴの drop shadow など) も自然に乗ります。
出力フォーマットは MP4 固定?
現状は H.264/AAC の MP4 固定です。WebM / MOV 等が必要な場合は video-convert に通してください。MP4 はほぼ全プラットフォーム (SNS / 動画共有 / モバイル) で再生できる安全な選択肢です。
動画が長いと時間がかかる?
ffmpeg.wasm は再エンコード (libx264 + AAC) するため、3 分の 1080p 動画でおおむね 1〜3 分かかります。CPU 性能 + 動画の解像度・フレームレートに依存。バッテリー駆動時は電源接続を推奨。
Sizes / Position はどう連動する?
Size は動画幅に対する透かしの幅 (%)。Position が左 / 中央 / 右系のときは X 軸、上 / 中央 / 下系のときは Y 軸に余白 (px) が反映されます。中央配置は余白を無視します。
データはどこかに送信されますか?
いいえ。ffmpeg.wasm はブラウザ内で動作し、動画も透かし画像もアップロードされません。初回のみ ffmpeg core (30MB) を CDN からダウンロードします。

「送らない」を確かめるには

このツールは入力データを外部に送信しません。仕組み・監査手順・運営方針は以下で詳しく説明しています。

類似のツール

画像ウォーターマーク — 文字 / 画像で透かし合成

画像ウォーターマーク — 文字 / 画像で透かし合成

画像にテキストまたは別の画像で透かしを重ねます。Canvas で合成するのでブラウザ内だけで完結。位置 (9 グリッド)・サイズ・不透明度・余白を細かく調整でき、複数画像を一括処理して ZIP でダウンロードできます。出力フォーマットは元と同じ (PNG / JPEG / WebP)。

画像ウォーターマーク
PDF ウォーターマーク — 文字 / 画像で透かし

PDF ウォーターマーク — 文字 / 画像で透かし

PDF の各ページにテキスト (DRAFT / CONFIDENTIAL / © ...) や画像ロゴを重ねて埋め込みます。9 グリッドの位置指定、不透明度、サイズ、回転、適用ページ範囲を細かく調整可能。pdf-lib をブラウザ内で動かしてその場で変換するので、ファイルは外部に送信されません。複数 PDF の一括処理と ZIP 一括ダウンロードに対応。

PDFウォーターマーク
動画形式変換 — MP4 / MOV / WebM の相互変換

動画形式変換 — MP4 / MOV / WebM の相互変換

動画のコンテナ拡張子だけを変更します (mov → mp4 など)。ffmpeg.wasm の stream copy なので再エンコードなし・画質劣化なし。コーデック互換性がある組み合わせでのみ成功します。複数ファイル一括処理 + ZIP ダウンロード対応。

動画変換
動画圧縮 — 容量削減 / 解像度を保ったまま CRF 指定

動画圧縮 — 容量削減 / 解像度を保ったまま CRF 指定

動画を libx264 + 指定 CRF で再エンコードしてファイルサイズを小さくします (解像度はそのまま)。preset で速度と圧縮率のトレードオフを調整可能。出力は mp4。複数ファイル一括処理 + ZIP ダウンロード対応。

動画圧縮