HandBrakeまたはFFmpegを使用してLinux上でビデオファイルをトランスコードする方法

Linux上で動画ファイルをトランスコードするには、シンプルなグラフィカルワークフローがお好みならHandBrake、より精密なコマンドライン制御が必要な場合はFFmpegを使用できます。HandBrakeは単発の変換に適していますが、FFmpegは繰り返しコマンドの実行、自動化、高度なコーデック選択に適しています。

重要な違いの一つは、トランスコーディングはビデオまたはオーディオストリームをデコードしてから再度エンコードする処理であり、時間がかかり、画質が低下する可能性があるということです。MKVからMP4など、コンテナ形式を変更するだけで、既存のコーデックに互換性がある場合は、リマックス機能を使えば再エンコードせずにストリームをコピーできます。FFmpegの公式ドキュメントでは、トランスコーディングが不要な場合はストリームコピーを推奨しています。

方法1:HandBrakeでビデオをトランスコードする

GUIを好むなら、HandBrakeの方が簡単な選択肢です。Linuxの場合、HandBrakeプロジェクトは、Flathubから入手できるFlatpak版を最も便利なインストール方法として推奨しています。公式のHandBrake Linuxインストールガイドを参照してください。FlatpakとFlathubが既に有効になっている場合は、以下のコマンドでインストールしてください。

flatpak install fr.handbrake.ghb

1. ソース動画を開く

HandBrakeを起動し、「オープンソース」を選択してから、変換したい動画を選択します。HandBrakeは多くのファイル形式でドラッグ&ドロップにも対応しています。ソースをスキャンすると、タイトル、解像度、フレームレート、オーディオトラックなどの詳細情報が表示されます。

Linux上のHandBrakeで、Videosフォルダからsample-video.mp4を開く
HandBrakeでエンコードしたいソースファイルを選択してください。

2. プリセットを選択します

使用するデバイスまたは再生ソフトウェアに合ったプリセットを選択してください。HandBrakeの最新ドキュメントによると、「Fast 1080p30」は幅広い互換性を確保するための一般的な出発点として適しています。プリセットでは、最大解像度、フレームレート、ビデオコーデック、オーディオ設定、コンテナ形式を変更できます。

HandBrakeのプリセットメニューに、MP4ソースのプレビューとともに「Fast 1080p30」と表示されている。
プリセットは、互換性のある出力設定のための実用的な出発点となります。

3. 出力名と場所を設定します

必要な設定を確認してから、保存先のファイル名とフォルダを設定してください。HandBrakeが自動的にビデオフォルダにファイルを保存すると思い込まないでください。出力は指定した保存先に書き込まれます。HandBrakeのクイックスタートガイドでは、作業を開始する前にこの点を確認することを特に推奨しています。

MP4出力ファイル名とビデオフォルダを選択したHandBrakeの出力先フィールド
分かりやすい出力ファイル名を選択し、保存先フォルダを確認してください。

4. エンコードを開始します

「エンコード開始」をクリックしてください。HandBrakeは処理の進行状況を表示し、処理が完了すると通知します。エンコード速度は、ソース、解像度、選択したエンコーダー、品質設定、フィルター、およびハードウェアによって異なるため、完了時間は一定ではありません。

HandBrakeのエンコード進行状況バーに、MP4変換の進行状況が表示されています。
HandBrakeは、トランスコード中に進行状況と推定所要時間を表示します。

方法2:FFmpegで動画をトランスコードする

FFmpegは、再現性のあるコマンドが必要な場合や、多数のファイルを処理する必要がある場合に最適です。お使いのLinuxディストリビューションからパッケージをインストールするか、公式FFmpegダウンロードページffmpegのパッケージリンクからインストールしてください。パッケージのバージョンや有効なエンコーダーは、ディストリビューションによって異なる場合があります。

1. FFmpegが利用可能であることを確認します。

ターミナルを開いて、以下を実行してください。

ffmpeg -version
UbuntuターミナルにFFmpegのバージョンとビルド情報を表示
インストールされているFFmpegのビルドによって、利用可能なコーデックとハードウェアエンコーダーが決まります。

2. 入力ファイルを検査する

動画が保存されているフォルダに移動し、変換する前にストリームを確認してください。

cd ~/Videos
ffmpeg -i sample-video.mkv
Linuxターミナルに、H.264ビデオとAACオーディオを含むMKVビデオのFFmpeg入力の詳細を表示している。
入力情報を確認すると、現在のコーデック、解像度、フレームレート、および音声フォーマットが明らかになります。

3. H.264ビデオとAACオーディオをMP4形式にトランスコードする

予測可能で幅広い互換性を持つMP4ファイルを作成するには、出力拡張子だけに頼るのではなく、コーデックを指定してください。

ffmpeg -i sample-video.mkv -c:v libx264 -crf 22 -preset medium -c:a aac -b:a 160k sample-video-transcoded.mp4

ここでは、libx264H.264ビデオをエンコードし、crf 22品質を制御し、medium速度と圧縮のバランスを取り、音声にはAACを使用します。CRF値が低いほど、一般的にH.264の品質が高くなり、ファイルサイズも大きくなります。FFmpegビルドに要求されたエンコーダーが含まれていない場合は、ビルドがサポートするエンコーダーを選択してください。

