dmgからffmpegをインストールしてからターミナルから実行する場合、もっと良い方法はありますか?


11

ここから:https : //ffmpeg.org/download.html#build-mac静的ビルド64ビットを選択しましたが、これもhttps://evermeet.cx/ffmpeg/

次にこれをダウンロードしました:

ここに画像の説明を入力してください

これを使ってそれを開きました:

ここに画像の説明を入力してください

これは私にこれを与えました:

Last login: Wed Jun  6 09:41:56 on ttys000
david-selfs-Air:~ david$ /Volumes/FFmpeg\ 91200-g1616b1be5a/ffmpeg ; exit;
ffmpeg version N-91200-g1616b1be5a-tessus Copyright (c) 2000-2018 the FFmpeg developers
  built with Apple LLVM version 9.1.0 (clang-902.0.39.1)
  configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libaom --enable-libass --enable-libbluray --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-flags=--static --disable-ffplay
  libavutil      56. 18.102 / 56. 18.102
  libavcodec     58. 19.104 / 58. 19.104
  libavformat    58. 17.100 / 58. 17.100
  libavdevice    58.  4.100 / 58.  4.100
  libavfilter     7. 24.100 /  7. 24.100
  libswscale      5.  2.100 /  5.  2.100
  libswresample   3.  2.100 /  3.  2.100
  libpostproc    55.  2.100 / 55.  2.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...

Use -h to get full help or, even better, run 'man ffmpeg'
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
Deleting expired sessions...7 completed.

[Process completed]

しかし、ターミナルを開いて試しffmpegたり、man ffmpegまたはffmpeg -i filename.mp4 -vn filename.wavここから)試したりすると、

-bash:ffmpeg:コマンドが見つかりません

私は近くにいる必要があります。パスを定義する必要がある場所はありffmpegますか?私はそれを行う方法、またはどのパスを使用するかわかりません。

もっと良い方法はありますか?

回答:


20

問題は、のディレクトリリストでbash探してffmpegいること$PATHです。これらのディレクトリの一部はSIPで保護されているため、ファイルをこれらのディレクトリに配置するには、SIP無効にする必要があります。または、Homebrewを使用してインストールすることもできます。

最初に、次のコマンドでHomeBrewをインストールします。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

次にffmpeg、次のコマンドでインストールします。

brew install ffmpeg

Homebrewは、ffmpegをSIP保護されていないパスにインストールしますが$PATH、より具体的には/usr/local/binディレクトリの下にインストールし ます。

これは手動コマンドで手動で行うことができます(基本的に手動で自作を実行します。このアプローチについては、@ davidsの回答を確認してください。しかし、私はいくつかの理由で自作を提案します。これは非常に使いやすく、大量のツールをすばやくインストールできます。 Homebrewは依存関係のインストールも簡単にします。

編集:私は以前にこの回答の一部を持っていましたが、それを変更したので不正確な情報が含まれていました。現在は正確だと思います。コマンドの配置に関してどのような制限があるのか​​、およびすべてのコマンドに対して単一のパスだけではない理由を理解することが重要だと思うので、SIPについての部分を含めました。


26

プログラムをディスクイメージからローカルフォルダにコピーすることになっています。これらの通常の場所は/ usr / local / binです

そう:

sudo mkdir -p /usr/local/bin
sudo cp /Volumes/FFmpeg\ 91200-g1616b1be5a/ffmpeg /usr/local/bin/
sudo chmod +x /usr/local/bin/ffmpeg

すべてがうまくいくはずです。SIPを無効にする必要はありません。

プリコンパイルされたバイナリをインストールするために、自作やその他のパッケージハンドラーは必要ありません。ただし、基本的なUNIXについて読む必要があります。


2

WindowsまたはLinuxの場合のように、macOSのターミナルシェルは$PATH環境変数を調べてバイナリを探します。

あなたはあなたの$PATH変数をチェックすることができます:

echo $PATH

標準的な最近のmacOSの出力:

/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

これらのディレクトリの1つ(SIPで保護されていないため、/ usr / local / binが望ましい)にバイナリのコピーを配置するか、$PATH環境変数に別のディレクトリを追加する必要があります。

ベストプラクティスは、通常、アプリケーションを他の場所(など/lib)に格納し、バイナリ自体を指すシンボリックリンクのみをbinディレクトリに置くことです。これがためにそれほど真実である自己完結型の実行可能ファイルを実行したい場合は、バイナリが、必須という.appを内部に存在する(例えば/Applications/VLC.app/Contents/MacOS/VLC


macOSでは、自己インストールされたUnixバイナリの正規の場所は/usr/local、より具体的に/usr/local/bin
nohillside
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.