音声・動画

メディア情報の確認

動画や音声ファイルの中身をそのまま読み出します。コンテナー、コーデック、ビットレート、解像度、フレームレート、チャンネル数、そしてファイルが持っているメタデータのすべて。FFmpeg がブラウザーのタブ内でファイルを読むため、アップロードは発生しません。

  • ファイル内のすべてのストリームを列挙し、再生・読み込み・アップロードの可否を左右する値を説明します
  • 項目一覧では分からない点も確認します。MP4 の索引がどこにあるか、このブラウザーで音声を再生できるかまで

動画または音声ファイルをここにドロップ

ファイルは手元の端末に残ります。アップロードされることはありません

MP4、MOV、MKV、WebM、AVI、WMV、FLV、MPEG-TS、MP3、M4A、WAV、FLAC など、FFmpeg が扱えるほとんどの形式を読み取れます。

ファイルが選ばれていません

まず動画または音声ファイルを選んでください。エンジンのダウンロードはそのあとに始まります。

確認

概要

再生できない、読み込めない、想定の何倍も大きい——その答えはファイル自身が持っています。ここではそれを読み出し、何を意味するのかまで示します。

  1. 01

    最初の 1 本だけでなく、すべてのストリーム

    映像・音声・字幕・データの各トラックを個別に並べ、コーデック、プロファイル、ビットレート、言語、フラグを添えます。音声 3 言語と字幕 2 本を抱えたダウンロードもすべて表示されるので、変換ツールが何を捨てようとしているかを事前に知るには、ここを見ることになります。

  2. 02

    実際に知りたいのはこの数値です

    解像度、フレームレート、ビットレート、長さ、サンプルレート、チャンネル配置、ピクセル形式、ビット深度、色差サンプリング。すべて拡張子からの推測ではなくファイルから読み取ります。コンテナーがトラックごとのビットレートを持たない場合は、勝手に埋めずにその旨を示します。

  3. 03

    項目の羅列ではなく、判断

    回転情報、MP4 の末尾に置かれた索引、食い違うフレームレート値、編集ソフトが拒否するかもしれない 10 ビット映像。どれも結果まで含めた一文で示します。ファイルを読むことと、そのファイルが扱いにくい理由を理解することの違いはここにあります。

  4. 04

    ヘッダーだけでなくファイル構造も見ます

    MP4 と MOV のボックス構造を直接読み、索引が映像データの前にあるか後ろにあるかを判定します。規格上まったく正しい MP4 がウェブページ上で止まる原因は、たいていこれです。ストリームではなく配置の性質のため FFmpeg は報告しません。

  5. 05

    ヘッダーの申告を実際に数え直せます

    任意の処理として、1 フレームもデコードせずに全パケットを通し、実際のフレーム数と、映像と音声がそれぞれ使ったバイト数を返します。フレーム数はヘッダーの見積もりと並べて確認でき、ビットレートを記録しないコンテナーでも映像の実測値が分かります。

  6. 06

    ローカル処理、アップロードなし

    FFmpeg を WebAssembly にコンパイルしてタブ内で動かします。アップロードも順番待ちもアカウントも不要です。ファイルサイズの実用上の上限はブラウザーのメモリーで決まる一方、インタビュー映像や顧客の素材、社内システムの録画は手元の端末から出ません。

使い方

判断に迷うファイルから答えまで、4 ステップです。

  1. 01

    動画または音声ファイルをページにドロップするか、ファイル選択から指定します。エンジンのダウンロードはこの時点で始まり、約 31 MB で一度きりです。その後ファイルはその場で読み取られます。

  2. 02

    まず概要を見ます。コンテナー、長さ、全体のビットレート、映像と音声それぞれ 1 行で、たいていの疑問はここで解けます。

  3. 03

    次にその下の判断を読みます。回転情報から位置の悪い索引まで、このファイルについての一文が結果とともに並びます。

  4. 04

    詳細が必要なら「ストリーム」を開き、まとめて持ち出すならレポート・JSON・ログに切り替えます。実際のフレーム数や、ファイルに書かれていないビットレートが要るときは「カウント」です。

