web-dev-qa-db-fra.com

pourquoi la commande ffmpeg produisant une erreur dans le terminal Ubuntu?

J'ai installé ffmpeg en utilisant cette commande

Sudo apt-get install ffmpeg

Après l'installation, j'ai essayé cette commande dans le terminal

ffmpeg

mais j'ai eu un message d'erreur comme celui-ci

root@client85-desktop:~# ffmpeg
bash: /usr/local/bin/ffmpeg: cannot execute binary file

Comment puis-je résoudre ce problème?

4
messi fan

Le chemin /usr/local/bin/ indique que vous avez installé version personnalisée de ffmpeg. La version que vous avez installée avec apt-get install se trouve dans /usr/bin/ (sans la partie "locale"). Pour exécuter la version installée par apt-get, lancez

/usr/bin/ffmpeg

Vous pouvez supprimer /usr/local/bin/ffmpeg ou le marquer comme non-exexcutable avec Sudo chmod -x /usr/local/bin/ffmpeg. Exécutez hash -r pour que la modification soit prise en compte dans le shell actuel. Déconnectez-vous et reconnectez-vous pour que le changement prenne effet pour chaque application graphique.

Dès que /usr/local/bin/ffmpeg a été traité avec l'une des méthodes mentionnées ci-dessus, il suffit d'appeler ffmepg pour démarrer celle qui se trouve sur /usr/bin/ffmpeg par défaut.

Edit Ajout des informations de @Ramchandra_Apte sur la manière de procéder sans redémarrage complet.

4
MadMike

Oui, quelque chose ne va pas tout à fait ici. Si vous installez ffmpeg, son binaire est installé sur /usr/bin/ffmpeg, pas /usr/local/bin/ffmpeg.

Donc, la première hypothèse que je dois faire est soit:

  • Vous avez installé un package ffmpeg non standard
  • Quelque chose d'autre a inclus une copie locale bizarre et brisée de ffmpeg pour une raison quelconque.

Commencez par voir si /usr/bin/ffmpeg fonctionnera. Si c'est le cas, au moins vous avez probablement le bon ffmpeg installé et nous pouvons simplement nous concentrer sur la suppression de la copie ratée. Si vous ne le faites pas, vous êtes allé vous en procurer une copie risquée. Je ne suis pas vous, je ne sais pas ce que vous avez fait, mais enlevez les dépôts louches et nettoyez la maison en général.

Voyons maintenant s’il existe un paquet associé à cette version /usr/local/bin/ffmpeg

dpkg -S /usr/local/bin/ffmpeg

Cela vous dira qu'il n'a rien trouvé ou vous dira de quel paquet il provient. S'il y a un paquet, Sudo dpkg -r <package name> et essayez à nouveau ffmpeg.

S'il n'y a pas de paquet, vous êtes dans l'impossibilité de le supprimer manuellement. Si vous avez construit cela à partir de la source, vous pouvez aller dans le répertoire source et lancer un Sudo make uninstall. Si vous prétendez toujours ne pas savoir d'où cela vient, vous pouvez essayer un Sudo rm /usr/local/bin/ffmpeg mais je ne peux pas dire quel effet cela peut avoir sur d'autres applications si c'est quelque chose qu'ils ont fait.

2
Oli