0

Ubuntu を実行し、ここから Java で ffmpeg ラッパーを使用しようとしています: http://code.google.com/p/javacv/

他のシステムでは正常に動作するようですが、Ubuntu では次のエラーでプロジェクトがクラッシュします: Exception in thread "main" java.lang.UnsatisfiedLinkError: Error looking up function 'avcodec_decode_video2': /usr/lib/i686/cmov/libavcodec .so: 未定義のシンボル: avcodec_decode_video2

ただし、ffmpeg はコマンド ラインからうまく機能します。

JavaCV の作成者は、このリンクを確認するように勧めました: http://linux-tipps.blogspot.com/2009/05/pretending-package-is-installed-by.html

おそらく私は何か間違ったことをしていますが、このように libavcodec51 を再インストールすることはできません。

質問は次のとおりです。 1. 上記の解決策は優れているので、どうにかして成功させる必要がありますか? 2. 問題を解決する他の方法は何ですか?

事前にご提案いただきありがとうございます。

4

2 に答える 2

0

方法 1 1.更新を求められた場合は、最初に Flash Player を更新します。Flash tar.gz をダウンロードして解凍します。そのフォルダーをルートとして開きます。次のコマンドを入力します。

TGS install_flash_player_11_linux.x86_64 # cp -v libflashplayer.so /var/lib/mozilla/plugins/ 'libflashplayer.so' -> '/var/lib/mozilla/plugins/libflashplayer.so'</p>

TGS install_flash_player_11_linux.x86_64 # cp -v libflashplayer.so /usr/lib/adobe-flashplugin/ 'libflashplayer.so' -> '/usr/lib/adobe-flashplugin/libflashplayer.so'</p>

TGS install_flash_player_11_linux.x86_64 #

  1. libavcodec の更新

milan@TGS ~ $ sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next

milan@TGS ~ $ sudo apt-get update

milan@TGS ~ $ sudo apt-get install ffmpeg

方法 2

Firefox で libavcodec を有効にするだけです: アドレスバーに about:config と入力し、「リスクを受け入れます」と入力して検索 libavcodec change media.libavcodec.allow-obsolete;false を true にします

http://www.techyo.ga/2016/12/solved-libavcodev-may-be-vulnerable-or.html

于 2016-12-07T08:21:36.030 に答える
0

extern "C"libavcodec は C リンケージでビルドされていますが、C++ でビルドされた場合、ヘッダーはラッパーの周りに宣言を配置しません。libavcodec への Java Native Interface ラッパーが C++ コンパイラでビルドされている場合、C++ リンケージを使用して関数を定義します。この場合、次のようなものが必要です。

extern "C" {
#include <libavcodec.h>
}
于 2010-07-12T22:35:31.610 に答える