LinuxターミナルでFFmpegのH.264およびAACトランスコードコマンドを実行し、進行状況を出力している。
FFmpegはエンコード中に、フレーム、時間、ビットレート、その他の進行状況情報を表示します。

4. 新しいコンテナだけが必要な場合は、ストリームコピーを使用します。

ソースにターゲットコンテナでサポートされているコーデックが既に含まれている場合は、完全なトランスコードを回避し、代わりにリミックスを実行します。

ffmpeg -i sample-video.mkv -c copy sample-video-remuxed.mp4

-c copy互換性のあるストリームをデコードや再エンコードせずにコピーします。これは通常、はるかに高速で、世代的な品質劣化を回避できますが、ソースコーデックが選択したコンテナに有効でない場合は、失敗したり、不適切なファイルが生成されたりします。

LinuxターミナルでFFmpegストリームコピーを使用してMKVファイルをMP4にリミックスする
ストリームコピーは、互換性のあるオーディオおよびビデオストリームを再エンコードすることなく、コンテナを変更します。

どちらのオプションを選択すべきでしょうか?

  • ガイド付きのGUI、デバイスプリセット、簡単な品質管理機能が必要な場合は、HandBrakeを使用してください。
  • 明示的なコーデック、バッチ処理、スクリプト、フィルター、または繰り返し実行可能なコマンドが必要な場合は、FFmpegを使用してください。
  • コーデックが既に適切で、異なるコンテナが必要なだけの場合は、リミックスを使用してください。

ほとんどのデスクトップ再生においては、H.264ビデオとAACオーディオを使用したMP4ファイルが、依然として実用的な互換性の選択肢となります。ただし、ターゲットデバイスまたはサービスに独自のアップロード仕様がある場合は、拡張子のみで変換するのではなく、まずその仕様に従ってください。

コメントを残す

失われたパーティションとハードディスクデータを安全に復元する方法

失われたパーティションとハードディスクデータを安全に復元する方法

TestDiskとPhotoRecを使って、失われたパーティションやファイルを復元する方法を学びましょう。ソースドライブを保護し、安全にスキャンを行い、復元したデータを別のディスクに保存します。

LinuxデスクトップでQRコードをスキャンする方法

LinuxデスクトップでQRコードをスキャンする方法

CoBangを使えば、Webカメラまたは画像ファイルでLinux上でQRコードをスキャンできます。インストールオプション、セットアップ手順、Flatpakカメラへのアクセスに関する修正方法については、こちらをご覧ください。

Cameractrlsを使ってLinuxでウェブカメラの設定を変更する方法

Cameractrlsを使ってLinuxでウェブカメラの設定を変更する方法

Cameractrlsを使用してLinux上でウェブカメラの設定を変更しましょう。露出、色、フリッカー低減などのサポートされているコントロールを調整し、互換性のあるビデオモードを確認できます。

LinuxにPhpStormをインストールする方法:ツールボックス、Tar.gz、Snap、およびAUR

LinuxにPhpStormをインストールする方法:ツールボックス、Tar.gz、Snap、およびAUR

LinuxにPhpStormをインストールするには、JetBrains Toolboxを使用するか、スタンドアロンのtar.gzアーカイブを使用するか、SnapおよびArch AURオプションを選択してください。Javaは既にバンドルされています。

LinuxにCisco Packet Tracerをインストールする方法

LinuxにCisco Packet Tracerをインストールする方法

Cisco Packet Tracer 9.0.1 を Ubuntu 64 ビット版にダウンロードし、APT を使用して DEB パッケージをインストールし、ターミナルでライセンスに同意してサインインすると、ラボを開始できます。

LinuxでCD-ROMをISOイメージとしてバックアップする方法

LinuxでCD-ROMをISOイメージとしてバックアップする方法

Linux上でGNOME Disksまたはddコマンドを使用してCD-ROM ISOイメージを作成します。光学ドライブを識別し、コピーを監視し、イメージを検証し、破損したディスクやオーディオディスクに別のツールが必要な場合を把握できます。

XFCE 4でデュアルパネルを設定する方法

XFCE 4でデュアルパネルを設定する方法

各ディスプレイごとに個別のXFCE 4パネルを作成し、2番目のパネルを右側の出力に割り当て、位置とサイズを調整し、必要なランチャーとステータス項目を追加します。

LinuxでGIMPを使って画像を切り抜く方法

LinuxでGIMPを使って画像を切り抜く方法

LinuxでGIMPを使って写真の背景を削除する方法:被写体をトレースし、選択した背景を削除し、透明度を保持して、再利用可能なPNG形式でエクスポートします。

FlightGearを無料でダウンロード:公式インストールガイド

FlightGearを無料でダウンロード:公式インストールガイド

FlightGearは公式サイトから無料でダウンロードできます。Windows、macOS、Linuxの各パッケージを比較し、データファイルをインストールして、最初のフライトを開始しましょう。

OKSampler:キーボードビートのための無料かつシンプルな音楽サンプラー

OKSampler:キーボードビートのための無料かつシンプルな音楽サンプラー

OKSamplerはMP3クリップをキーボードのキーにマッピングし、音声をループ再生できます。この旧型フリーウェアの機能、旧機能が失われた箇所、ダウンロード前に確認すべき点について解説します。