「一時停止してスクリーンショットするだけ」が失敗する理由
明白なアプローチは、再生を一時停止し、システムのスクリーンショット キーを押すことです。結果が重要になる瞬間まで機能します。
スクリーン キャプチャには、 ドラッグするとタイムスタンプが表示される ファイルの内容ではなく、表示されました。これは、ビデオの実際の解像度がプレーヤー ウィンドウのサイズに合わせてスケーリングされ、色がディスプレイ パイプラインを通過し、字幕、プレーヤー独自のコントロール、マウス カーソルなどのオーバーレイが画像に焼き付けられたことを意味します。 900 ピクセル幅のウィンドウで再生されている 4K クリップをキャプチャすると、ディテールの 4 分の 3 が永久に破棄されてしまいます。
精度の問題もあります。一時停止すると、プレイヤーがたまたま停止した場所に着地しますが、通常はそれが意図したフレームではありません。 30 fps では、各フレームは 33 ミリ秒です。 60 fps で 17。スペース バーをタップしても、これらの特定のプロセッサにヒットする人はいません。
以下の両方の方法は、同じ 2 つの問題を解決します。ソース解像度で保存し、推測するのではなく一度に 1 フレームずつ移動できます。
方法 1: VLC
VLC には 2 つの別個の機能があり、間違った方を選択することが、人々が使いにくいと感じる通常の理由です。
スナップショット — 1 つのフレームを取得するため
これは、単一の静止画に必要なプロセッサです。ビデオを再生し、その瞬間に近づいてから:
- Windows / Linux:
Shift + S、または ビデオ → スナップショットの作成 - macOS:
Cmd + Alt + S、または ビデオ → スナップショットの作成
スナップショットはウィンドウ サイズではなく、ソース解像度で書き込まれます。これが、画面キャプチャに比べて重要な利点です。まず、 ツール → 環境設定 → ビデオ → ビデオスナップショットここで、ディレクトリ、形式 (PNG または JPG)、およびファイル名のプレフィックスを選択できます。スチルがエディターの近くに移動する場合は、フォーマットを PNG のままにしておきます。
正しいフレームに着地するには、スクラブではなくステップします。 E 一時停止中にキーを押すとちょうど 1 フレーム進みます。 VLC にはステップ実行用のキーボード ショートカットがありません 逆方向に — オーバーシュートした場合は、1 秒戻って再び前に進む必要があり、これがワークフローの中で最もイライラする部分です。
シーン フィルタ - 多くのフレームをキャプチャするため
機能が異なり、目的も異なります。 ツール → 環境設定、次に切り替えます 表示設定 を「シンプル」から すべて 左下 — シンプル ビューではフィルターは表示されません — 次に、 ビデオ → フィルタ → シーン フィルタ.
重要な設定:
- 画像形式 —
pngまたはjpg. - ディレクトリ パスのプレフィックス — ファイルが到着する場所。このパスが存在しないか、書き込み可能でない場合、抽出はエラーなしでサイレントに失敗します。これが、人々が「シーン フィルターは何もしない」と報告する最大の理由です。
- 録画率 — 毎回 1 つの画像を保存します。 N デコードされたフレーム。 30 fps ソースでは、比率を 30 にすると、1 秒あたりおよそ 1 つの画像が得られます。比率を 1 にすると、各フレームが保存され、すぐにディスクがいっぱいになります。
その後、これは誰もが見逃しているステップです。戻る ビデオ → フィルタ 同じ「すべて」ビューでチェックを入れます シーン ビデオ フィルタ リストにあります。フィルターを構成しても有効になりません。ファイルを保存し、VLC を再起動して、ファイルを再生します。フレームはビデオが実際に再生されている間にのみ書き込まれます。
方法 2: ブラウザで
フレーム単位のツール は単一フレームのケースを中心に構築されているため、ステッピングの問題は直接処理されます。
- ビデオをドロップします。 何もアップロードされません。ファイルがディスクからページに読み込まれます。
- 設定 ソース FPS 映像に合わせて。 この 1 つのフィールドによって、1 つのステップがどれだけ移動するかが決まります。デフォルトは 30 です。クリップが 24、25、50、または 60 fps の場合は、ステップ実行する前に変更してください。インターフェイスには、結果のステップ サイズが 30 fps で表示されます。
Step 0.0333s— 正しく表示されていることを確認できます。 - 大まかに検索してから、正確にステップを実行します。 プレーヤー スクラバーを使用して 1 秒以内に取得し、 前のフレーム / 次のフレーム 正確な場所まで歩いて行きます。ステッピングは両方向に機能します。これが、VLC の前方のみとの実質的な違いです。
E. - タイムスタンプの読み出しを確認します。 現在位置がミリ秒単位で表示されるため、撮影したフレームを正確に記録できます。静止画がバグ レポートやレビュー メモの証拠である場合に役立ちます。
- クリック 現在のフレームを保存. 画像はビデオのネイティブ解像度で書き込まれ、プレーヤー クロムやオーバーレイはありません。
ソース フレーム レートの検索: VLC では以下にあります ツール → コーデック情報。 macOS では、Finder の「情報を見る」に表示されます。これに失敗した場合は、10 回進み、タイムスタンプを確認します。合計 0.333 秒進んだ場合は 30 fps、0.4 秒は 25 fps、0.167 秒は 60 fps を意味します。
うまくいかない 3 つのこと
1. 保存されたフレームは、あなたが見ていたものではありません
一部のビルドおよびハードウェア デコーディング セットアップの VLC スナップショットに共通です。静止画は、ディスプレイに表示されているものより 1 ~ 2 フレーム先になる可能性があり、ボール、ホイール、手などの速い動きでは、違いがキャプチャの重要な点になります。
VLC の回避策は、まず一時停止し、次の手順に進むことです。 E 必要なフレームに移動してからスナップショットを撮ります。一時停止されたデコーダと一時停止されたディスプレイは一致します。ブラウザ ツールでは、保存されたフレームは、見ているものと同じ一時停止されたビデオ要素から読み取られるため、表示されているものが書き込まれたものになります。
2. ステッピングにより同じ画像が 2 回生成されます
ほとんどの場合、フレームレートの不一致が発生します。もし ソース FPS は 60 に設定されていますが、クリップは実際には 30 であり、各「ステップ」は半フレーム進みます。そのため、連続する 2 つのステップが同じフレーム内に到達し、画像は変わりません。症状: タイムスタンプは移動しますが、画像は移動しません。
逆の間違いは、サイレントであるためさらに悪いことになります。60 fps クリップに 30 を設定すると、すべてのステップでフレームがスキップされます。何も壊れているようには見えませんが、探していたフレームも含めて、映像の半分がまったく表示されないだけです。ステップを開始する前に、値を正しく設定してください。
3. 出力はビデオより小さい
保存されたフレームが 4K ソースから 1280×720 で出力される場合は、実際のフレームのエクスポートではなく、ほぼ確実にスクリーン キャプチャを取得したことになります。 ツール → コーデック情報 VLC では、実際の解像度が得られます。
VLC のスナップショットには、知っておく価値のある関連設定があります。 設定 → ビデオ → ビデオ スナップショット、ゼロ以外の ビデオ スナップショットの幅 サイズ変更が強制されます。ソースの解像度を維持するには、0 のままにしておきます。ブラウザ ツールは常にネイティブ解像度で書き込みを行い、間違う可能性がある同等の設定はありません。
VLC が適切な場合より良い選択
- ビデオはすでに VLC で開かれています。 何かを見ていて静止画が必要な場合。
Shift + S他のアプリケーションを使用するものよりも高速です。 - ブラウザがデコードしないコーデック。 VLC は、ProRes、異常なオーディオを含む MKV、DVD 構造、壊れたファイルなど、基本的にすべてを再生します。ブラウザが再生できない場合、ブラウザはスナップショットから抽出できません。
- ストリームとネットワーク VLC は、RTSP カメラ フィードまたはネットワーク ストリームからスナップショットを作成できます。ローカル ファイル ツールではできません。
- 長時間の無人キャプチャ。 シーン フィルターは、メモリ上限なしで 2 時間の録画を通じてフレームを問題なく書き込みます。ブラウザ タブは RAM にフレームを保持しますが、保持しません。
ブラウザ ツールは、前に進むだけでなく後退する必要がある場合、静止画と一緒にタイムスタンプを記録したい場合、映像の機密性が高くマシンから決して流出したくない場合、および設定を変更するためにアプリケーションを再起動したくない場合に適しています。
クイック リファレンス
| タスク | VLC | ブラウザ ツール |
|---|---|---|
| 1 フレームを保存 | Shift + S (Cmd + Alt + S Mac で) |
現在のフレームを保存 |
| フレームを 1 つ進めます。 | E |
次のフレーム |
| フレームを 1 つ戻します。 | 利用できません | 前のフレーム |
| 正確なタイムスタンプを確認します。 | 再生時間は数秒のみ | ミリ秒単位で読み出す |
| 出力フォルダを選択します | 設定 → ビデオ スナップショット | ブラウザのダウンロード場所 |
| 多くのフレームを自動的にキャプチャ | シーン フィルタ + 録画率 | インターバル抽出 |
| 最初に使用する前に設定 | フィルタ設定 + 有効化 + 再起動 | なし |
| ネットワーク ストリームとカメラ | サポートされています | ローカル ファイルのみ |
| 珍しいコーデック | ほぼ何でも | ブラウザがデコードしたもののみ |
| 何時間も無人でキャプチャする | 細かい | タブメモリによる制限 |
単一フレームの場合、全体の作業は 2 つのことになります。フレーム レートを適切に取得することで、ステップが想定どおりの意味になるようにします。を意味し、画面ではなくデコーダから保存します。それ以外のすべては、たまたまどのウィンドウを開いているかによって決まります。