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


22

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

XcodeのCLIと同様にXcodeをインストールしています(gccなど)。

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

私がやりたいことは、ビデオファイルをHTML5互換ビデオにバッチ変換することです。すべてのソースビデオは、.mov .mp4および.wmvファイルで構成されています。ちなみに、.ogvは正常に動作します。

本当の質問:

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

また、プリコンパイルされたバージョンのMiroビデオコンバーターも試しましたが、どういうわけか機能しません。

回答:


37

複雑さでソートされた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 644 /usr/local/bin/ffmpeg

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

open -e ~/.bash_profile

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

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

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


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

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


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

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.