J2EE中使用MediaInfo库获取视频信息
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库获取视频信息相关推荐
- C++中使用MediaInfo库获取视频信息
MediaInfo 用来分析视频和音频文件的编码和内容信息,是一款是自由软件 (免费使用.免费获得源代码). 我在项目软件中集成了它的DLL,发现真的是非常好用! 下面简单记录一下它的使用方法. (系 ...
- C#编写运行在Linux环境下的采用Mediainfo来获取多媒体文件信息的代码
C#编写运行在Linux环境下的采用Mediainfo来获取多媒体文件信息的代码 原文:C#编写运行在Linux环境下的采用Mediainfo来获取多媒体文件信息的代码 项目开始设计的是运行在wind ...
- python,ffprobe获取视频信息
背景 需要获取视频基础信息,如果分辨率.大小.播放时长等,研究发现ffprobe工具已经提供了非常全面的视频信息,用ffprobe分析视频很简单,且看我是怎么在python码中调用ffprobe来提取 ...
- 使用MATLAB读取视频并获取视频信息、分帧保存
题外话:初学MATLAB,是因为跟着老师做项目,与MATLAB机器学习相关,包含了智能信息处理,是从前未接触的领域.因此,想写博客来记录自己的学习进度.老师安排的第一次任务为:用MATLAB读取视频, ...
- crashdumpandroid_Android 中Crash时如何获取异常信息详解及实例
Android 中Crash时如何获取异常信息详解 前言: 大家都知道,Android应用不可避免的会发生crash,无论你的程序写的多完美,总是无法完全避免crash的发生,可能是由于Android ...
- 在vb中使用Iphlpapi.dll获取网络信息(下)
(转上版)http://miaozk2006.blog.163.com/blog/static/382470582011111391326440/ 5.运行时截图: 第十四节 返回本机网络接口数量 1 ...
- 在vb中使用Iphlpapi.dll获取网络信息(上)
※================================================================== ※本连载文章说明: ※1.连载首发于<软件报>(ht ...
- python中使用requests库获取昵图网图片,且正则中re.S的用法
python中使用requests库获取图片,且正则表达式中re.S的用法以及r.text和r.content的区别和搜索关键词 这里我获取的是昵图网的图片 代码附上 这里我获取的是2020的图片 i ...
- python ffmpeg 获取视频信息_ffmpeg获取视频信息
php使用ffmpeg获取视频信息可以获取到视频的分辨率.文件大小.播放时长.编码格式.视频格式.音频编码.音频采样频率.等..... 废话不多说,直接上代码.../** * Name: ffmpeg ...
最新文章
- jQuery计数子元素
- 基于角色的权限设计(一)
- N皇后的问题——算法的思想:回溯和剪枝
- 当 IDENTITY_INSERT 设置为 OFF 时,不能为表中的标识列插入显式值
- SpringBoot自动配置实现原理及源码解析(2.3.x)
- c++ 23种设计模式_使用Go实现GoF的23种设计模式(三)
- csv 读写 python_Python CSV读写
- 【解题报告】SRM-08
- Repast-边界控制
- htc g12 android 4,HTC Desire S G12 刷 官方Android4.0.4
- putty怎么进入文件夹_putty常用命令
- 关于如何让网站被搜索引擎收录
- DevOps :Jenkins pipeline + sonarQube 完成静态检测 + junit 覆盖率报告。
- win32 - 保存路径对话框(SelectFolderDialog)
- 漫话:什么是DevOps?
- ClickHouse在各大厂的最佳实践
- Problem L: 卡拉兹猜想
- 企业要如何快速进入直播带货赛道呢?
- 利用声音传感器控制led灯功能_利用光敏电阻加声音传感器制作声控灯
- logo商标识别 API数据接口