MediaInfo 用来分析视频和音频文件的编码和内容信息,是一款是自由软件 (免费使用、免费获得源代码)。

我在J2EE项目软件中集成了它的DLL,很好用。

下面简单记录一下它的使用方法。
(系统开发平台是MyEclipse)

1.需要加入JNA库。加入项目的 Build Path 后就可以使用Java调用DLL了。

2.需要MediaInfo的Dll。可以放到“C:\Windows\System32”里面。

3.需要一个名为MediaInfo的类(在MediaInfoDLL.JNA.java中)。

4.加入以下代码(这是个片段)试一下:

String To_Display = "\r\n\r\nOpen\r\n";
MediaInfo MI = new MediaInfo();
if (MI.Open("test.flv")>0)To_Display+="is OK\r\n";
elseTo_Display+="has a problem\r\n";
To_Display += "\r\n\r\nInform with Complete=false\r\n";
MI.Option("Complete", "");
To_Display += MI.Inform();
MI.Close();System.out.println(To_Display);

如果没问题,可以打印出test.flv的完整信息。

实际Struts2 + Spring + Hibernate项目中可以按照如下方式使用:

(一个实际的Action)

package action.video;import javax.servlet.ServletContext;import org.apache.struts2.ServletActionContext;import service.BaseService;import bean.Video;
import util.MediaInfo;
import com.opensymphony.xwork2.ActionSupport;
/*** @author 雷霄骅* Action*/
public class VideoReadByID extends ActionSupport {private int videoid;private BaseService baseService;private String original_videoinfo;private String convert_videoinfo;private Video video;public int getVideoid() {return videoid;}public void setVideoid(int videoid) {this.videoid = videoid;}public BaseService getBaseService() {return baseService;}public void setBaseService(BaseService baseService) {this.baseService = baseService;}public Video getVideo() {return video;}public void setVideo(Video video) {this.video = video;}public String getOriginal_videoinfo() {return original_videoinfo;}public void setOriginal_videoinfo(String original_videoinfo) {this.original_videoinfo = original_videoinfo;}public String getConvert_videoinfo() {return convert_videoinfo;}public void setConvert_videoinfo(String convert_videoinfo) {this.convert_videoinfo = convert_videoinfo;}public String execute(){try{video=(Video) baseService.ReadByID("Video", videoid);ServletContext servletContext = ServletActionContext.getServletContext();String realfilePath=servletContext.getRealPath("/")+video.getPath();String realfileoriginalPath=servletContext.getRealPath("/")+video.getTemppath();//MediaInfo-------------------MediaInfo MI = new MediaInfo();MI.Option("Output", "HTML");original_videoinfo = "";if (MI.Open(realfileoriginalPath)>0){MI.Option("Complete", "");original_videoinfo+= MI.Inform();}else{original_videoinfo+="媒体信息检测失败\r\n";}//----------------------------convert_videoinfo= "";if (MI.Open(realfilePath)>0){MI.Option("Complete", "");convert_videoinfo+= MI.Inform();}else{convert_videoinfo+="媒体信息检测失败\r\n";}//----------------------------//System.out.println(original_videoinfo);//System.out.println(convert_videoinfo);return SUCCESS;}catch(Exception ex){ex.printStackTrace();return ERROR;}}
}

最终original_videoinfo 和convert_videoinfo中都得到了相应媒体的信息,事实上分别是转码前和转码后视频文件的信息。

在J2EE项目中应该注意:MI.Option("Output", "HTML");这句一定要加,这样才能保证original_videoinfo 和convert_videoinfo中的字符串是HTML格式的(以<table>的形式输出)。

J2EE中使用MediaInfo库获取视频信息相关推荐

  1. C++中使用MediaInfo库获取视频信息

