ダウンロード前にトリム vs ダウンロード後にトリム:2026年はどちらが優れているか
ダウンロード前にトリムすれば、欲しい部分だけ取得でき、帯域幅と時間を節約 — ffmpegとオンラインツールの使い分けを解説
2時間のストリームから90秒のシーンだけ欲しい場合、2つの根本的に異なる方法があります。人々はどちらが「正しい」かについて宗教的な議論をしていますが、そうではありません。これらは2つのエンジニアリング上のトレードオフであり、どちらが優れているかはあなたが実際に気にしていることによって異なります。それは帯域幅、フレーム精度、品質、またはソースがログインの背後にあるかどうかです。
2つの哲学は次の通りです:
- ダウンロード前にトリム — まず正確なイン/アウトポイントを決めてから、その範囲内のバイトだけを取得します。不要な部分は一切ダウンロードしません。
- ダウンロード後にトリム — ファイル全体(またはストリーム全体)を取得してから、ffmpegなどのツールを使ってローカルでクリップをカットします。
このポストでは、それぞれの実際のトレードオフについて説明し、ffmpegの使い方を正しく説明します(キーフレーム精度の誤解を招く-ssの配置を含めて)。オンライントリマーについて正直に説明し、ブラウザ内拡張機能がどこに位置するかを説明します。詳細をスキップしたい場合は、最後付近に比較表があります。
コアな違い:実際に何がダウンロードされるか
この議論全体は1つの質問に帰結します:捨てるはずのバイトをダウンロードしますか?
最新のストリーミングビデオ(HLSまたはDASH)は1つのファイルではありません。これは、マニフェスト(.m3u8または.mpdプレイリスト)で、通常2~10秒のセグメントを指しています。2時間のビデオの47:00から48:30までの分が欲しい場合、その90秒は15~45個のセグメントにあります。残りの約3,000セグメントはあなたに関係ありません。
- ダウンロード後にトリム — 約3,000個のセグメントを取得し、数ギガバイトのファイルを組み立てた後、カットするときにそのうち99%を削除します。クリップの帯域幅とストレージコストの全額を支払います。
- ダウンロード前にトリム — イン/アウトポイントをセグメント範囲に解決し、それらだけを要求してから、小さいファイルを組み立てます。クリップの長さにほぼ比例したコストを支払います。
長いビデオから短いクリップの場合、この違いは非常に大きく — 多くの場合、30 MBをダウンロードする場合と4 GBをダウンロードする場合の違いです。それがダウンロード前のトリムが存在する根本的な理由です。また、マーケティングではなく、実際の測定可能な節約です。
問題は、ダウンロード前のトリムはセグメント境界の精度に依存しており(以下を参照)、マニフェストを理解し、サブ範囲を取得できるツールが必要です。ダウンロード後のトリムは、ディスク上にあるファイルに対して機能し、特別なプロトコル認識は不要です。どちらにも場所があります。
方法1:ダウンロード後にffmpegでトリム
ファイル全体を既に持っているか、全体を必要としており、単にクリップを抽出している場合、ffmpegが正しいツールです。それは無料で、スクリプト可能であり、正しく使えばロスレスです。
高速なロスレスカット:ストリームコピー
ffmpeg -ss 00:10:00 -to 00:15:00 -i input.mp4 -c copy out.mp4
これは10:00から15:00までの5分を抽出します。重要なフラグは-c copyで、ffmpegに既存のオーディオおよびビデオストリームを再エンコードせずにコピーするよう指示します。デコードなし、再圧縮なし。巨大なファイルでも数秒で実行され、出力はソースとビット単位で同一の品質です。世代的な損失はありません。
-c copyに対して支払うコストは、キーフレーム境界でのみカット可能です。ビデオは、時々完全なフレーム(キーフレーム/Iフレーム)として圧縮された後、前のフレームからの差分を保存するフレームが多くあります。差分フレーム上でクリーンなクリップを開始することはできません。なぜなら、それは何を差分するかがないからです。したがって、ffmpegはスタートポイントを前の最も近いキーフレームにスナップします。一般的なキーフレーム間隔が2~10秒の場合、実際のカットは要求した場所より1~2秒早く着地する可能性があります。ほとんどのクリップでは目立ちません。フレーム正確な編集では十分ではありません。
-ss前対後の-i — 落とし穴
これはffmpegでのトリムについて最も誤解されている単一のことです。それを間違えると、黒い/凍った導入またはのろのろしたカットが得られます。
-ss 前 -i(入力シーク):
ffmpeg -ss 00:10:00 -i input.mp4 -c copy out.mp4
ffmpegは読み込みを開始する前にほぼそのタイムスタンプにシークします。ファイルインデックスの最も近いキーフレームに直接ジャンプします。これは高速(破棄された部分のデコードなし)ですが、キーフレーム境界なので、スタートは概算です。-c copyを使うと、これはスピードのためにあなたが望むまさにその通りです。
-ss 後 -i(出力シーク):
ffmpeg -i input.mp4 -ss 00:10:00 -c copy out.mp4
ここでffmpegはファイルの最初から読み込み、10:00まですべてをデコード/破棄してから、書き込みを開始します。これはフレーム正確ですが、長い入力に対して遅い。なぜなら、スタートポイント前のすべてを処理するからです。1:55:00のスタートポイントを持つ2時間のファイルでは、ほぼ2時間の入力を処理する間、待つことになります。
歴史的な「入力シークが不正確」という評判は、最新のffmpegの再エンコードケースではほとんど修正されています。再エンコードする場合、ffmpegは-ssを-iの前に配置してスピードを確保しつつ、エンコード中にトリムすることによってフレーム正確な結果を生成できます。しかし、-c copyを使用している場合、-ssがどこに行っても、コピーは新しいキーフレームを製造できないため、根本的にキーフレームに制限されています。
経験則:
- 高速で±1~2秒を気にしないですか?
-ss-iの前、-c copy。 - フレーム精度を望み、再エンコードを気にしないですか?
-ss-iの前、再エンコード(以下を参照)。 - 特定の理由がない限り、長いファイルで
-ssを-iの後に配置するのを避けてください。最も遅いオプションです。
フレーム正確なカット:再エンコード
クリップが正確なフレーム上で始まる必要がある場合(ミームカット、スポーツリプレイ、正確な引用),ストリームコピーはできません。ffmpegが新しいキーフレームをスタートポイントで構築できるように再エンコードする必要があります:
ffmpeg -ss 00:10:00 -to 00:15:00 -i input.mp4 \
-c:v libx264 -crf 18 -preset medium \
-c:a aac -b:a 192k out.mp4
これはミリ秒単位でフレーム正確です。正直なコスト:
- 遅い。 範囲内のすべてのフレームをデコードして再圧縮します。秒ではなく分かかります。
- 品質低下。 ロッシーなビデオをロッシーなビデオに再エンコードすることは、常に何らかの品質を失います。
-crf 18はほとんどの用途に対して視覚的にほぼ透明で問題ありませんが、-c copyのようにソースとビット単位で同一ではありません。
したがって、トレードオフは実際で対称です。コピーは高速でロスレスですが粗いです。再エンコードは正確ですが、遅くてわずかにロッシーです。カットポイントが正確である必要があるかどうかに基づいて選択してください。
ffmpegをストリームURLに直接ポイントする
最初にディスク上のファイルが必要であるとは限りません。ffmpegはURLを取得できます。.m3u8を含めて、-iとして直接、-ss/-tと組み合わせると、これは部分的なダウンロードになります:
ffmpeg -ss 00:47:00 -t 00:01:30 \
-i "https://example.com/video/master.m3u8" \
-c copy clip.mp4
-t 00:01:30は「90秒の期間」(絶対終了時間である-toとは対照的に)を意味します。ffmpegはプレイリストにシークできるため、ストリーム全体ではなく、範囲をカバーするセグメントをほぼ取得します。つまり、これはコマンドラインからのダウンロード前トリムの形です。機能する場合、優れています。
警告はここで痛くなります。それはCLIが常に十分ではない理由です:
- 認証。 ストリームがクッキーまたはログインセッションが必要な場合、ベアffmpegには何もありません。403が得られます。ヘッダーを渡すことができます(
-headers "Cookie: ...")が、DevToolsから自分で抽出する必要があり、有効期限が切れます。 - 署名付きURLの有効期限。 多くのCDNは、30~120秒有効な署名付きURLを配布します。URLをコピーしてコマンドを入力するまでに、既に無効である可能性があります。ffmpegはダウンロード途中でそれをリフレッシュできません。
- 個別のオーディオ/ビデオマニフェスト。 最新のHLSは、ビデオとオーディオを個別のプレイリストとして出荷することが多いため、単一の
-i master.m3u8は無音ビデオを提供する可能性があります。最終的に2つの-i入力と手動ペアリングが必要になります。これは独自のウサギの穴です。HLS オーディオ/ビデオ分割ダウンロードを修正するで、その特定の失敗を説明しました。
パブリック、認証されていないVODでマックスされたオーディオの場合、ffmpegに対するURL方法は本当に素晴らしいです。その理想から遠ざかるほど、より多くの摩擦が生じます。マニフェストレンチングのウォークスルー全体については、m3u8 / HLS ストリームをダウンロードする方法を参照してください。
方法2:オンラインビデオトリマー
URLを貼り付けるか、ファイルをアップロードし、2つのハンドルをドラッグして、エクスポートをクリックしてから、クリップをダウンロードします。オンライントリマーはゼロインストールで、一度きりの小さいファイルに対して本当に便利です。公正な聴聞を受けるに値しますが、コストについて明確に考えてください。
- あなたのビデオを他人のサーバーにアップロードします。 プライベート、内部、または機密のもの場合、それは全体のゲーム — ファイルはあなたのマシンを離れ、あなたが制御しない保持ウィンドウのサードパーティのインフラストラクチャ上に存在します。
- サイズと長さの制限。 無料階層は一般的にアップロードを数百MBまたは数分に制限します。これはトリミングが最も重要な長いソースケースを除外します。
- 再エンコード品質の低下。 ほとんどのオンライントリマーはエクスポート時に再エンコードし、ビットレートをほぼコントロールできないため、ffmpeg再エンコード(しばしばより悪い)と同様の品質ヒットを取ります。
-crfノブで調整できない場合。 - ストリームのための「ダウンロード前トリム」を解決しない。 URLを取得するオンライントリマーは、通常、とにかく最初にサーバー側でビデオ全体を取得する必要があるため、あなたの終わりで帯域幅の節約を得ません。削除するバイトをサーバーに移動しました。
- ログイン継承なし。 認証されたセッションを見ることができないため、ペイウォールまたはサインインの背後にあるものはテーブルの外です。
オンライントリマーが正しい選択肢:ファイルが既に小さい、機密でない、ffmpegがインストールされていない、それを一度だけ必要とする場合。このボックスの外では、最弱のオプションです。
方法3:ブラウザ内で事前にダウンロードするトリム
3番目のパスは両方のベストを手に入れようとします。フレームの選択された範囲だけを取得することの帯域幅効率、プラス実ブラウザセッション内で実行するソースアクセス。これはVideo Downloader One-for-All(v1.1.38、2026年6月)のChrome&Edge向けHLS/DASH ダウンローダー拡張機能のClip & Trim Download機能の背後にある設計です。
実際の動作方法:
- 拡張機能は、ページを見るときに、HLSまたはDASHオンデマンドストリームを検出します。
- シーク可能なプレビューを表示して、正確なインポイントとアウトポイントを設定します。フレームにスクラブしてハンドルをドロップします。
- ダウンロード時に、その範囲を基礎となるセグメントに解決し、選択された範囲内のセグメントだけをフェッチします。クリップの外のパーツはダウンロードされません。
- 拡張機能はページ内で実行されるため、ログインセッション(同じクッキー、同じヘッダー、同じオリジン)を継承します。ベアCLIを倒す認証された署名付きURLストリームが動作します。
「フェッチされた選択セグメントのみ」の部分は、これを本当にダウンロード後トリムではなく、本当のダウンロード前トリムにします。長いソースからの短いクリップでは、理想的なffmpeg -ss ... -i urlケースから得られるのと同じオーダー大きさの帯域幅とストレージ節約です。URLを探すことなく、署名の有効期限切れのレースなく、分割オーディオ/ビデオマニフェストを手動でペアリングせずに。
正直な制限。それらは重要です:
- カットはセグメント境界です(ffmpegの
-c copyのように)。保存されたクリップは、正確なフレームではなく、セグメント端(通常±数秒)から始まり終わります。フレーム完璧なカットが必要な場合、結果を後で再エンコードします(ffmpeg、1つのコマンド)。トレードオフは、高速パスを高速にするキーフレーム/セグメント制限と同じです。 - オンデマンド HLSおよびDASHを対象とします。ライブ録画は別の機能です。そのため、ライブストリーム レコーダーが関連するページです。
- それはダウンロード効率ツール。魔法のバイパスではありません。DRM保護ビデオは設計上到達不可能です。
Clip & Trim Downloadは、FreeおよびPaid計画の両方で利用可能です(違いについてはpricingを参照)。より広いストリーム処理はHLS downloaderページにあります。セクションだけをつかむというタスク重視のウォークスルーについては、ビデオの一部をダウンロードする方法も提供しています。
並行比較
ここは全体の決定が1つのテーブルです。「帯域幅を節約する」は、あなたが削除する部分をダウンロードしないことを意味します。
| 方法 | 帯域幅を節約しますか? | フレーム正確ですか? | 元の品質を保持していますか? | CLIが必要ですか? | ログインの背後で機能しますか? |
|---|---|---|---|---|---|
ffmpeg -c copy(ローカルファイル) | いいえ - 既にファイル全体があります | いいえ(キーフレーム境界) | はい(ロスレスコピー) | はい | N/A(ファイルは既にローカル) |
| ffmpeg再エンコード(ローカルファイル) | いいえ | はい | いいえ(再圧縮) | はい | N/A |
ffmpegストリームURL に対する-ss/-t | はい(範囲をほぼフェッチ) | いいえ(キーフレーム境界) | はい(-c copyの場合) | はい | 有効なクッキー/ヘッダーを手動で提供する場合のみ |
| オンライントリマー | いいえ(サーバーが全部フェッチ) | 通常いいえ | いいえ(再エンコード) | いいえ | いいえ |
| ブラウザ内のダウンロード前トリム(OFA) | はい(選択されたセグメントのみフェッチ) | いいえ(セグメント境界) | はい(再エンコードなし) | いいえ | はい(セッションを継承) |
そのテーブルから読むべきいくつかのことがあります:
- ここで何も一度にフレーム正確と帯域幅節約とロスレスです。 フレーム精度は再エンコード(品質コスト)またはファイル全体(帯域幅コスト)が必要です。これはツーリングギャップではありません。それは圧縮ビデオのキーフレーム構造です。気になっている2つを選択してください。
- ストリーム上であなたの帯域幅を節約する唯一のオプションは、サブ範囲をフェッチする2つです: URLに対するffmpeg、およびブラウザ内拡張機能。他のすべてが完全なペイロードを移動します。
- CLIオプションは品質で何も放棄しません(
-c copyを使う場合)しかし、認証、URL、マニフェストペアリングを自分で処理するよう求めます。
では、どちらを使うべきですか?
- ディスク上にファイルがあり、高速でロスレスなクリップが必要な場合。 ffmpeg
-ss-iの前、-c copy。数秒で完了。 - フレーム正確なカットが必要な場合。 ffmpeg再エンコード(
-crf 18)。わずかな品質低下と追加時間を受け入れます。 - ソースはパブリック、認証されていない、マックスされたVODストリームであり、ターミナルで快適な場合。
ffmpeg -ss ... -t ... -i "url" -c copy— これはダウンロード前にトリムし、タイピングのみを費用とします。 - 小さくて、機密性の低いファイルで、インストールなしで一度だけ必要な場合。 オンライントリマーはいいです。
- 長いストリームからクリップだけが欲しい、ソースはログインが必要、署名付きURLの有効期限を渡すか、オーディオとビデオが分割されています。ffmpegを監視したくない場合。 それはブラウザ内Video Downloader One-for-Allダウンロード前トリムが構築されたケースです。選択された範囲のみがフェッチされ、セッション内で実行されるため、認証が無料になります。
いつものように、保存する権利があるコンテンツのみをダウンロードします — あなた自身のアップロード、適切にライセンスされた資料、または条件が許可するコンテンツ。
ボトムライン
「ダウンロード前トリム」と「ダウンロード後トリム」はむしろ競争相手というより、異なる質問への答えです。ファイルが既にローカルの場合、あなたは本当にffmpegをしているだけであり、唯一の実際の決定はコピー(高速、ロスレス、粗い)対再エンコード(正確、遅い、わずかにロッシー)です。プラス、-ssを-iの正しい側に取得します。ソースが長いストリームで、スライスだけが欲しい場合、削除するバイトに支払いさせないダウンロード前のトリムは唯一のアプローチです。ブラウザ内でそれを行うことで、その効率はログインゲート、署名付きURL、分割マニフェストストリームと共存することができます。ベアCLIを横転させます。
方法をあなたが最適化していることと一致させ、1つの正しい答えがあることを誰かに言わせないでください。