詳細

何を読み、読んだ結果に何をするのか。

  • コンテナー、長さ、全体のビットレート、開始時刻、そしてファイル全体のメタデータタグ
  • ストリームごとのコーデック、プロファイル、コーデックタグ、言語、ビットレート、フラグ
  • 映像の解像度、回転後の表示解像度、画面比、フレームレート、基準フレームレート、ピクセル形式、ビット深度、色差サンプリング
  • 音声のサンプルレート、チャンネル配置、サンプル形式、ビットレート
  • 字幕・データ・添付の各ストリームも省略せずに一覧化
  • カバー画像はアートワークとして扱い、映像トラックには数えません
  • 開始と終了の時刻付きのチャプター
  • MP4、M4A、M4B、MOV、3GP の索引位置をファイル構造から直接判定。FFmpeg のどの出力にも現れない情報です
  • このブラウザーでプレビューのメタデータを読み込めるかの確認と、コンテナー内の音声コーデックをデコードできるとブラウザーが申告するかの確認
  • 実際のフレーム数と、映像と音声それぞれの実際のビットレートを求める、任意のカウント処理
  • 同じ結果を 4 つの見方で。ストリームの内訳、テキストのレポート、JSON、エンジンの生ログ
  • どの表示でもコピーとダウンロードが可能で、ファイル名は元の名前を引き継ぎます
  • すべてブラウザーのタブ内で完結。アップロードも順番待ちもアカウントも不要です

活用シーン

メディア情報を調べたくなるのは、たいてい次のような場面です。

  1. 再生できないが、理由が見当たらない

    拡張子は MP4 なのにプレーヤーが受け付けない。ファイルを読めば可能性はすぐ 2 つに分かれます。コンテナーは正常で中身が HEVC なのか、そもそも名前どおりのファイルではないのか。どちらにせよ次の一手が推測ではなくなります。

  2. 動画が名乗りどおりか確かめる

    4K とされたダウンロードが 1080p の引き伸ばしということも、高ビットレートと説明された素材が実際にははるかに低いこともあります。解像度もビットレートもコーデックもファイルから直接読むので、その説明はデータに耐えるか耐えないかのどちらかです。

  3. ウェブページの MP4 が再生前に固まる

    数秒止まってから問題なく流れるなら、ほぼ索引が映像データの後ろに書かれています。ここではボックスの順序を直接読んでどちらかを示すので、説明のつかない遅延に、手を打てる原因が付きます。

  4. 編集ソフトが受け付けない、または動作が重い

    10 ビット、4:2:2、詳しく確認すべきフレームレート値、見慣れたコンテナーに入った珍しいコーデック。読み込みが失敗する理由はどれもファイルに現れています。どれなのかが分かれば、書き出しをやり直すのか先に変換するのかを決められます。

  5. スマートフォンの動画が横向きになる

    映像は横向きで保存され、その隣に回転情報が付いています。世の中のソフトの半分はそれを尊重し、残り半分は無視します。ここでは情報の有無と、本来どう見えるはずかを示すので、あるアプリでは正しく、別のアプリでは倒れる理由が分かります。

  6. 動画が大きい理由を突き止める

    想定よりはるかに大きいファイルの原因は、ビットレート、解像度、フレームレート、あるいは ProRes のような編集用コーデックのいずれかで、どれなのかが変更点を決めます。先に読むほうが、当てずっぽうで圧縮して結果を見るより速く済みます。

  7. 音声ファイルを提出する前の確認

    ポッドキャストの配信先やアーカイブは、サンプルレート、チャンネル配置、最低ビットレートを指定してきます。MP3、M4A、WAV、FLAC のいずれもタグとあわせてここで読めるので、差し戻されてからではなく提出前に確認できます。

  8. アップロードすべきでない素材

    インタビューの録画、医療映像、顧客の素材、社内ツールの画面録画。いずれも解析サイトに送ってよいものではありません。ここでの処理はすべてタブ内で完結し、実行中にネットワークパネルを開けば確認できます。

