動画アスペクト比一括判定 — 解像度・尺・GCD 比・1080p / TikTok 規格マッチ
動画ファイルをまとめてドロップすると、各動画の解像度 (幅×高さ)・尺 (duration)・GCD で約分したアスペクト比 (例: 1920×1080 → 16:9、1080×1920 → 9:16)・最近接の標準規格 (Full HD 1080p、4K UHD、TikTok 9:16、Instagram 4:5、YouTube 16:9、Cinemascope 21:9 等 17 プリセット) を一括判定します。**`image-aspect-find` の動画版**で、SNS 用にリサイズが必要か、横画面と縦画面が混ざってないか、編集前のアセットセット全体のアスペクト比が揃っているか、をテーブル比較で一目で確認可能。コーデック / ビットレート / fps など深掘りは `video-codec-info` の領域で、本ツールは **アスペクト比・解像度・尺だけ** に絞ることで軽量・高速 (`HTMLVideoElement` の metadata 読み取りのみ、wasm 不要)。複数動画を比較できるので、Instagram + TikTok + YouTube のクロス投稿前チェックや、Premiere / DaVinci のシーケンス設定の事前確認に。CSV エクスポート対応。すべてブラウザ内で完結、動画はサーバーに送信されません。
使い方
動画ファイル (MP4 / MOV / WebM / MKV) をドロップ。 各動画の解像度・尺・GCD アスペクト比・最近接の標準規格 (1080p / 4K / TikTok / Instagram 等) が表示されます。 「向きを無視」をオンにすると 16:9 と 9:16 を同じ比として扱います (縦横混在の比較に)。 結果は CSV としてコピーまたはダウンロード可能。
詳細解説
アスペクト比の確認だけでも、動画ファイル全体が処理対象になる
動画のアスペクト比・解像度・尺を確認したい場面は、SNS 投稿前に「この動画は 16:9 か 9:16 か」を確認する、クライアントから受け取った素材が要件を満たしているか確認する、複数の動画素材を一覧して統一性を確認する、動画編集ソフトのシーケンス設定を確認してから取り込む、などです。確認作業自体は数秒ですが、確認対象の動画は撮影直後の未公開映像・クライアントから受け取った素材・社内向けの研修映像などである場合があります。
オンラインで動画のメタ情報を確認するサービスは、動画ファイルをサーバーへアップロードしてからメタデータを返す実装が大半です。アスペクト比・解像度という軽い情報を得るために、数百 MB〜数 GB の動画ファイル全体がサーバーへ到達します。「メタ情報を確認するだけ」という用途の軽さと、転送されるデータ量のギャップは video カテゴリの中で最も顕著な部類です。
解像度・尺・GCD 比という「軽い情報」は、動画なしでも取れる
動画ファイルのアスペクト比・解像度・尺は、コンテンツをデコードしなくても取得できるメタ情報です。MP4 / MOV / WebM / MKV などの主要なコンテナは、ファイルの先頭から数百バイト〜数 KB の範囲にあるヘッダ部分に、解像度・フレームレート・尺を記録しています。実際に再生・デコードする必要はありません。HTMLVideoElement の loadedmetadata イベントは、ブラウザが動画のヘッダを読み込んだ時点でこれらの情報を返します。
つまり、アスペクト比・解像度・尺の確認は、動画の映像データを一切処理せずに実行できます。動画全体をサーバーへアップロードする必要はなく、ブラウザが自前でヘッダを読んで返す情報で十分です。オンラインサービスへの丸ごとアップロードは、技術的に必要ないにもかかわらず行われている過剰な転送です。
HTMLVideoElement の loadedmetadata イベントのみ — ネットワーク通信ゼロ
このツールは動画ファイルを URL.createObjectURL(file) でオブジェクト URL に変換し、非表示の HTMLVideoElement の src に設定します。loadedmetadata イベントが発火した時点で video.videoWidth・video.videoHeight・video.duration を読み取ります。GCD (最大公約数) は gcd(width, height) で計算して比を約分します。最近接規格の判定は、decimal ratio (width/height) を 17 プリセット (16:9・9:16・21:9・4:5 など) と比較し ±1% 誤差内のものを選択します。
動画ファイルの映像データは一切デコードされず、ヘッダの読み取りのみで処理が完結します。サーバーへのアップロードは発生せず、DevTools の Network タブでも動画ファイルに関するリクエストは確認できません。結果の CSV 出力もブラウザ内の JavaScript で生成されます。
動画素材の仕様確認は、素材を手放さずに完結させる
撮影済みの動画素材・クライアントから受け取った映像・編集中のプロジェクトファイルの仕様確認は、プロダクション業務の日常です。その確認作業がブラウザ内で完結することで、未公開映像・機密映像・クライアント素材が確認作業のためだけに外部サービスへ渡ることを防げます。アスペクト比の確認という軽い用途から、素材管理のプライバシー意識を定着させられます。
MP4 / MOV / WebM コンテナのヘッダ構造と HTMLVideoElement の役割
ISO/IEC 14496-12 (MP4 / MOV) のコンテナは「box」と呼ばれる階層構造で、ftyp (ファイル種別)・moov (映像音声のメタデータ)・mdat (実際のサンプルデータ) の順で並びます。解像度・尺・フレームレート・コーデックといったメタ情報はすべて moov atom 内の mvhd (movie header)・trak (track) → tkhd (track header) → mdia → minf → stbl → stsd (sample description) に格納され、ファイル全体のごく一部 (数 KB〜数十 KB) を読むだけで取得可能です。WebM / MKV は EBML (Extensible Binary Meta Language) というバイナリ XML 形式で、Segment → Info・Tracks 要素にメタ情報が並びます。
ブラウザの HTMLVideoElement は内部で libavformat 相当のデマクサを持ち、src を設定すると Range Request または Blob からヘッダ部分のみを読み込んで loadedmetadata を発火します。movflags faststart で moov atom が先頭にあるファイル は videoWidth / videoHeight / duration が即座に取れますが、moov が末尾にある場合 (ファイル書き出し直後の状態) は末尾までシークが必要で、ローカル Blob では問題なく動作するものの HTTP Range で取得する Web 配信では遅延が出ます。VP9 / AV1 でも WebM コンテナの Tracks 要素は同じく先頭近傍にあり、ブラウザは media data 全体をデコードせずにメタ情報だけを取り出せます。
配信プラットフォーム別アスペクト比要件
YouTube は 16:9 (横) を標準とし、Shorts は 9:16 (縦) を要求します。1:1 や 4:5 はサイドバーが付くため不推奨。TikTok は 9:16 (1080×1920) が標準で、16:9 横動画は中央クロップされ表示領域が狭くなります。Instagram Reels は 9:16 (1080×1920)、Feed 投稿は 1:1 (1080×1080) または 4:5 (1080×1350)、Stories は 9:16 と複数仕様が混在します。X (旧 Twitter) は 16:9 / 1:1 / 9:16 / 4:5 などすべて受け入れますが、タイムライン表示は 16:9 にクロップされて表示されることがあります。
LinkedIn は 16:9 / 1:1 / 9:16 を受け入れ、フィード上では 1:1 が最も画面占有率が高くエンゲージメント率が高いという研究があります。Facebook は 16:9 / 1:1 / 4:5 / 9:16 をサポート、Pinterest は 2:3 (1000×1500) の縦動画が pin として最適化されます。映画館 (DCP) は Flat 1.85:1 と Scope 2.39:1 が標準で、4K HDR 映画は 17:9 (DCI 4K、4096×2160) の場合もあります。同じ素材を複数プラットフォームに出す場合、本ツールで現状確認 → video-crop で各プラットフォーム用の中央クロップを切り出す、または短辺だけ縮める用途なら video-resize を使う、というワークフローが一般的です。
よくある質問
- video-codec-info との違いは?
- video-codec-info は **コーデック・ビットレート・fps・音声トラック** などを mediainfo.js (wasm) で深掘り。本ツールはより軽量で、**アスペクト比・解像度・尺だけ** に絞った高速版。wasm ロード不要 (`HTMLVideoElement` の metadata 読み取りのみ)、複数動画の比較テーブル + CSV エクスポート対応。デザイン/マーケ用途向き。
- image-aspect-find との違いは?
- 同じアスペクト比比較ですが、対象が静止画 (image-aspect-find) vs 動画 (本ツール)。プリセットは同じ 17 種類 (16:9 / 9:16 / 21:9 / 4:5 etc.)。本ツールは尺 (duration) も表示します。
- fps やコーデックは表示されない?
- 本ツールはアスペクト比に特化なので fps / コーデック / ビットレートは扱いません。それらは `video-codec-info` を使ってください。fps を含めると mediainfo.js wasm (数 MB) のロードが必要になるため、本ツールは意図的に軽量化しています。
- GCD アスペクト比とは?
- 幅と高さの最大公約数で割って約分した比です。1920×1080 → GCD(1920, 1080) = 120 → 16:9。1080×1920 → 9:16。「比のシンプルな整数表記」を得るのに使います。
- 「最近接規格」のマッチ条件は?
- decimal 比に基づき、登録された 17 プリセット (Full HD / 4K / TikTok / Instagram / YouTube / Cinemascope / iPad 等) と比較して誤差 1% 以内のものを最近接として選びます。完全一致でなくても近い規格が分かるので「ほぼ 16:9 だが微妙にズレている」を検出可能。
- 縦動画と横動画を一緒に比較したい
- 「向きを無視」オプションをオンにしてください。16:9 と 9:16 を同じ「比のタイプ」として扱います。デフォルトでは区別 (Instagram は portrait / landscape を別物として扱うため)。
- データは外部に送信されますか?
- いいえ。`HTMLVideoElement` の `loadedmetadata` イベントだけでサイズ・尺を取得します。
「送らない」を確かめるには
このツールは入力データを外部に送信しません。仕組み・監査手順・運営方針は以下で詳しく説明しています。
類似のツール
画像アスペクト比一括判定 — GCD 比 + 1080p / 4K / iPhone / TikTok 規格マッチ
画像ファイルをまとめてドロップすると、各画像の幅×高さ・GCD で約分したアスペクト比 (例: 1920×1080 → 16:9、3024×4032 → 3:4)・最近接の標準規格 (Full HD 1080p、4K UHD、iPhone 各機種の画面解像度、TikTok 9:16、Instagram 4:5、YouTube サムネ 1280×720 など 30+ 規格) を一括判定します。Web デザインやマーケでよくある「ある画像を Instagram にも YouTube サムネにも使いたい」「ヒーロー画像が 21:9 で来たけどデバイスに合うか」を一目で確認可能。複数画像をテーブル比較できるので、アセットセット全体のアスペクト比が揃っているかをチェックする用途にも。すべてブラウザ内で完結 (`Image()` の `naturalWidth/Height` を使用)、画像はサーバーに送信されません。
動画コーデック情報
MP4 / MOV / MKV / WebM などの動画ファイルから、コンテナ・コーデック・解像度・フレームレート・ビットレート・音声トラック情報を読み取って表示します。書き換えなしの読み取り専用、mediainfo.js (BSD) でブラウザ内のみで実行。
動画リサイズ — 解像度変更 / アスペクト比維持
動画の解像度を変更します。指定した幅に合わせ、高さはアスペクト比を保ったまま自動。libx264 で再エンコード (CRF 指定可能)、出力は mp4。複数ファイル一括処理 + ZIP ダウンロード対応。
動画クロップ — 1:1 / 9:16 / 16:9 / 4:3 / 3:4 中央切り抜き
動画のアスペクト比をプリセットから選んで中央クロップします。Instagram の正方形 1:1、TikTok / Reels の縦動画 9:16、YouTube の横動画 16:9、SD 比率 4:3 / 3:4 をワンクリックで。元動画の解像度から最大限取れる中央の矩形を自動計算 (H.264 互換の偶数解像度に丸めます)。ffmpeg.wasm をブラウザ内で動かすので、動画はサーバーに送信されません。