1. ホーム
  2. ウブントゥ

[解決済み】ffmpeg、libav、avconvの違いや類似点を教えてください。

2022-04-17 15:04:32

質問

を実行すると ffmpeg をUbuntuで表示します。

$ ffmpeg 
ffmpeg version v0.8, Copyright (c) 2000-2011 the Libav developers
  built on Feb 28 2012 13:27:36 with gcc 4.6.1
This program is not developed anymore and is only provided for compatibility. Use avconv instead (see Changelog for the list of incompatible changes).

または表示されます(Ubuntuのバージョンによって異なります)。

$ ffmpeg
ffmpeg version 0.8.5-6:0.8.5-0ubuntu0.12.10.1, Copyright (c) 2000-2012 the Libav developers
  built on Jan 24 2013 14:49:20 with gcc 4.7.2
*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.

でavconvを見つけました。 http://libav.org . ただただ戸惑うばかりです。

解決方法は?

Libavは死んだ

最後のコミット は2019-08-21の記事です。FFmpegを使用してください。

紛らわしいメッセージ

質問にあるメッセージは、かなり誤解を招くもので、当然ながら混乱の元となるものです。

フォークが発生したのは、基本的にFFmpegコミュニティ内の個性や開発スタイルが対立したことによるもので、決して円満とは言えません。

本当の ffmpeg vs 偽物

しばらくの間、Libav と FFmpeg はそれぞれ独自に ffmpeg .

Libavはその後、彼らのbizarroの名前を変更しました。 ffmpeg から avconv FFmpeg プロジェクトから距離を置くために。移行期間中は、quot;not developed anymore" のメッセージが表示され、ユーザーに avconv の偽物の代わりに ffmpeg . このため、ユーザーはFFmpeg(プロジェクト)が死んだと勘違いしてしまいましたが、これは事実ではありません。言葉の選び方は悪いですが、Libavが一般ユーザーのこのような反応を想定していなかったとは思えません。

このメッセージは、偽の " が上流で削除されたときに表示されました。 ffmpeg "は、最終的にLibavのソースから削除されました。

2012年6月に メッセージは次のように修正されました。 は、Ubuntuのパッケージで libav - 4:0.8.3-0ubuntu0.12.04.1 . 残念ながら、新しい "deprecated" のメッセージは、ユーザーをさらに混乱させる原因となりました。

Ubuntu 15.04 "Vivid Vervet" からは、FFmpegの ffmpeg レポジトリに戻る .

libavとLibavの比較

さらに複雑なことに、Libavは、FFmpegが歴史的にそのライブラリ(libavcodec、libavformatなど)を参照するために使っていた名前を選びました。たとえば libav-ユーザーメーリングリスト FFmpegライブラリの使用に関する質問や議論を行うためのもので、Libavプロジェクトとは無関係です。

違いの見分け方

を使用している場合 avconv ということは、Libav を使っていることになります。もし ffmpeg は、FFmpegまたはLibavを使用している可能性があります。コンソール出力の最初の行を見れば、その違いがわかります:著作権表示はFFmpegかLibavのどちらかに言及しています。

2つ目は、バージョン番号の付け方が異なることです。FFmpegやLibavの各ライブラリには、バージョン番号を示すための version.h ヘッダーにはバージョン番号が表示されます。FFmpegは57.67のような3桁の数字で終わります。 100 Libavは57.67のような1桁の数字で終わります。 0 . また、ライブラリのバージョン番号を表示するには ffmpeg または avconv を実行し、コンソール出力を見ることができます。

以下もご参照ください。

この状況についての興味深いブログ記事と、プロジェクト間の主な技術的差異についての議論は、以下を参照してください。 FFmpeg/Libavの状況 .