ホーム > その他外部パッケージ > ffmpeg

ffmpeg: 強力なメディア変換・処理ツール

ffmpegは、オーディオおよびビデオファイルを変換、ストリーミング、録画、編集するために使用される非常に強力で多用途なオープンソースのコマンドラインツールです。ほぼすべてのメディア形式とコーデックをサポートし、複雑なフィルタリングおよび操作機能を提供します。

概要

ffmpegは、メディアファイルのエンコーディング、デコーディング、トランスコーディング、マルチプレキシング、デマルチプレキシング、ストリーミング、フィルタリングなど、幅広いタスクを実行できます。さまざまなプラットフォームで利用可能であり、開発者および上級ユーザーにとって不可欠なツールです。

主な機能

  • 多様なオーディオ/ビデオ形式間の変換
  • ビデオのリサイズ、トリミング、回転などのフィルタリング
  • オーディオの抽出と変換
  • ストリーミングメディアの処理
  • 画面録画およびウェブカメラキャプチャ

主なオプション

ffmpegは数多くのオプションを提供しますが、以下は最も一般的に使用されるオプションです。

入力/出力制御

ビデオオプション

オーディオオプション

時間制御

生成されたコマンド:

コマンドを組み合わせてみてください。

説明:

`ffmpeg` コマンドを実行します。

これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。

使用例

ffmpegのさまざまな活用法を示す例です。

MP4ファイルをAVIに変換

ffmpeg -i input.mp4 output.avi

最も基本的なファイル形式変換の例です。

ビデオ解像度を変更 (1280x720)

ffmpeg -i input.mp4 -vf scale=1280:720 output_hd.mp4

ビデオの解像度を1280x720に変更します。

ビデオからオーディオを抽出 (MP3)

ffmpeg -i input.mp4 -vn -acodec libmp3lame output.mp3

ビデオファイルからオーディオストリームのみを抽出し、MP3ファイルとして保存します。

ビデオの特定区間を切り出す

ffmpeg -ss 00:00:10 -i input.mp4 -t 00:00:30 -c copy output_clip.mp4

ビデオの10秒地点から30秒間の長さを切り出します。

ビデオをGIFアニメーションに変換

ffmpeg -i input.mp4 -vf "fps=10,scale=320:-1:flags=lanczos" -c:v gif output.gif

ビデオを低容量のGIFアニメーションに変換します。フレームレートとスケールを調整して最適化します。

インストール

ffmpegはほとんどのLinuxディストリビューションにデフォルトで含まれていないため、パッケージマネージャーを使用してインストールする必要があります。

Debian/Ubuntu

sudo apt update
sudo apt install ffmpeg

APTパッケージマネージャーを使用してインストールします。

Fedora/CentOS (dnf)

sudo dnf install ffmpeg

DNFパッケージマネージャーを使用してインストールします。(EPELリポジトリが必要な場合があります)

Arch Linux

sudo pacman -S ffmpeg

Pacmanパッケージマネージャーを使用してインストールします。

ヒントと注意点

ffmpegをより効率的に使用するためのヒントと注意点です。

パフォーマンス最適化

  • `-ss`オプションを`-i`の前に置くと、入力ファイルのシーク時間を短縮してより速く開始できますが、精度は低下する可能性があります。
  • `-c copy`(ストリームコピー)を使用すると、エンコーディング/デコーディングプロセスなしでストリームを直接コピーするため、非常に高速に処理できます。ただし、出力コンテナが入力ストリームをサポートしている必要があります。

コーデックの理解

  • ビデオコーデック(例: `libx264`, `libvpx-vp9`)とオーディオコーデック(例: `aac`, `libmp3lame`)を理解することが重要です。適切なコーデックの選択は、ファイルサイズと品質に大きな影響を与えます。
  • 一部のコーデックはデフォルトのインストールに含まれていない場合があり、追加のライブラリのインストールが必要になることがあります。

フィルターグラフの活用

  • `-vf`(ビデオフィルター)および`-af`(オーディオフィルター)オプションを使用して、複雑なメディア操作を実行できます。複数のフィルターをカンマ(`,`)で連結したり、セミコロン(`;`)でフィルターチェーンを構成したりできます。

同じカテゴリのコマンド