トランスコードとエンコードの違い — 用語の使い分け

トランスコードとエンコード

両者はしばしば同義に使われます。厳密には:

  • エンコードは、生の動画データをコーデック形式(例: H.264)に圧縮する行為。
  • トランスコードは、既にエンコードされた動画をデコードし、別のコーデック・コンテナ・ビットレート・解像度で再エンコードする行為。

クラウド動画プラットフォームの「エンコード」の大半は、技術的にはトランスコードです。アップロードしたMP4(カメラやNLEで既にエンコード済み)がデコードされ、複数のHLSバリアントへ再エンコードされます。

なぜプラットフォームはアップロードをトランスコードするのか

ソースファイルは多種多様です: 4K H.264、1080p HEVC、8K ProRes、AV1、VP9、古いカメラの奇妙なコーデック。プラットフォームには次が必要です。

これらすべてを生成するために、プラットフォームはソースをデコード(FFmpeg、GStreamer、ハードウェアデコーダ)し、再エンコードします — つまりトランスコードします。

ハードウェアとソフトウェアのトランスコード

  • ソフトウェアトランスコード(FFmpeg + libx264)— 柔軟、全プラットフォーム対応、CPUでは低速。1080p H.264はモダンCPUで概ね1×実時間。
  • ハードウェアトランスコード(NVIDIA NVENC、Intel QuickSync、AMD VCN)— 高速、機能セットは固定、GPU必須。AVCaptionはNVENCで概ね10〜20×実時間を実現。

ハードウェアは劇的に高速ですが、同品質では圧縮効率がわずかに劣ります。複数バリアントを素早く出す必要のある動画ホスティングでは、ハードウェアが適切なトレードオフです。

「単にエンコード」と言える場合

生の非圧縮動画(フレームグラバーやレンダーパイプライン由来)を扱う場合は、エンコードという用語が正確です。AVCaptionのパイプラインは大抵すでに圧縮されたソースを扱うため、厳密にはトランスコードに該当します。

関連項目

← content.back_to_index