linux mediainfo java,linux下安装mediainfo
如果rpm安裝了zlib,可以到mediainfo的站點下載相應(yīng)的rpm包,安裝可能簡單些。
下面使用源碼包安裝。
一.解壓
在linux下用7za –x *****.7z解壓縮mediainfo源碼(mediainfo_0.7.51_AllInclusive.7z)
二.編譯
http://downloads.sourceforge.net/project/libpng/zlib/1.2.3/zlib-1.2.3.tar.gz?r=http%3A%2F%2Fwww.oschina.net%2Fp%2Fzlib&ts=1322643718&use_mirror=cdnetworks-kr-1
下載zlib-1.2.3.tar.gz
Mediainfo依賴libz和libzen以及l(fā)ibmediainfo
編譯順序為:libz, libzen, libmediainfo
(1)編譯libz
zlib/config
zlib/make
zlib/make install
執(zhí)行完上面的命令,會在/usr/local/lib/目錄下生成libz.a
在/usr/local/include目錄下生成zlib.h(這個文件移植沒用到)
(2)編譯libzen
根據(jù)ZenLib/Project/GNU/libzen_contrib.spec文件中的描述進行編譯,不是所有的命令都要執(zhí)行,我主要執(zhí)行了以下命令
在ZenLib/Source/Doc下執(zhí)行
doxygen Doxyfile
(這個命令需要先安裝doxygen ,在ubuntu上sudo apt-get install doxygen)
在ZenLib/Project/GNU/Library目錄下執(zhí)行:
chmod +x autogen
./autogen
(這個命令需要安裝automake libtool,在ubuntu上sudo apt-get install automake
sudo apt-get install libtool)
configure --enable-shared
make clean
make
makeinstall
執(zhí)行完上面的命令,會在/usr/local/lib/目錄下生成libzen.alibzen.la libzen.solibzen.so.0libzen.so.0.05個函數(shù)庫
(3)編譯libmediainfo
根據(jù)MediaInfoLib/Project/GNU/libmediainfo.spec文件中的描述進行編譯,不是所有的命令都要執(zhí)行,我主要執(zhí)行了以下命令
MediaInfoLib/Source/Doc/下執(zhí)行
doxygen Doxyfile
MediaInfoLib/Project/GNU/Library下執(zhí)行
chmod +x autogen
./autogen
configure --enable-shared
make clean
make
makeinstall
執(zhí)行完上面的命令,會在/usr/local/lib/目錄下生成libmediainfo.a libmediainfo.la兩個函數(shù)庫
(4)編譯mediainfo
Mediainfo有兩個版本:CLI命令行版本和GUI圖形界面版本,項目中只需要命令行版本的,所以這里只選擇CLI目錄下的進行編譯
MediaInfo/Project/GNU/mediainfo.spec文檔中描述的有關(guān)CLI的部分進行編譯
MediaInfo/Project/GNU/CLI下執(zhí)行
chmod +x autogen
./autogen
Configure
make
makeinstall
執(zhí)行完上面的命令,會在/usr/local/bin目錄下生成mediainfo可執(zhí)行文件
(5)到此為此,所有的編譯和安裝都做完了,但還需要如下配置
exportLD_LIBRARY_PATH=/usr/local/lib (因為linux默認的函數(shù)庫目錄為/lib和/usr/lib)
exportPATH=$PATH:/usr/local/bin
(6)運行mediainfo命令的格式問題:
mediainfo “—Inform=Video;%Duration%” a.flv
要在命令的格式部分加入””號,才能正確輸出(在window中可加可以不加)
mediainfo不能用大寫“MediaInfo”,應(yīng)該用小寫。但在window中則可以。
在java運行Runtime.exec()方法的格式為? mediainfo —Inform=Video;%Duration% a.flv不要加引號
三.移植
因為編譯需要一些工具如Doxygen, automake , libtool,在ubuntu中apt-get安裝很方便,所以選擇在ubuntu中編譯源碼后,再種植到別的系統(tǒng)(suse)中運行。
(1)將函數(shù)庫放到/usr/lib或/lib中(不需要配置)
或者放到/usr/local/lib中,這就需要到上面(5)的配置
(2 )檢查下函數(shù)庫的權(quán)限,修改為777(注意,這里必須是777,否則Runtime.exec()時沒有權(quán)限)
(3)將可執(zhí)行文件mediainfo放到/usr/local/bin中,并做上面(5)中的配置
(4)還有一個可能出現(xiàn)的問題
libzen.so.0依賴/usr/lib/libstdc++.so.6要求版本GLIBCXX-3.4.9或以上
如果你的系統(tǒng)上這個函數(shù)庫的版本低了,就將libstdc++.so.6.0.13拷到/usr/lib下,并執(zhí)行命令ln –fs libstdc++.so.6.0.13 libstdc++.so.6將libstdc++.so.6鏈接到新的函數(shù)庫
總結(jié)
以上是生活随笔為你收集整理的linux mediainfo java,linux下安装mediainfo的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 测试开发【Mock平台】04实战:前后端
- 下一篇: linux 其他常用命令