関連情報

中身が分かったあと、それを変えるのは別の作業です。再生や読み込みができる形式へ移す、しかも多くの場合は再エンコードせずストリームを複製するだけで済ませる——それを担当するのが 動画形式変換です。ここで読んだ内容がファイルの大きさの理由を説明し、結論として小さくする必要があるなら、サイズの上限から逆算する 動画圧縮があります。録画ではなく写真であれば、画像の EXIF や GPS、撮影設定は 画像メタデータビューアが読み取ります。

これらの値が意味すること

メディアファイルにまつわる混乱の多くは、一見そう見えて別のことを述べている少数の項目に集中しています。ほかを読む前に押さえておく価値があるのは次の点です。

  1. コンテナーとコーデックは別物です

    MP4、MKV、WebM はコンテナーで、複数のストリームと、それらを同期させる時間情報を収める入れ物です。H.264、HEVC、AAC、Opus はコーデックで、映像と音声の圧縮方法を指します。入れ物に対応していても中身をデコードできないことがあるため、「MP4 が再生できない」は矛盾ではなく実在する問題です。

  2. ビットレートは 1 秒あたりの情報量であって、画質そのものではありません

    ビットレートは、1 秒あたりに使ってよいビット数です。同じ解像度と同じコーデックなら高いほうが有利ですが、比較が成り立つのは同一コーデック内だけで、HEVC の 5 Mb/s は MPEG-2 の 5 Mb/s よりはっきり良く見えます。全体の値はすべてのトラックとコンテナーの余分を合わせたものです。

  3. フレームレートには 2 つの数があります

    平均値はファイル全体の長さから求めた結果です。基準フレームレートは FFmpeg がストリームから報告する別の時間値です。両者は一致することも多い一方で、同じ問いに答える値ではありません。差があれば編集ソフトやプレーヤーで問題が出たときに確かめる価値がありますが、これだけで可変フレームレートとは断定できません。

  4. 保存されたサイズと表示されるサイズは違います

    スマートフォンはセンサーの横向きで記録し、その隣に回転情報を書きます。保存されている映像は 1920 × 1080、見えている映像は 1080 × 1920 です。情報を尊重するソフトは正しい向きで、無視するソフトは横向きで表示し、どちらも同じファイルを読んでいます。

  5. ビット深度と色差サンプリングが互換性を決めます

    一般的な映像は 8 ビット 4:2:0 で、ブラウザーもスマートフォンもデコードできます。10 ビットや 4:2:2 はより多くの色情報を持ち、業務用カメラや編集向け形式が生み出すものですが、ブラウザー・スマートフォン・古い編集環境が最も拒否しやすいのもこれです。

  6. 索引の位置が再生の挙動を変えます

    MP4 はサンプルテーブルを moov というボックスに置きます。プレーヤーは何かを表示する前にこの地図を必要とします。先頭にあればダウンロードしながら再生できます。末尾にある場合は、ブラウザーが見つけるために追加の範囲リクエストを必要とすることがあり、サーバーが対応していなければ大半、場合によっては全部のダウンロードを待ちます。ローカルのディスクからはどちらも同じように再生できるため、ウェブに置いて初めて表面化します。

使い方のヒント

必要な答えに早くたどり着くために。

  • ストリーム一覧より先に概要を読みます。コンテナー、コーデック、解像度、ビットレートだけで大半の疑問は片付きます
  • 「ここから分かること」を優先リストとして扱います。そこに並ぶのは結果を伴う値で、ファイルが持っているすべての項目ではありません
  • MP4 をウェブサイトへ載せる前に索引の位置を確認します。この一点が、再生がすぐ始まるかダウンロード完了まで待つかを分けます
  • フレーム数が重要なときはカウントを実行します。実際のパケット数とヘッダーのレートからの見積もりを、映像をデコードせずに並べて確認できます
  • MKV と WebM で映像のビットレートを知りたいときもカウントを使います。これらのコンテナーはトラックごとのビットレートを保持していません
  • 質問スレッドには記憶を頼りに説明せずレポートを貼り、FFmpeg の出力を求められたときにログを貼ります
  • 変換を経たコピーではなく元のファイルを調べます。知りたい値が途中で書き換えられている可能性があります
  • 大きなファイルはデスクトップのブラウザーで扱います。スマートフォンではタブに割り当てられるメモリーがはるかに少なくなります