    MediaInfo 用来分析视频和音频文件的编码和内容信息,是一款是自由软件 (免费使用.免费获得源代码). 我在项目软件中集成了它的DLL,发现真的是非常好用! 下面简单记录一下它的使用方法. (系 ...

  2. C#编写运行在Linux环境下的采用Mediainfo来获取多媒体文件信息的代码

    C#编写运行在Linux环境下的采用Mediainfo来获取多媒体文件信息的代码 原文:C#编写运行在Linux环境下的采用Mediainfo来获取多媒体文件信息的代码 项目开始设计的是运行在wind ...

  3. python,ffprobe获取视频信息

    背景 需要获取视频基础信息,如果分辨率.大小.播放时长等,研究发现ffprobe工具已经提供了非常全面的视频信息,用ffprobe分析视频很简单,且看我是怎么在python码中调用ffprobe来提取 ...

  4. 使用MATLAB读取视频并获取视频信息、分帧保存

    题外话:初学MATLAB,是因为跟着老师做项目,与MATLAB机器学习相关,包含了智能信息处理,是从前未接触的领域.因此,想写博客来记录自己的学习进度.老师安排的第一次任务为:用MATLAB读取视频, ...

  5. crashdumpandroid_Android 中Crash时如何获取异常信息详解及实例

    Android 中Crash时如何获取异常信息详解 前言: 大家都知道,Android应用不可避免的会发生crash,无论你的程序写的多完美,总是无法完全避免crash的发生,可能是由于Android ...

  6. 在vb中使用Iphlpapi.dll获取网络信息(下)

    (转上版)http://miaozk2006.blog.163.com/blog/static/382470582011111391326440/ 5.运行时截图: 第十四节 返回本机网络接口数量 1 ...

  7. 在vb中使用Iphlpapi.dll获取网络信息(上)

    ※================================================================== ※本连载文章说明: ※1.连载首发于<软件报>(ht ...

  8. python中使用requests库获取昵图网图片,且正则中re.S的用法

    python中使用requests库获取图片,且正则表达式中re.S的用法以及r.text和r.content的区别和搜索关键词 这里我获取的是昵图网的图片 代码附上 这里我获取的是2020的图片 i ...

  9. python ffmpeg 获取视频信息_ffmpeg获取视频信息

    php使用ffmpeg获取视频信息可以获取到视频的分辨率.文件大小.播放时长.编码格式.视频格式.音频编码.音频采样频率.等..... 废话不多说,直接上代码.../** * Name: ffmpeg ...

最新文章

  1. jQuery计数子元素
  2. 基于角色的权限设计(一)
  3. N皇后的问题——算法的思想:回溯和剪枝
  4. 当 IDENTITY_INSERT 设置为 OFF 时,不能为表中的标识列插入显式值
  5. SpringBoot自动配置实现原理及源码解析(2.3.x)
  6. c++ 23种设计模式_使用Go实现GoF的23种设计模式(三)
  7. csv 读写 python_Python CSV读写
  8. 【解题报告】SRM-08
  9. Repast-边界控制
  10. htc g12 android 4,HTC Desire S G12 刷 官方Android4.0.4
  11. putty怎么进入文件夹_putty常用命令
  12. 关于如何让网站被搜索引擎收录
  13. DevOps :Jenkins pipeline + sonarQube 完成静态检测 + junit 覆盖率报告。
  14. win32 - 保存路径对话框(SelectFolderDialog)
  15. 漫话:什么是DevOps?
  16. ClickHouse在各大厂的最佳实践
  17. Problem L: 卡拉兹猜想
  18. 企业要如何快速进入直播带货赛道呢?
  19. 利用声音传感器控制led灯功能_利用光敏电阻加声音传感器制作声控灯
  20. logo商标识别 API数据接口

热门文章

  1. HDU2178 猜数字【数学计算+水题】
  2. CCF NOI1087 第K名
  3. CCF NOI1065 最小公倍数
  4. 字面量(literal)与 C 语言复合字面量(compound literals)
  5. 从二叉树到完全二叉树
  6. Python 面向对象 —— 特殊函数(setattr、getattr、hasattr)
  7. 【学习 OpenCV】—— imgproc.hpp 核心api
  8. Python 数据结构与算法 —— Kruskal 算法
  9. Tricks(二十三)—— Python 实现树这种数据结构
  10. 数学常用公式及规律、结论(三)