web-dev-qa-db-ja.com

OS XにFFmpegをインストールする

OS XのFFmpegに使用できる適切な場所またはbashスクリプト(または少なくとも自分でビルドできるバージョン)はありますか?

XcodeとXcodeのCLI(gccなど)をインストールしました。

現在FFmpegのバージョンがインストールされていますが、どういうわけかlibx264とlibvpxでセグメンテーションエラーが発生します(MP4とWebMに変換できません)。

動画ファイルをHTML5互換の動画にバッチ変換するだけです。すべてのソースビデオは.mov .mp4および.wmvファイルで構成されています。ちなみに.ogvは問題なく動作します。

だから本当の質問:

  1. Mac上のFFmpegをすべてアンインストールする方法
  2. .mp4、.webm、および.ogvに変換できるFFmpegバージョンを再インストールします

コンパイル済みバージョンのMiroビデオコンバーターも試してみましたが、何とかして機能しません。

22
Shuyinsama

複雑さでソートされた3つのオプションがあります。

  • Homebrew(または他のパッケージマネージャー)
  • 静的ビルド
  • 自分をコンパイル

これを実行するには、macOSでターミナル/シェルを使用するための多少の知識が必要です。


1.自作

Homebrew には、安定したFFmpegリリースの公式があります。これにより、かなり高速に実行できます。まず、Homebrewをインストールします。

次に、ffmpeg式を使用してFFmpegをインストールします。

brew install ffmpeg

これにより、x264などの多くの依存関係がダウンロードされますが、その後は問題ありません。

後でffmpegを更新するには、次を実行:

brew update && brew upgrade ffmpeg

2.静的ビルド

ダウンロードページ のFFmpegプロジェクトは、ffmpegの静的ビルドへのリンクを提供します。これは、ダウンロードして抽出し、ターミナルで使用するだけです。

静的ビルドには、すべての可能なエンコーダーを含めることができません。主にライセンスの問題が原因です。このため、必要な特定の機能について本当に気にしない限り、これらの使用をお勧めしません。

ダウンロードしたら、ファイルを抽出し、Terminal.appを開いて、ファイルを解凍したディレクトリに移動します。つまり、ffmpegというファイルが見つかります。このファイルを/usr/local/binにコピーします。

cd ~/Downloads/
Sudo mkdir -p /usr/local/bin/
Sudo cp ./ffmpeg /usr/local/bin
Sudo chmod ugo+x /usr/local/bin/ffmpeg

ここで、Bash(デフォルトのシェル)を使用する場合は、それを$ PATHに追加します。

open -e ~/.bash_profile

これをファイルの最後に追加します。

export PATH="/usr/local/bin:$PATH"

保存して、エディターを閉じます。ターミナルを再起動すると、which ffmpeg/usr/local/bin/ffmpegを返します。


3.自分でコンパイルする

もちろん、自分でFFmpegツールをビルドすることもできます OS Xコンパイルガイド 。このガイドは常に最新であり、手動でコンパイルすることにより、いくつかのパラメーターを微調整できる場合があります。


インストールしたFFmpegのバージョンをアンインストールするには、最初にどのようにインストールしたかを知る必要があります。 Homebrewは/usr/local/Cellarにインストールされ、/usr/local/bin/ffmpegにシンボリックリンクするため、他のライブラリで問題が発生することはおそらくありません。ただし、(おそらく)自分でビルドしたバージョンのmake installスクリプトを確認して、FFmpegを配置した場所を確認してください。次に、それらをそこから削除します。Homebrewに干渉しません。

セグメンテーション違反は、x264またはlibvpxライブラリ間の不適切なリンクが原因である可能性があります。 Homebrewがこれを処理するので、問題が発生することはありません。

38
slhck