web-dev-qa-db-ja.com

Ubuntuターミナルでffmpegコマンドがエラーを生成する理由

このコマンドを使用してffmpegをインストールしました

Sudo apt-get install ffmpeg

インストール後、ターミナルでこのコマンドを試しました

ffmpeg

しかし、私はこのようなエラーメッセージを受け取りました

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

この問題を解決するにはどうすればよいですか?

4
messi fan

パス/usr/local/bin/は、ffmpegのカスタムバージョンがインストールされていることを示します。 apt-get installでインストールしたバージョンは、/usr/bin/(「ローカル」部分なし)にあります。 apt-getがインストールしたバージョンを実行するには、次を実行します

/usr/bin/ffmpeg

/usr/local/bin/ffmpegを削除するか、Sudo chmod -x /usr/local/bin/ffmpegで実行不可としてマークできます。 hash -rを実行すると、現在のシェルで変更が有効になります。すべてのグラフィカルアプリケーションで変更が有効になるように、ログアウトして再度ログインします。

/usr/local/bin/ffmpegが上記のメソッドのいずれかで処理されるとすぐに、ffmepgを呼び出すだけで、デフォルトで/usr/bin/ffmpegで開始されます。

編集完全な再起動なしでこれを行う方法に関する情報を@Ramchandra_Apteから追加しました。

4
MadMike

ええ、何かがここにはまったくありません。 ffmpegをインストールすると、そのバイナリは/usr/bin/ffmpegではなく/usr/local/bin/ffmpegにインストールされます。

だから、私がしなければならない最初の仮定は次のいずれかです:

  • 非標準のffmpegパッケージをインストールしました
  • 何らかの理由で、ffmpegの奇妙なローカルコピーと壊れたコピーが他の何かに含まれています。

まず、/usr/bin/ffmpegが実行されるかどうかを確認します。存在する場合、少なくとも適切なffmpegがインストールされている可能性がありますので、不審なコピーの削除に集中できます。そうしないと、あなたは行って自分自身に危険なコピーを手に入れました。私はあなたではない、あなたが何をしたかわからないが、危険なリポジトリと一般的に家をきれいにする。

次に、この/usr/local/bin/ffmpegバージョンに関連付けられたパッケージがあるかどうかを見てみましょう

dpkg -S /usr/local/bin/ffmpeg

これは、何も見つからなかったことを通知するか、どのパッケージからのものかを通知します。パッケージがある場合は、Sudo dpkg -r <package name>を実行し、ffmpegを再試行します。

パッケージがない場合は、手動で削除する必要があるというやっかいな場所に残っています。これをソースからビルドした場合は、ソースディレクトリにcdしてSudo make uninstallを実行できます。それでもこれがどこから来たのかわからないと主張する場合は、Sudo rm /usr/local/bin/ffmpegを試してみてください。

2
Oli