ffmpegは、誇張なく、これまでに書かれたオープンソースソフトウェアの中でも最も高機能なものの1つです。存在するほぼすべての動画、音声、コンテナフォーマット間を変換でき、正しいフラグの組み合わせさえ知っていれば、できないことはほとんどありません。問題はまさにそこにあります——毎回、あらゆる種類の作業ごとに正しいフラグの組み合わせを知っている必要があり、コマンドの1つのタイプミスがエラーを、あるいはもっと悪いことに、静かに間違った出力を生み出します。
なぜ人々は代替を探すのか
ffmpegをインストールするにはHomebrewが必要で、それはさらにXcode Command Line Toolsが必要になる場合もあり、単に1本の動画ファイルを変換したいだけの人にとってはあまりに大がかりなセットアップです。インストールが済んだとしても、ターミナルベースのワークフローには視覚的なキューもドラッグ&ドロップもなく、進行状況もスクロールするログ以上のものは分かりません——スクリプト作成には向いていますが、他の作業の合間にちょっとした変換をする場合には向いていません。
よくある90%のためのGUI
GUIアプリがffmpegのフラグの全表面——フィルターグラフ、マイナーなコーデック、スクリプトによるパイプライン——を置き換えると主張しているわけではありません。それらは今でもコマンドラインの領分です。しかし、ffmpegに手を伸ばすほとんどの人は、実際にはいくつかの一般的な作業のどれかをしているだけです——この動画をMP4に変換する、これらの画像をJPGに変換する、この音声をMP3として書き出す。それはまさにMediasmithがターミナルの代わりにネイティブなドラッグ&ドロップのインターフェースでカバーしている領域です。
3つのコマンドパターンの代わりに3つのキュー
動画、音声、画像変換のために異なるフラグセットを暗記する代わりに、メディア種別ごとに1つずつ、3つの専用キューがあり、それぞれ関連するオプションが構文ではなくコントロールとして提示されます。
設定不要のハードウェアアクセラレーション
ffmpegにApple Siliconでハードウェアエンコーディングを使わせるには、正しいエンコーダーフラグ(たとえば-c:v h264_videotoolbox)を指定する必要があります。ネイティブアプリはこれを自動的に処理し、その存在を意識する必要もなくデフォルトでハードウェアアクセラレーションを使用します。
それでもターミナルに戻るべきとき
カスタムロジックを伴う数千ファイルにわたるバッチスクリプト、変わったフィルターチェーン、GUIが公開していないコーデックオプション——それらは今でもffmpegの領分であり、そうした場面のためにインストールしておくべきです。GUIツールとffmpegはライバルではなく、同じ仕事の異なる部分をカバーしているのです。