60秒でインストール完了
IMGLAB Video Screenshot はローカルフォルダから読み込むChrome拡張機能です。以下の5ステップでビデオキャプチャを開始できます。
製品ページの 「Chrome に追加 — 無料」 をクリック。確認ダイアログが表示されたら 「拡張機能を追加」 をクリックします。Chrome ツールバーに IMGLAB のアイコン ⚡ が表示されます。登録・アカウント・支払いは不要です。
Chromeのアドレスバーに以下を入力してEnterを押します:
拡張機能の管理ページが開きます。ページ右上のデベロッパーモードをONに切り替えます。「パッケージ化されていない拡張機能を読み込む」ボタンが表示されます。
「パッケージ化されていない拡張機能を読み込む」をクリックします。フォルダ選択画面が開くので、ステップ1で解凍したフォルダ(manifest.json ファイルが含まれているフォルダ)を選択します。拡張機能が即座に読み込まれ、Chromeツールバーにカメラアイコン 📷 が表示されます。
これが最も重要なセットアップ手順です。この設定なしでは、ほとんどのサイトでカメラボタンが表示されません。
ツールバーのIMGLABアイコンを右クリック(または ⋯ をクリック)→ 「このサイトのデータの読み取りと変更」 → 「すべてのサイト」を選択します。
動画がある任意のウェブサイトにアクセスします。動画の上にマウスをホバーすると、右上角(または設定した位置)に小さな 📷 カメラボタンが表示されます。クリックするとスクリーンショットが即座にダウンロードフォルダへ保存されます。ファイル名は IMGLAB-ページタイトル-14-32-07.jpg のように意味のある名前が付きます。
またはページ上のどこでも Ctrl+G を押すと、画面上の最適な動画を自動的に検索してキャプチャします。
chrome://extensions/ を開き、IMGLABカードの ↺ 更新アイコンをクリックします。設定は自動的に保持されます。設定の完全ガイド
Chromeツールバーの 📷 拡張機能アイコンをクリックしてポップアップを開きます。設定タブには4つのコントロールグループがあります。
スクリーンショットのファイル形式を選択します:
JPG はデフォルトで、ほとんどの用途に最適です。最小ファイルサイズで共有が速く、品質80〜90で優れた視覚的クオリティを発揮します。非常に低い品質設定では軽微な圧縮アーティファクトが見える場合がありますが、動画フレームではほとんど問題になりません。
WebP はGoogleが開発したモダンな形式です。同じ品質設定でJPGよりも小さいファイルを生成します。ウェブへのアップロードやデジタル共有に最適。ただし古いアプリやWindows フォト ビューアーでは対応していない場合があります。
PNG は完全ロスレスで、圧縮ゼロ・品質劣化ゼロ・最大ファイルサイズです。テクニカル分析、アーカイブ、フォトエディタでの後処理、または圧縮アーティファクトが目立つテキスト多めのフレームなど、ピクセルパーフェクトな精度が必要な場合に使用してください。
品質スライダーはJPEGとWebPの圧縮を制御します。10(最大圧縮・最小ファイル)から100(ほぼロスレス・最大ファイル)の範囲です。デフォルト値の85は適切なファイルサイズで優れた視覚的クオリティを提供し、ほぼすべての日常的な用途に適しています。
ほとんどの動画コンテンツでは品質を90以上に上げても改善効果は限定的です。70以下に下げると細部やグラデーションに圧縮ブロックが見えることがあります。
動画のどのコーナーに 📷 カメラボタンを表示するか選択します。デフォルトは右上です。4つのコーナーすべてをサポートしています。
下部の位置は、ほとんどの動画プレイヤーが画面下端に表示するコントロールバーを避けるため、自動的に54ピクセル上方にオフセットされます。それでもボタンがサイトのコントロールやブランドロゴと重なる場合は、別のコーナーをお試しください。
カメラボタンを注入する前の最小ビデオ表示サイズ(幅×高さ、ピクセル単位)を設定します。デフォルトは320×180pxです。これより小さいビデオ要素はサイレントに無視されます。
これにより、スクリーンショットしたくない小さなサムネイルプレビュー、アニメーション広告ユニット、装飾用の背景ビデオループにカメラボタンが表示されることを防ぎます。
デフォルトのキーボードショートカットは Ctrl+G です。変更方法:
1. ショートカット表示ボックスをクリック —「キーを押してください…」と表示されます
2. 希望のキーの組み合わせを押します(任意のキー + オプションでCtrl、Alt、Shiftの修飾キー)
3. ショートカットは自動保存されます — 保存ボタンは不要です
4. × ボタンをクリックするとデフォルトの Ctrl+G にリセットされます
chrome.storage.sync 経由ですべてのChromeインスタンスに自動同期されます。ブロックリストとデフォルトブロック
ブロックリストタブでは、特定のドメインで拡張機能を無効化できます。ドメインがブロックされると、そのサイトではカメラボタンが注入されず、キーボードショートカットも機能しません。ブロックはすべてのサブドメインに自動的に適用されます。
タブの上部には、ポップアップを開いたタブのドメインが常に表示されます。+ ブロックをクリックして即座に追加。すでにリストにある場合は✓ ブロック済みと表示されます。
一般的なSNSプラットフォームのワンクリックチップ:instagram.com、x.com、twitter.com。✓ プレフィックスが付いたチップはすでにリストに登録済みです。
入力フィールドに任意のドメインを入力し+ 追加またはEnterを押します。拡張機能が https://、www.、パスを自動的に除去します。ベアドメインのみ入力してください。
なぜこの4サイトはデフォルトでブロックされているのか?
IMGLABには4つのサイトが事前ブロックされた状態で出荷されています。これは手抜きや怠慢ではなく、各プラットフォームへの徹底的な調査の結果です。これらのサイトはインフラレベルで、互換性を「困難」ではなく「不可能」にする意図的なエンジニアリング上の決定を行っています。私たちが何を発見したのか、すべて公開します。
Facebookのビデオプレイヤーは、ブラウザのイベントレベルで <video> 要素へのすべてのクリックを、私たちのボタンのハンドラーが発火する前に横取りします。カメラアイコンをクリックすると、Facebookの独自イベントハンドラーが先に起動し、「シネマモード」フルスクリーンビューアーでビデオを開いてしまいます。ボタンは視覚的には存在しますが、物理的にクリックできません。これはFacebookがプラットフォーム内のエンゲージメントを最大化し、サードパーティツールのメディア操作を防ぐための意図的な設計上の決定です。
TikTokはビデオコンテナ内のすべてのDOM変更を監視する積極的な MutationObserver ベースの改ざん防止システムを実行しています。カメラボタンが追加された瞬間、TikTokのウォッチドッグがDOM変更を検出し、内部プレイヤーの状態をリセット — ビデオが即座に一時停止してフリーズします。私たちは3回の独立したデバッグセッションを通じてこれを確認し、他のすべての可能な原因を体系的に排除しました。フリーズはDOMに私たちのボタン要素が存在することで引き起こされます — それ以外の何ものでもありません。
Weiboのプレイヤーは、プログレスバー、タイトルカード、コントロールボタンを含むフルスクリーンUIレイヤーを、私たちが注入できるものより高いz-indexでレンダリングします。タブキャプチャフォールバックがビデオ領域のスクリーンショットを撮ると、実際のビデオコンテンツではなくUIオーバーレイをキャプチャしてしまいます。その結果のスクリーンショットは、ビデオフレームではなくWeiboのプレイヤーコントロールの画像です。スクリーンショットツールとして根本的に使い物にならないため、壊れたエクスペリエンスを提供するよりもデフォルトでブロックすることにしました。
私たちの拡張機能はネイティブHTML <video> 要素をスキャンしてビデオを検出します。Redditのビデオプレイヤーアーキテクチャは、私たちのコンテンツスクリプトが見つけられる方法で <video> タグを公開していません。ボタンは表示されず、キーボードショートカットは「アクティブなビデオが見つかりません」とサイレントに返します。Redditでは拡張機能がまったく機能しないため、混乱を避けるためにデフォルトでブロックしています — 壊れているのではなく、単純にできることが何もないのです。
キャプチャの仕組み
IMGLABは2つのキャプチャ方式を使用します。常にまず方式Aを試み、ブラウザのセキュリティポリシーでブロックされた場合は自動的に方式Bにフォールバックします。設定は不要です。
現在のビデオフレームを、表示サイズではなくビデオのフルネイティブ解像度でHTML5 <canvas> 要素に直接描画します。これにより、ビデオストリームに組み込まれたハードコードされた字幕やオーバーレイを含む、生フレームのピクセルパーフェクトなコピーが生成されます。高速、クリーン、ブラウザUIのアーティファクトなし。
例:自社 .mp4 ファイルをホストするニュースサイト、または自社CDNからビデオを埋め込むブログ。
ビデオが別のドメイン(CDNや動画配信プラットフォームの別サーバーなど)にホストされている場合、ブラウザのセキュリティポリシーがCanvasアクセスをブロックします。拡張機能は chrome.tabs.captureVisibleTab を呼び出し、可視ブラウザタブのフルスクリーンショットを撮影し、getBoundingClientRect() × デバイスピクセル比を使用してビデオ要素の正確なバウンディング矩形に精密にクロップします。iframeのオフセットも正確に計算されます。
制限:これは画面上に表示されているものをキャプチャするため、ビデオに重なるプレイヤーUIがスクリーンショットに含まれます。
拡張機能がターゲット <video> 要素を識別してCanvasキャプチャを試みます。ビデオがクロスオリジンの場合、SecurityError がスローされます — 拡張機能はこれをサイレントにキャッチし、可視的な中断なしに方式Bに進みます。
all_frames によるクロスオリジンiframeサポートほとんどのビデオスクリーンショットツールは、ビデオが別のドメインの埋め込みiframe内にある場合に動作しなくなります — これは現代の動画配信サイトで最も一般的な構成です。IMGLABはChromeの拡張機能特権(all_frames: true + match_origin_as_fallback: true)を使用して、クロスオリジンiframeにコンテンツスクリプトを直接注入します。これにより、他のツールが届かない埋め込みビデオプレイヤーの内部にもカメラボタンが表示されます。
サンドボックス化されたiframeは直接のファイルダウンロードをサイレントにブロックします — エラーなし、ただ何も起きません。IMGLABはサンドボックス化されたiframe内で実行されていることを検出し、postMessage 経由でトップレベルフレームにダウンロードリクエストを中継します。トップフレームがBlob URL + アンカークリックダウンロードをトリガーし、これは常に確実に動作します。ファイルは正しいファイル名 IMGLAB-ページタイトル-HH-MM-SS.jpg で届きます — 汎用的な “download.jpg” にはなりません。
ファイル名はクロスオリジンiframe内からキャプチャする場合でも、常にトップレベルのページタイトルを使用します。iframeは IMGLAB_GET_TITLE メッセージをトップフレームに送り、トップフレームがページタイトルで応答します。これにより、ファイルは常にビデオがホストされているCDNドメインではなく、視聴しているサイトによって意味のある名前が付けられます。
スマートキーボードショートカット
キーボードショートカット Ctrl+G は単にキャプチャをトリガーするだけでなく、埋め込みiframeを含むページ全体で機能するスマートなビデオ選択アルゴリズムを備えています。
ショートカットを押すと、拡張機能がページ上のすべてのビデオを評価して最適な候補を選択します。一時停止中のビデオより再生中のビデオを優先し、複数の候補の中から画面のビューポート中央に最も近いものを選びます。複数のビデオがあるフィードページでも直感的に動作します。
メインページに適切なビデオが見つからない場合、拡張機能は postMessage 経由ですべての子iframeにショートカット信号をブロードキャストします。アクティブなビデオを持つiframeがキャプチャして返答します — 可視的な遅延やエラーなしにシームレスに動作します。iframeを手動でフォーカスする必要はありません。
設定を開き、ショートカットボックスをクリックして、オプションのCtrl、Alt、Shiftの修飾キーと組み合わせた任意のキーの組み合わせを押します。× をクリックしてデフォルトにリセット。選択した組み合わせがウェブサイト独自のショートカットと競合する場合、通常はサイトが優先されます — 珍しいものを選ぶか、クリックボタンを使用してください。
既知の制限事項
方式B(タブキャプチャ)が使用される場合、スクリーンショットにはビデオ領域内に視覚的に表示されているすべてのものが含まれます — ビデオの上に重なるプレイヤーUIも含めて。コントロールバー、ローディングスピナー、「クリックして展開」バナー、ホバー状態のボタンがスクリーンショットに表示される場合があります。
これは captureVisibleTab の根本的な制約です:画面上のピクセルを撮影するため、生のビデオデータではありません。Chromeは拡張機能が生のクロスオリジンビデオフレームにアクセスするためのAPIを提供していません — そのデータはセキュリティと著作権上の理由から保護されています。
Widevine、PlayReady、または同様のDRMシステムで保護されたビデオは、ブラウザ拡張機能を含むユーザー空間で実行されているあらゆるソフトウェアが意図的にアクセスできないハードウェア保護されたグラフィックスコンポジティングレイヤーでレンダリングされます。Canvasキャプチャは真っ黒なフレームを返します。
この保護はOSおよびGPUドライバーレベルで強制されており、コンテンツライセンス契約法的に義務付けられています。いかなるブラウザ拡張機能もこれを回避できません。Netflix、Disney+、Amazon Prime、およびプレミアムコンテンツを提供するほとんどの主要な動画配信サービスがDRMを使用しています。
クロスオリジンiframeビデオプレイヤーをフルスクリーンで使用する特定のサイトで、DevToolsが開いていない場合にChromeがiframe内の視覚的な再描画を抑制します — これはChromeの既知のレンダリング動作です。「スクリーンショットを保存しました!」トーストはDOMに正確に追加されますが、画面上に視覚的に表示されない場合があります。
スクリーンショットは引き続き保存されています。トーストは純粋に視覚的なフィードバックです。キャプチャが機能したか不明な場合はダウンロードフォルダを確認してください。
複数のビデオが同時に表示・再生されているSNSフィード(Twitter/X、Instagram)では、キーボードショートカットのスマートピッカーが意図しないビデオを選択することがあります — 特にビデオが等間隔に配置されていてその間にスクロールしている場合。
ウェブは広大です。すべてのサイトがビデオプレイヤーを異なる方法でエンジニアリングしています — ネイティブ <video> 要素を使用するもの、独自のプレイヤーフレームワークを使用するもの、従来と異なるDOM構造を使用するもの。ほとんどの動画サイトで確実に動作しますが、すべてのプラットフォームをテストすることはできません。
標準的なHTML <video> 要素を使用するサイト(ほとんどの現代的なサイト)は確実に動作します。高度にカスタム化されたプレイヤーや特殊なiframeアーキテクチャを持つサイトは動作しない場合があります。より多くのサイトをサポートしたいと考えています — サポートセクションをご覧ください。
YouTubeショートはビデオプレイヤーの右上コーナーに独自のアイコンを表示します。デフォルト位置(同じく右上)により重なりが発生し、ボタンをクリックしにくくなります。
サイト互換性リファレンス
サポート & 寄付
この拡張機能は
あなたのサポートで生きています
IMGLAB Video Screenshotは完全無料であり続けます — 広告なし、サブスクリプションなし、いかなるデータ収集もなし。あなたが恩恵を受けているすべての開発、デバッグ、プラットフォーム調査、互換性テストはコミュニティの寄付によって賄われています。
率直に言います:このプロジェクトが成長し続けられるかどうかは、正直なところ十分な人々がサポートしてくれるかどうかにかかっています。満足のいくスクリーンショットを保存できたなら — 一回限りのコーヒー一杯が「続けてください」という最善の意思表示になります。どちらの選択も責めません — でもすべての貢献がアップデートサイクルを維持します。

