Встановити ffmpeg з dmg і потім запустити з терміналу, чи є кращий спосіб?


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

Термінальна оболонка macOS, як у Windows чи Linux, шукає $PATHзмінну оточення для пошуку бінарних файлів.

Ви можете перевірити свою $PATHзмінну:

echo $PATH

Які виходи в стандартних останніх macOS:

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

Вам потрібно або помістити копію двійкового файлу в одну з цих директорій (бажано / usr / local / bin, оскільки вона не захищена SIP ), або додати інший каталог у $PATHзмінну вашого середовища.

Найкраща практика - це звичайно зберігати свою програму в іншому місці (наприклад /lib) та розміщувати лише посилання в каталог бін, що вказує на сам бінарний файл. Це менш справедливо для автономного бінарного файлу, але обов'язкового, якщо ви хочете запустити виконуваний файл, який знаходиться всередині .app (наприклад /Applications/VLC.app/Contents/MacOS/VLC)


На macOS канонічне місце для самостійно встановлених бінарних файлів Unix є /usr/localабо, точніше /usr/local/bin,
nohillside
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.