如果rpm安装了zlib,可以到mediainfo的站点下载相应的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以及libmediainfo

编译顺序为:libz, libzen, libmediainfo

(1)编译libz

zlib/config

zlib/make

zlib/make install

执行完上面的命令,会在/usr/local/lib/目录下生成libz.a

在/usr/local/include目录下生成zlib.h(这个文件移植没用到)

(2)编译libzen

根据ZenLib/Project/GNU/libzen_contrib.spec文件中的描述进行编译,不是所有的命令都要执行,我主要执行了以下命令

在ZenLib/Source/Doc下执行

doxygen Doxyfile

(这个命令需要先安装doxygen ,在ubuntu上sudo apt-get install doxygen)

在ZenLib/Project/GNU/Library目录下执行:

chmod +x autogen

./autogen

(这个命令需要安装automake libtool,在ubuntu上sudo apt-get install automake

sudo apt-get install libtool)

configure --enable-shared

make clean

make

makeinstall

执行完上面的命令,会在/usr/local/lib/目录下生成libzen.alibzen.la libzen.solibzen.so.0libzen.so.0.05个函数库

(3)编译libmediainfo

根据MediaInfoLib/Project/GNU/libmediainfo.spec文件中的描述进行编译,不是所有的命令都要执行,我主要执行了以下命令

MediaInfoLib/Source/Doc/下执行

doxygen Doxyfile

MediaInfoLib/Project/GNU/Library下执行

chmod +x autogen

./autogen

configure --enable-shared

make clean

make

makeinstall

执行完上面的命令,会在/usr/local/lib/目录下生成libmediainfo.a libmediainfo.la两个函数库

(4)编译mediainfo

Mediainfo有两个版本:CLI命令行版本和GUI图形界面版本,项目中只需要命令行版本的,所以这里只选择CLI目录下的进行编译

MediaInfo/Project/GNU/mediainfo.spec文档中描述的有关CLI的部分进行编译

MediaInfo/Project/GNU/CLI下执行

chmod +x autogen

./autogen

Configure

make

makeinstall

执行完上面的命令,会在/usr/local/bin目录下生成mediainfo可执行文件

(5)到此为此,所有的编译和安装都做完了,但还需要如下配置

exportLD_LIBRARY_PATH=/usr/local/lib (因为linux默认的函数库目录为/lib和/usr/lib)

exportPATH=$PATH:/usr/local/bin

(6)运行mediainfo命令的格式问题:

mediainfo “—Inform=Video;%Duration%” a.flv

要在命令的格式部分加入””号,才能正确输出(在window中可加可以不加)

mediainfo不能用大写“MediaInfo”,应该用小写。但在window中则可以。

在java运行Runtime.exec()方法的格式为  mediainfo —Inform=Video;%Duration% a.flv不要加引号

三.移植

因为编译需要一些工具如Doxygen, automake , libtool,在ubuntu中apt-get安装很方便,所以选择在ubuntu中编译源码后,再种植到别的系统(suse)中运行。

(1)将函数库放到/usr/lib或/lib中(不需要配置)

或者放到/usr/local/lib中,这就需要到上面(5)的配置

(2 )检查下函数库的权限,修改为777(注意,这里必须是777,否则Runtime.exec()时没有权限)

(3)将可执行文件mediainfo放到/usr/local/bin中,并做上面(5)中的配置

(4)还有一个可能出现的问题

libzen.so.0依赖/usr/lib/libstdc++.so.6要求版本GLIBCXX-3.4.9或以上

如果你的系统上这个函数库的版本低了,就将libstdc++.so.6.0.13拷到/usr/lib下,并执行命令ln –fs libstdc++.so.6.0.13 libstdc++.so.6将libstdc++.so.6链接到新的函数库

