ビデオフレーム抽出ガイド

ブラウザでの正確なビデオ フレーム抽出の仕組み

正確なタイムスタンプはメディア時間における正確なリクエストですが、必ずしも番号付きのソース フレームであるとは限りません。ブラウザのデコード、キーフレーム、フレーム継続時間、および可変フレーム レートによって、どの画像を実際に表示およびエクスポートできるかが決まります。

最終更新:2026年9月9日
01

タイムスタンプは普遍的なフレーム番号ではありません

ビデオプレーヤーは時間を秒単位で表示します。メディア要素の現在時刻を設定すると、ブラウザーはタイムライン内のその時点までシークするように求められます。次に、ブラウザは、要求された時間に近い利用可能なフレームを表示するのに十分なデータをデコードします。 HTMLMediaElement currentTime ドキュメント はシーク インターフェイスを定義していますが、すべてのコーデックとコンテナにわたって安定したソース フレーム インデックスを保証するものではありません。

一定の 30 FPS メディアの場合、1 つの公称フレームは約 1/30 秒、つまり 0.0333 秒続きます。これにより、1/30 秒のナッジが直感的になります。 24、25、29.97、60、または可変フレームレートのメディアの場合、同じナッジは小さな時間ステップにすぎません。複数のプレゼンテーション フレーム単位で移動したり、同じ表示フレームに到達したり、タイムスタンプ間隔が平均とは異なるフレームを公開したりする可能性があります。

したがって、VideoToImg は、その制御をすべてのソースに対して 1 つのオリジナル フレームを約束するのではなく、1/30 秒のナッジとして説明します。この区別は、再現可能な QA、科学的観察、法的証拠、アニメーションのタイミングにとって重要です。

02

キーフレームがシークに影響を与える理由

ほとんどの配信ビデオは時間の経過とともに圧縮されます。キーフレームには自己完結型の画像が含まれていますが、後続のフレーム間では、以前にデコードされた画像と比較した変更が記述されることがよくあります。 37.4 秒のフレームを表示するには、デコーダが以前のキーフレームを見つけて、要求されたプレゼンテーション時間に達するまで前方にデコードする必要がある場合があります。

キーフレームがまばらであると、特に長いファイルや高解像度のファイルの場合、ランダム シークが遅くなる可能性があります。また、通常の順方向再生では隠れているブラウザやファイル インデックスの問題が露呈する可能性もあります。 MDN ビデオ コーデック ガイド では、フレーム間圧縮と周期的なキーフレームが再生とアーティファクトの回復にどのように影響するかについて説明しています。

遅延シークは、ツールがファイルをアップロードしたという証拠にはなりません。ローカル ファイルは、現在のタブのブラウザ メディア API によって引き続きデコードされます。デコード時間は、ソース構造、デバイス、コーデック実装、および有用なランダム アクセス ポイントからの距離によって異なります。

03

反復可能な正確なフレームのワークフローを使用する

  • シーンを広範囲に検索します。 スクラブするか、アクションの近くにタイムスタンプを入力し、プレビューが更新されるまで待ちます。
  • 両方向を検査します。 いくつかの小さな時間ステップを前後に微調整します。被写体の位置、フォーカス、モーション ブラー、キャプション、インターフェイスの状態を比較します。
  • メディア時間を記録します。 表示されたタイムスタンプをエクスポートされた画像またはレビューメモに記録します。ファイル名だけでは十分なコンテキストを保持できない場合があります。
  • 最初にソース幅でエクスポートします。 最終的な使用で表示サイズがわかっている場合にのみダウンスケールします。サイズを変更しても、後で失われたディテールを復元することはできません。
  • ピクセルの周囲の出力を選択します。 PNG では、損失の多い静止画像の追加ステップが回避されます。 JPG は写真シーンに適したコンパクトな形式です。 WebP は最新の Web 配信に役立ちます。
  • 重要な証拠を独立して検証します。 ブラウザのスクリーンショット ツールは視覚的な選択に適しており、正確なフレーム ID とプレゼンテーション タイムスタンプを報告するフォレンジック デコーダーの代替にはなりません。
04

固定フレームレートと可変フレームレートには異なる言語が必要です

固定フレーム レートのビデオは均等な間隔のフレームを目指していますが、29.97 などの一般的なレートでも正確で合理的なタイミングが必要です。可変フレームレートのビデオでは、プレゼンテーションの継続時間を変更できます。画面録画、会議ツール、電話は、コンテンツやキャプチャ条件に適応するために可変タイミングを使用する場合があります。

したがって、タイムスタンプをアドバタイズされた平均 FPS で割ると、信頼できるフレーム番号ではなく、便利な推定値が生成される可能性があります。 2 つのフレームの持続時間が等しくない場合があり、プレゼンテーションが複製または削除されると、時間と順序位置の関係に影響を与える可能性があります。

ワークフローで「エンコードされたストリームのフレーム 1,248」などのステートメントが必要な場合は、パケットとフレームのタイムスタンプを公開するツールを使用してファイルを検査します。タスクが「41.2 秒付近の最も鮮明な画像を保存する」である場合、通常はブラウザーの視覚的な選択がより直接的な方法です。

05

間違ったフレーム、黒いフレーム、または古いフレームを診断する

コンテナーがわずかに長い時間を報告しても、要求された時間がデコード可能な最後のフレームを超えている場合、ファイルの終わり近くに黒い画像が表示されることがあります。先に少しだけ移動して、もう一度試してください。シーク後のイメージが古い場合は、デコードが完了していないことを示している可能性があります。遷移中にキャプチャするのではなく、プレビュー状態を待ちます。

1 つのファイルだけが失敗する場合は、そのコーデック、インデックス、タイムスタンプ、またはメディア データの破損が疑われます。 1 つのブラウザーですべてのファイルが失敗する場合は、現在のブラウザー バージョンと、正常であることがわかっている小さな H.264 MP4 または WebM ファイルをテストします。ダウンロードされたローカル コピーが機能している間にダイレクト URL が失敗した場合は、クロスオリジン許可またはリモート応答が境界である可能性があります。

コーデックおよびコンテナ ガイド では、より完全な診断シーケンスが提供されます。再現可能な問題については、プライベート メディアを送信せずに hello@videotoimg.com に報告してください。

06

画像エクスポートで変更できるものと変更できないものを理解する

ブラウザーがフレームを提示した後、ツールはそのデコードされた画像をキャンバスに描画し、ブラウザーに画像 blob をエンコードするように要求します。 canvas toBlob ドキュメント では、この静止画像のエンコード手順について説明しています。 PNG、JPG、または WebP を変更すると、既にデコードされたソースの詳細ではなく、新しい画像ファイルに影響します。

PNG では、モーション ブラー、フォーカス エラー、クロマ サブサンプリング、低ビットレート、または以前のビデオ圧縮を元に戻すことはできません。 JPG 品質は、追加の JPEG エンコーディング トレードオフのみを制御します。最大幅を小さくすると、ピクセルの寸法とメモリまたはファイルの重量が減りますが、品質のアップグレードとして扱うのではなく、目的のディスプレイに合わせて選択する必要があります。

視覚的な選択が目的の場合は 正確なフレーム抽出ツール を開き、大きなバッチをエクスポートする前に 画像形式ガイド を使用します。