ブラウザで動画を圧縮する方法
動画ファイルは大きい。1分の電話録画は簡単に100から200 MBになり、長い動画はすぐにギガバイトに達します。それはメール、メッセージングアプリ、SNSでの共有を困難にします。ほとんどのプラットフォームには厳格なアップロード制限があります。動画を圧縮するとファイルサイズが減りながら視聴可能な状態を保ち、ブラウザで直接、ソフトウェアをインストールせず、サーバーにアップロードせず、賢明な設定では通常目に見える品質損失なしに行えます。
動画圧縮の簡単な歴史
デジタル分野としての動画圧縮は、1980年代後半のMPEG-1標準(1991年)から始まり、VideoCD再生を可能にしました。MPEG-2は1995年に続き、DVD、デジタルTV、初期のストリーミングを動かしました。H.264(AVCとも呼ばれる、2003年)は、YouTube、Blu-ray、モダンなWebを可能にした突破口でした。同じ品質でMPEG-2のビットレートをおよそ半分にし、20年以上経っても今日最も互換性のあるコーデックのままです。
H.265(HEVC、2013年)とVP9(Google、2013年)は再びビットレートをおよそ40から50%カットし、Netflix、YouTube、Apple デバイスでの4Kストリーミングを動かします。AV1(Alliance for Open Media、2018年)は現在のオープン標準で、HEVCをさらに20から30%打ち負かし、HEVC採用を遅らせた特許ライセンスのしがらみから自由です。H.266(VVC、2020年)はさらに押し進めますが、広いデバイスサポートには数年かかります。各世代は、半分のビットでエンコードするためにおよそ2倍のCPUがかかります。だから電話には専用のハードウェアエンコーダーがあり、ブラウザベースの圧縮は比較的最近のオプションです。
動画ファイルを圧縮する理由
- メール添付: ほとんどのメールプロバイダーは添付を25 MBに制限します。圧縮された動画は元が収まらない場所に収まります。
- メッセージングアプリ: WhatsAppはデフォルトで16 MB、Telegramは無料アカウントで2 GB、DiscordはNitroなしで25 MBに上限を設けます。圧縮により、ディスク上の元の品質を保ちながら、実際にファイルを送れるようになります。
- 速いアップロード: 小さなファイルはYouTube、SNS、クラウドストレージにずっと速くアップロードされます、特に遅い接続では。20 Mbpsアップロードでの4 GBの生の4Kファイルは30分近くかかります。400 MBに圧縮された同じクリップは3分かかります。
- ストレージの節約: 圧縮された動画はデバイスやクラウドドライブで使うスペースが少なくなります。カメラロールの30秒のTikTokスタイルクリップは、目に見える損失なしに80 MBから10 MBに下がります。
- 帯域幅コスト: 自分で動画をホストすると、すべてのメガバイトがコストになります。ビットレートを半分にするとCDN料金も半分になります。
- 速い再生開始: ブラウザは、開始するのに十分なデータを得る前により少ない秒数をバッファするため、圧縮された動画を早く再生開始できます。
オンラインで動画を圧縮する手順
- 動画をアップロード: 圧縮したい動画ファイルを選択します。ツールはMP4、WebM、MOV、AVI、MKV、その他ほとんどの一般的な形式を受け入れます。すべてはデバイス上に留まります。
- 圧縮設定を調整: ファイルサイズをどれだけ減らしたいかに応じて、圧縮レベル(低、中、高)を選びます。より精密なコントロールのためにCRF(Constant Rate Factor)スライダーを調整することもできます。低い値はより多くの品質を保持し、高い値はより積極的に圧縮します。
- 出力寸法とフレームレートを選ぶ: 4Kは巨大、1080pはほとんどの用途に十分、720pはメッセージングにはしばしば問題ありません。60 fpsから30 fpsに下げると、コーデックが処理するデータの量が半分になります。
- コーデックを選ぶ: 互換性にはH.264、視聴者がモダンなデバイスを持つときに小さなファイルにはH.265 / HEVC、WebにはVP9 / AV1。
- 圧縮されたファイルをダウンロード: ツールは元と圧縮されたファイルサイズを表示するため、ダウンロード前に削減を確認できます。
裏側では、動画はFile APIで読まれ、ffmpeg-wasmでデマックスされ、フレームはWebAssemblyコーデックで再エンコードされ、結果はコンテナにマックスされてダウンロードとして提供されます。何もページを離れません。
動画圧縮設定の理解
品質プリセットは圧縮する最もシンプルな方法です:
- 低圧縮: 最小のサイズ削減、最高の品質。動画を元にできるだけ近く見せたいときに良い。
- 中圧縮: バランスの取れた中間。ほとんどの共有シナリオで良く機能します。
- 高圧縮: 最大のサイズ削減。動画は著しく小さくなりますが、特に動きの速いシーンでいくらかの品質損失を示すかもしれません。
CRF(Constant Rate Factor)はより細かいコントロールを与えます。スケールは0(ロスレス、非常に大きい)から51(最大圧縮、低品質)です。ほとんどの目的では:
| CRF範囲 | 品質 | 典型的な用途 |
|---|---|---|
| 0から17 | 視覚的ロスレス | アーカイブマスター、中間編集ファイル |
| 18から23 | 高品質 | 本番配信、プロフェッショナルアップロード |
| 24から28 | 良い品質 | SNS、カジュアル共有 |
| 29から35 | 許容できる品質 | 素早いプレビュー、低帯域幅使用 |
| 36から51 | 悪い品質 | 非常に特定の目的を除いて避ける |
H.264での日常圧縮の安全なデフォルトはCRF 23、HEVCではCRF 28がはるかに小さなファイルで似た知覚品質を与えます。
ビットレート(CBR / VBR / ABR)はCRFの代替です。CBR(固定ビットレート)はコンテンツに関わらず固定Mbpsをターゲットにし、予測可能にストリームしますがシンプルなシーンでビットを無駄にします。VBR / CRFはエンコーダーが複雑なシーンにより多くを使うことを許可します。ハードキャップが必要なときはビットレート(ストリーミングサービスの5 Mbpsなど)を使い、ファイルダウンロードにはCRFを使ってください。
解像度、フレームレート、コーデックの選択
これら3つの設定は、品質だけを微調整するよりもしばしばより多くを節約します。
| 設定 | 一般的な値 | サイズへの影響 |
|---|---|---|
| 解像度 | 4K(3840x2160)、1440p、1080p、720p、480p | 解像度を半分にするとファイルサイズが約75%削減 |
| フレームレート | 60、30、24 fps | フレームレートを半分にするとファイルサイズが約50%削減 |
| コーデック | H.264、H.265 / HEVC、VP9、AV1 | 各世代が同じ品質で約40%カット |
| 音声 | AAC 128 / 96 / 64 kbps | 通常ファイルサイズの5から10% |
| GOP / キーフレーム間隔 | 1から5秒 | 長い間隔でより小さなファイル、シークが困難 |
4K 60 fpsの電話クリップを1080p 30 fpsに落とすと、コーデック調整前にすでに桁違いに小さくなります。それをCRF 24のH.265エンコードと組み合わせると、2 GBファイルは目に見える品質損失なしに通常100 MB未満に着地します。
より良い結果のためのヒント
- まずトリム、その後圧縮: 動画の一部のみが必要な場合、圧縮前に不要な部分をカットしてください。これにより、圧縮する映像が少なくなり、はるかに小さなファイルが得られます。
- 互換性にMP4を選ぶ: MP4とH.264は事実上すべてのデバイスとプラットフォームで再生されます。WebMとVP9はわずかに良い圧縮を提供しますが、どこでもサポートされているわけではありません。
- 解像度を目的地に合わせる: Instagramは1080pを超えるものを表示しません。Xは1080p未満のすべてを圧縮し、ほとんどのメールクライアントは動画を720pでインライン表示します。目的地より高くいくのはバイトの無駄です。
- デスクトップブラウザを使う: 動画圧縮はプロセッサ集約的です。デスクトップコンピューターは電話やタブレットよりずっと良く処理します。モバイルブラウザは大きなファイルでメモリを使い切る可能性があります。
- 他のタブを閉じる: 動画処理は重要なメモリを使います。他のブラウザタブを閉じるとリソースが解放され、圧縮がより速く完了するのに役立ちます。
- ストリーミングターゲットには2パス: 特定のファイルサイズやビットレートに当てる必要があるとき、2パスエンコードは1パスより著しく良い品質を与えます。ffmpegの
-passフラグを露出するツールでこれができます。 - 原本を保持: つねにコピーを圧縮してください。元から再圧縮はいつでもできますが、ハード再エンコードで失われたデータは復元できません。
- 音声も重要: 320 kbpsのステレオ音声を持つ5分のクリップは12 MBの音声を運びます。話し言葉のコンテンツには96 kbpsモノラルに落とし、目に見えるチャンクを節約してください。
よくある落とし穴
- すでに圧縮された動画の再エンコード: ソースがすでにCRF 23のH.264なら、CRF 23で再びエンコードすると目に見えてより悪い品質の小さなファイルが生成されます。明確な目標(より低い解像度、異なるコーデック、ハードサイズキャップ)があるときだけ再エンコードしてください。
- 再生デバイスに間違ったコーデック: AV1は2022年以降の電話でスムーズに再生しますが、ハードウェアデコーディングなしの2015年のラップトップではどもります。視聴者が実際にデコードできる最も効率的なコーデックを選んでください。
- fast-start / moovアトムを忘れる: moovアトムが末尾にあるMP4は、再生開始前にファイル全体のダウンロードを強制します。
ffmpeg -movflags +faststartを実行するか「Web最適化」オプションをチェックして、前に置いてください。 - 不一致の音声サンプルレート: 48 kHz動画タイムラインでの44.1 kHz音声は、長いクリップで同期がずれる可能性があります。動画ツールの期待サンプルレート(通常48 kHz)に合わせてください。
- HDRをSDRとしてエンコード: HDRの電話クリップをプレーンなRec.709 SDRとしてエンコードすると、色あせて見えます。HDRを保持する(HDR10メタデータ付きHEVC / AV1)か、意図的にトーンマップしてください。
- 未知の視聴者用のハードコードキャプション: 焼き込まれた字幕はオフにできません。必要としない視聴者は迷惑し、異なるサイジングツールを使う視聴者は行き詰まります。可能なら別の字幕ファイルを出荷してください。
- 結果をチェックせずにビットレートを目標にする: 1 Mbpsはタイトなトーキングヘッドの720pショットには十分ですが、速いアクションの1080pクリップで目に見えるブロッキングを生成します。つねに代表的なセクションをプレビューしてください。
- アルファチャンネル動画をアルファなしコーデックに圧縮: オーバーレイ用の透明動画はProRes 4444、アルファ付きVP9、またはアルファ付きHEVCが必要です。H.264は透明度を保存できません。
- SSDのストレージ節約のために再エンコード: モダンなストレージは安価です。CPU時間と品質はそうではありません。実際の下流の利益(共有、ストリーミング、ストレージキャップ)があるときだけ圧縮してください。
- メタデータを無視: 場所、デバイスモデル、タイムスタンプは通常、動画ファイルに埋め込まれています。ブラウザベースのコンプレッサーは通常それらを取り除きますが、プライバシーが重要ならテストファイルで検証してください。
代替ツールと文脈
ブラウザコンプレッサーは1つまたは少数のクリップに最速の経路です。バッチ作業や本番パイプラインには、コマンドラインツールと専用アプリが勝ちます。
| ツール | プラットフォーム | 強み | 注意点 |
|---|---|---|---|
| Web動画コンプレッサー | ブラウザ | インストール不要、アップロード不要、ffmpeg-wasm | ネイティブffmpegより遅い |
| ffmpeg | CLI、クロスプラットフォーム | 業界標準、すべてのオプション | 冗長な構文 |
| HandBrake | デスクトップGUI | フレンドリーなプリセット、キューイング | GUIのみ |
| Shutter Encoder | デスクトップ | ffmpegベース、バッチUI | 新しい、小さなコミュニティ |
| Compressor(Apple) | macOS | 洗練された、Final Cutと統合 | Macのみ、有料 |
| Adobe Media Encoder | デスクトップ | スタジオグレード、キュー駆動 | 有料、重い |
| VLC | デスクトップ | 無料、何でも再生する | エンコーディングUIが粗い |
| DaVinci Resolve | デスクトップ | 配信ページ付きフルエディタ | 圧縮だけが欲しいなら重い |
| YouTube / Vimeo | クラウドアップロード | アップロード時に再エンコードしてくれる | 設定のコントロールを失う |
ffmpeg -i in.mp4 -c:v libx264 -crf 23 -c:a copy out.mp4 | CLIワンライナー | 素早く再現可能な圧縮 | フラグを正しく |
コンテンツパイプラインの自動化には、ffmpegスクリプト(またはDASH/HLSにShaka Packager)が勝ちます。クリップを送る一度限りの圧縮には、ブラウザツールが速度とプライバシーで勝ちます。
プライバシーとコンプレッサー
動画コンプレッサーは完全にブラウザ内で動作します。選択したファイルはFile APIで読まれ、ffmpeg-wasmとWebAssemblyコーデックで処理され、ダウンロードとして提供されます。アップロードなし、ロギングなし、サーバー側でのサムネイルや文字起こし作成なしです。機密素材(インタビューのボイスメモ、内部ダッシュボードの画面録画、公に投稿しない家族の映像)には、そのローカル専用フローが、見知らぬサーバーを信頼することと誰も信頼しないことの違いです。動画ファイルはしばしば隠しメタデータを運びます。GPS座標、デバイスシリアル番号、録画タイムスタンプ、一部の電話ではカメラのドリフト補正されたジャイロデータでさえ。ローカルパイプラインは、それらすべてをコントロール下に保ちます。クリップを小さくするような日常のタスクには、プライバシーのデフォルトは、何もページを離れない、何も保存されない、何も共有されない、であるべきです。
よくある質問
どの動画形式を圧縮できますか?
ほとんどの一般的な形式が動作します: MP4、WebM、MOV、AVI。H.264のMP4は最も広く互換性のある形式で、実質的にすべてのデバイスとプラットフォームで動作します。
ファイルサイズの制限はありますか?
処理がブラウザ内で行われるため、サーバー制限はありません。ただし、非常に大きなファイル(500 MB以上)は、デバイスのメモリと電力に応じて遅くなる可能性があります。デスクトップブラウザは、モバイルよりもはるかに上手く処理します。
圧縮は動画を損なうことになりますか?
中程度の圧縮レベルでは、品質の違いはほとんど知覚できません。ツールは、トレードオフが適切かどうかを判断するために、ダウンロード前にサイズ削減をプレビューできます。
スマートフォンで動画を圧縮できますか?
動画圧縮は計算が重く、多くのメモリを必要とします。最良の結果を得るには、デスクトップブラウザを使用してください。モバイルブラウザは大きなファイルで苦労する可能性があります。
What is the difference between bitrate and CRF?
Bitrate (e.g., 5 Mbps) tells the encoder to spend exactly that many bits per second of video, useful when streaming bandwidth is fixed. CRF (Constant Rate Factor) tells the encoder to aim for a fixed perceptual quality and let the bitrate vary; complex scenes get more bits, simple scenes get fewer. CRF usually gives better quality per byte for files that will be downloaded rather than live-streamed.
Why is my MOV file from an iPhone so big?
iPhones record in HEVC (H.265) inside a MOV container at fairly high bitrates by default. The pixel count and frame rate matter as much as the codec; a 4K60 clip is roughly four times the size of the same scene in 1080p30. Re-encoding to H.264 or AV1 at a sensible CRF and resolution usually cuts the file to a fraction.