1

Java コードを使用してオーディオ ファイルとビデオ ファイルから情報を抽出するために、mediainfo ( http://mediainfo.sourceforge.net/en ) を使用しています。

私の Java プロジェクトは、すべてのプラットフォーム (osx、win、linux) で実行されます。これまでのところ、手順が簡単な osx 経由の mediainfo のみをテストしました。libmediainfo.dylib をターゲット フォルダーに配置し、ネイティブ ライブラリを使用してアクセスするだけで、準備完了です。そして、ソリューションは完璧に機能します...

私は現在、この機能を Linux をはじめとする他の OS に拡張することを検討しています。しかし、それは私が思っていた以上の挑戦であることが証明されています. 最初はこれを取得し続けました:

"java.lang.UnsatisfiedLinkError: Unable to load library 'mediainfo': libmediainfo.so: cannot open shared object file: No such file or directory"

/usr/lib を調べていたので、これは予期されていたことです。

しかし、これはhttp://mediainfo.sourceforge.net/en/Download/Ubuntuから適切な libmediainfo0 & libzen0 ".deb をインストールすることで解決されました

それでも、私のソリューションは移植可能である必要があります。つまり、追加のインストールを必要とせずに、必要なすべてのリソースを Java プロジェクト パッケージに含める必要があります。また、システムの場所ではなく、Java パッケージ内のリソースを検索するように mediainfo を変更できるかどうかも知りたいです。

参考までに、私は Java Native Access (jna) を使用してライブラリとやり取りしています。Web サイトが提案する MediaInfo.java & MediaInfoLibrary.java クラスも使用します。他の詳細が必要な場合はお知らせください。

どんな知恵でも大歓迎ですありがとう!!

4

1 に答える 1