制限事項

このツールがやらないこと、そして苦手なこと。

  • ファイルを読むだけで、書き換えることはありません。変換も圧縮も切り出しも修復も行わず、それらは下にリンクした別のツールの仕事です。
  • 読み取る前にファイル全体をメモリーへ載せます。WebAssembly は 32 ビットのため、おおよそ 250 MB を超えると安定しなくなります。
  • エンジンは初回のみ約 31 MB です。以降はキャッシュされますが、新しいブラウザープロファイルでの初回にはこのダウンロードが伴います。
  • 値はファイルが記録しているとおりに示します。トラックごとのビットレートを持たないコンテナーではその値は出ず、その穴を埋めるのはヘッダーではなくカウント処理です。
  • カウントはすべてのパケットを読むため、ファイルの長さに比例した時間がかかります。デコードは一切行わないので変換よりはるかに速いものの、長い録画では一瞬とはいきません。
  • プレビュー確認は、この端末上のこのブラウザーがファイルのメタデータを読めたことだけを示し、完全な復号テストではありません。ブラウザー、OS、ハードウェアデコーダーが異なる端末では、結果も異なることがあります。
  • 索引位置の判定は MP4 系、つまり MP4、M4A、M4B、MOV、3GP に限られます。Matroska や WebM などは構造が異なり、対応する性質を持ちません。
  • フレーム単位の情報は対象外です。キーフレーム位置の一覧も、フレームごとの時刻表も、参照ファイルとの画質比較も行いません。
  • 画像ファイルはここでは扱いません。写真の EXIF、GPS、撮影設定は下にリンクした画像メタデータビューアーの担当です。
  • 本当に破損したファイルはまったく読めないことがあり、一部が壊れたファイルではエンジンが識別できたストリームだけが並びます。
  • DRM で保護されたファイルも、コンテナーとストリームの一覧自体は暗号化されていないため、たいていは内容を説明できます。ただし実データに触れる処理は、カウントも含めて失敗することがあります。

よくある質問

メディアファイルの中身を説明する必要が出たときによくある質問です。

動画ファイルのコーデックを確認するには?

ファイルをページにドロップしてください。概要にコンテナーと、映像・音声それぞれのコーデックが表示されます。H.264、HEVC、VP9、AV1、AAC、Opus などで、ストリーム一覧にはトラックごとのプロファイル、コーデックタグ、ビットレートが加わります。アップロードは行われません。FFmpeg がブラウザーのタブ内で読み取っており、実行中にネットワークパネルを開けば確認できます。

動画のビットレートを調べるには?

全体のビットレートは概要に、各ストリームのビットレートはコンテナーが記録していれば個別に表示されます。MP4 と MOV はトラックごとの値を持つのが普通で、MKV と WebM はまったく持ちません。その場合は、ツールが作り出した数値を置く代わりに空欄のままにします。「カウント」を押せば、映像と音声が実際に使ったバイト数を測って正確な値が得られます。

ファイルはアップロードされますか?

されません。エンジンは WebAssembly にコンパイルした FFmpeg で、ブラウザーのタブ内で動きます。ファイルはディスクからタブのメモリーへ読み込まれるだけで、内容がネットワークに出ることはありません。インタビューの録画や顧客の素材、社内システムから取得した映像にローカルのツールを使う理由がここにあります。

コンテナーとコーデックの違いは何ですか?

コンテナーはファイル形式そのもの——MP4、MKV、WebM——で、ストリームに加えて再生に必要な時間と索引の情報を収めています。コーデックは中の映像と音声の圧縮方法で、H.264 や AAC などです。コンテナーに対応していても中身をデコードできないことがあるため、開けない MP4 は矛盾ではなくごく普通の問題であり、このツールが両者を分けて示すのもそのためです。