linux mediainfo java,linux下安装mediainfo相关推荐

  1. linux slf4j.rpm,Centos下安装nginx rpm包

    1 在nginx官方网站下载一个rpm包,下载地址是:http://nginx.org/en/download.html wget http://nginx.org/packages/centos/6 ...

  2. 在Linux、ubuntu 11下安装无线网卡 、杂牌无线网卡、ndiswrapper的使用

    本片文章是之前在百度空间所写的(2011-10-11),由于百度空间已无法浏览.考虑本文还有一定实用性,固转载至此. 原百度链接:http://hi.baidu.com/ccboyhi/blog/it ...

  3. Linux(ubuntu)下安装anaconda(64位)并配置jupyter notebook远程访问

    Linux(ubuntu)下安装anaconda(64位)并配置jupyter notebook远程访问 Anaconda指的是一个开源的Python发行版本,其包含了conda.Python等180 ...

  4. wireshark使用教程 linux,Linux入门教程:ubuntu下安装wireshark(以及配置非root),这个强大的工具可以捕...

    Linux入门教程:ubuntu下安装wireshark(以及配置非root),这个强大的工具可以捕 Wireshark是世界上最流行的网络分析工具.这个强大的工具可以捕捉网络中的数据,并为用户提供关 ...

  5. linux系统(ubuntu)下安装exe文件

    linux系统(ubuntu)下安装exe文件 昨天将家中的旧笔记本翻出来安装了ubuntu20.04.1,想在电脑中安装exe文件时,不能直接打开. 于是借鉴网络中的方法(https://blog. ...

  6. 永久解决Linux(Ubuntu)下安装CH340驱动问题

    永久解决Linux(Ubuntu)下安装CH340驱动问题 出现的问题 出现的问题 当我们用make对CH340的文件进行构建的时候,大多数情况是会报这样的错误 下面提供一种永久解决的方法 首先打开下 ...

  7. Linux和Windows系统下:安装Anaconda、Paddle、tensorflow、pytorch,GPU[cuda、cudnn]、CPU安装教学,以及查看CPU、GPU内存使用情况

    Linux和Windows系统下安装深度学习框架所需支持:Anaconda.Paddlepaddle.Paddlenlp.pytorch,含GPU.CPU版本详细安装过程 1.下载 Anaconda ...

  8. windows java eclipse_从零开始学 Java - Windows 下安装 Eclipse

    三观是什么鬼 当我们在讨论「三观一致」的时候是在讨论些什么? 我认为这个世界上本没有「三观」这一说法,说的人多了,也就有了「三观」这个词,当我们讨论「三观一致」其实并不是真的在说世界观.价值观.人生观 ...

  9. ubuntu安装eclipse java环境变量配置_【Linux学习】Ubuntu下安装JDK以及配置环境,和eclipse的下载...

    OpenJDK 还是 SunJDK? 由于刚开始接触Linux,所以在搜索如何安装jdk的问题上,有了不同的说法,其中有一种安装是直接安装OpenJDK,还有一种方法下载官方网站的SunJDK,那么两 ...

最新文章

  1. Linux-非结构化数据同步-Linux下Rsync+Rsync实现非结构化增量差异数据的同步2
  2. ACdream 1083 有向无环图dp
  3. SQL数据库无法附加 823错误修复 连接中断
  4. 封装getByClass(JS获取class的方法封装为一个函数)
  5. Android Studio自定义模板 做开发竟然可以如此轻松 后篇
  6. python模块学习(1)
  7. 凸集、凸函数、凸优化问题 概念关联
  8. Python之Pandas库常用函数大全(含注释)
  9. 原码、反码、补码及位操作符,C语言位操作
  10. 向虚拟机发短信(android SMS 调试)
  11. 神经网络入门--学习资源
  12. 自动控制原理第3章——时域分析法(思维导图)
  13. 房产管理系统下载和安装步骤
  14. Padavan固件添加adbyby去广告功能
  15. kali安装网易云1.1和打不开问题解决
  16. bzoj1127 洛谷3474 题解
  17. linux如何打开22端口?如何开启ssh远程链接
  18. 两直线平行交叉相乘_十字交叉法解析
  19. Android新手入门 FAQ
  20. C语言中文网设计模式,C语言和设计模式(访问者模式)

热门文章

  1. 英特尔首度公开展示SSD超频技术
  2. 大数据运营之数据分析
  3. comsol5.3 linux安装教程,COMSOL Multiphysics3.3(WinLinux)安装说明
  4. Python:用ffmpeg多图转视频
  5. C 关于中文汉字字符串
  6. 如何解决多并发的问题
  7. 编写程序,提示用户输入月份和年份,然后显示这个月的天数.
  8. 怎样用手机打印微信里的文件
  9. ArcGIS10.8完美实现MODIS NDVI数据格式转换和投影变换
  10. MATLAB频域分析,奈氏图、伯德图、对数幅相图绘制