12 votes

Installer ffmpeg à partir du dmg puis l'exécuter à partir d'un terminal, y a-t-il une meilleure méthode ?

D'ici : https://ffmpeg.org/download.html#build-mac J'ai choisi les constructions statiques 64-bit ce qui me permet de https://evermeet.cx/ffmpeg/

J'ai ensuite téléchargé ceci :

enter image description here

et l'a ouvert en utilisant ceci :

enter image description here

ce qui m'a donné ça :

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]

Cependant, lorsque j'ouvre un terminal et que j'essaie ffmpeg ou man ffmpeg ou même ffmpeg -i filename.mp4 -vn filename.wav (de aquí ), tout ce que j'obtiens est

-bash : ffmpeg : commande non trouvée

Je dois être proche, y a-t-il un endroit où je dois maintenant définir un chemin pour ffmpeg ? Je ne sais pas comment faire, ni quel chemin utiliser.

Y a-t-il un meilleur moyen ?

27voto

david Points 350

Vous êtes censé copier le programme de l'image disque vers vos dossiers locaux. L'emplacement habituel pour ces choses est /usr/local/bin.

Donc :

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

et tout devrait être bon à prendre. La désactivation de SIP n'est pas nécessaire.

Pas besoin de homebrew ou de tout autre gestionnaire de paquets pour installer un binaire précompilé. Vous devez cependant lire les bases d'UNIX.

20voto

Pirooz Points 486

Le problème est que bash est à la recherche de ffmpeg dans la liste des répertoires dans le $PATH . Certains de ces répertoires sont protégés par SIP et vous devez donc désactiver SIP pour placer le fichier dans ces répertoires. Vous pouvez également l'installer en utilisant Homebrew.

Installez d'abord HomeBrew avec cette commande :

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

Ensuite, installez ffmpeg avec cette commande :

brew install ffmpeg

Homebrew installera ffmpeg à l'endroit suivant un chemin non protégé par SIP mais dans le cadre de la $PATH Plus précisément, il s'agit de l'installer sous le /usr/local/bin répertoire.

Cela peut être fait manuellement avec des commandes manuelles (en gros, faire manuellement ce que fait homebrew. Pour cette approche, consultez la réponse de @davids. Mais je suggérerais le homebrew pour de multiples raisons. C'est beaucoup plus facile à utiliser et plus rapide pour installer une grande quantité d'outils. Vous pouvez également mettre à jour beaucoup plus rapidement. Homebrew rend également l'installation des dépendances plus facile.

Edit : J'avais précédemment une partie de cette réponse avec des informations inexactes ; je l'ai depuis modifiée. Je pense qu'elle est actuellement exacte. J'ai inclus la partie concernant le SIP car je pense qu'il est important de comprendre quelles sont les restrictions concernant le placement des commandes et pourquoi il n'y a pas qu'un seul chemin pour toutes les commandes.

2voto

zakinster Points 507

L'interpréteur de terminal de MacOS, comme dans Windows ou Linux, se trouve dans le répertoire $PATH pour localiser les binaires.

Vous pouvez vérifier votre $PATH variable faisant :

echo $PATH

Qui sort en standard des MacOS récents :

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

Vous devez soit mettre une copie du binaire dans un de ces répertoires (de préférence /usr/local/bin car il n'est pas SIP -protégé) ou ajouter un autre répertoire dans votre $PATH variable d'environnement.

La meilleure pratique consiste généralement à stocker votre application ailleurs (par ex. /lib ) et de ne mettre qu'un lien symbolique dans le répertoire bin pointant vers le binaire lui-même. C'est moins vrai pour les binaires autonomes mais obligatoire si vous voulez exécuter un exécutable qui réside à l'intérieur d'un .app (par ex. /Applications/VLC.app/Contents/MacOS/VLC )

0 votes

Sous MacOS, l'emplacement canonique pour les binaires Unix auto-installés est le suivant /usr/local ou plus précisément /usr/local/bin ,

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X