同じ動画がアプリによって横向きになるのはなぜですか?

保存されている向きと、表示されるべき向きが違うからです。スマートフォンはセンサーの横向きで記録し、その隣に回転情報を書きます。正しい映像は、保存された映像をその情報の分だけ回したものです。情報を尊重するソフトは正しい向きで、無視するソフトは横向きで表示します。判断のパネルには回転情報の有無と、適用後にどう見えるはずかが示されます。

faststart とは何ですか。MP4 が再生前に止まるのはなぜですか?

MP4 はサンプルテーブルを moov というボックスに置きます。プレーヤーは 1 フレームを表示する前にこの地図を必要とします。順に書き出すエンコーダーは映像データの後ろに置くため、ブラウザーは再生前に追加の範囲リクエストを必要とすることがあります。サーバーがバイト範囲リクエストに対応していなければ、大半、場合によってはファイル全体を待つため、長く固まったように見えます。このボックスを先頭へ移すことを faststart と呼びます。FFmpeg の出力には現れないため、このツールはファイルからボックスの順序を直接読み取ります。

フレームレートの値が違うときは何を意味しますか?

平均フレームレートと基準フレームレートは別の時間情報を示すため、差は詳しく見るべき手がかりであって、可変フレームレートの判定ではありません。「カウント」は実際のパケット数を加え、ヘッダーの見積もりと比べます。差は長さやレートの丸め、特殊なタイムスタンプでも生じます。可変フレームレートを確定するにはフレームごとの時間情報が必要で、このツールはそこまでは解析しません。

MKV の映像トラックにビットレートが出ないのはなぜですか?

Matroska がその値を保存しないからです。トラックごとのビットレートは MP4 と MOV の流儀で、MKV と WebM はストリームだけを記録し、計算は必要な人に任せます。このツールはその欄を推測で埋めず、空欄のままにします。「カウント」を押せば、映像が実際に占めるバイト数を合計して実際の値を測ります。

音声ファイルも確認できますか。MP3 のビットレートやサンプルレートなど。

できます。MP3、M4A、AAC、WAV、FLAC、OGG、Opus も同じように読み取り、ビットレート、サンプルレート、チャンネル配置、長さ、タグを表示します。アルバムのアートワークは映像トラックではなくアートワークとして扱われます。ほかのツールが音声ファイルに映像が入っていると言い張るのは、たいていこれが理由です。

動画のフレーム数はいくつですか?

長さ × 平均フレームレートは見積もりにすぎません。長さやレートの値は丸められていることがあるためです。「カウント」はすべてのパケットを、1 フレームもデコードせずに通し、実際の数を返します。さらにヘッダーの見積もりと比べることで、異なる時間情報を理解する手がかりになりますが、1 つの数から問題を断定するものではありません。

10 ビットや 4:2:2 とは何ですか。編集ソフトが受け付けないのはなぜですか?

ビット深度は各色の値をどれだけ細かく記録するか、色差サンプリングは明るさに対してどれだけ色の情報を残すかを指します。一般的な映像は 8 ビット 4:2:0 で、どこでもデコードできます。業務用カメラや編集向け形式は 10 ビットや 4:2:2 を生み出し、情報量は多い一方で、ブラウザー・スマートフォン・古い編集ソフトが最も拒否しやすいものでもあります。どちらもピクセル形式から読み取ってここに表示します。

どのくらいの大きさのファイルまで確認できますか?

確認の前にファイル全体をタブのメモリーへ載せます。WebAssembly は 32 ビットのため、実用上の上限はおおよそ 250 MB 前後です。その範囲であればヘッダーの読み取り自体はサイズによらず高速です。カウント処理はすべてのパケットを通るため、デコードはしないもののファイルの長さに比例した時間がかかります。

関連ツール

メディアファイルを扱う、ブラウザー内で完結するツールをほかにも用意しています。