画質を落とさずに動画をカットする方法:再エンコードが問題である理由
「1回分割して書き出しただけなのに画質が落ちた」。動画編集アプリのレビューで最も多い不満のひとつです。前後を数秒切っただけで結果がぼやける原因はカットそのものではなく、保存時に動画全体を解凍して圧縮し直す(再エンコードする)ことにあります。この記事では、なぜそうなるのか、どう避けるのか、保存後にどう確認するのかを説明します。
再エンコードが画質を下げる理由
スマホで撮った動画はすでにH.264やHEVCで圧縮されています。多くの編集アプリは保存時に全フレームをデコードし、独自の設定で再び圧縮します。これは非可逆圧縮なので、通すたびにディテールが少しずつ失われ、アプリがビットレートを低く設定すると目に見えて潰れます。
さらに悪化させる要因が2つあります。1つ目は無料プランで出力を720pや360pに制限するアプリ。2つ目は書き出しを速くするためにビットレートを元の半分以下にするアプリ。「高画質でレンダリングしたのに360p」というレビューが生まれる理由です。
無劣化カット(ストリームコピー)とは
カットや結合だけなら、圧縮し直す必要はありません。圧縮済みのストリームから残す区間だけを新しいファイルコンテナにそのままコピーすればよいのです。これをストリームコピー、または無劣化カットと呼びます。結果は元の動画とピクセル単位で同一で、エンコードがないので10分の動画でも数秒で終わります。
制約は1つ。圧縮動画はキーフレーム単位で構成されているため、任意のフレームで正確に切るには最寄りのキーフレームに合わせるか、切断点付近だけ再エンコードする必要があります。スマホの動画は1〜2秒ごとにキーフレームがあるので、実用上問題になることはほとんどありません。
無劣化で保存できる条件
トリム、分割、クリップの並べ替え、同じ解像度・コーデックの動画同士の結合まではストリームコピーで処理できます。一方、字幕の焼き込み、比率の変更、音楽の追加、ピクセル単位の回転はフレームを描き直す必要があるため、再エンコードが避けられません。その場合は1080p以上、元に近いビットレートで書き出すアプリを選びましょう。
SnipCut はこの判断を自動で行います。プロジェクトがカット・結合・並べ替えだけなら再エンコードなしで保存し、字幕や音楽、比率変更がある場合のみ1080pでエンコードします。ユーザーが設定を選ぶ必要はありません。
保存後に画質を確認する方法
感覚ではなく数字で確認しましょう。ギャラリーで保存した動画の詳細を開くと解像度と容量が表示されます。元が1920×1080で結果が1280×720なら、アプリが解像度を下げています。解像度が同じでも容量が元の半分以下なら、ビットレートが削られています。無劣化カットなら、容量は切り取った長さの分だけしか減りません。
- SnipCut で動画を開き、フレームストリップのハンドルをドラッグして前後をカット
- 保存をタップ。カットだけのプロジェクトは再エンコードなしで数秒で Movies/SnipCut に保存されます
- ギャラリーの詳細で、解像度が元と同じか、容量が切った割合分だけ減っているかを確認
元の画質のままカット
SnipCut を入手