`

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";
else
	To_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>的形式输出)。

 

 

 

分享到:
评论

相关推荐

    mediainfo.js获取视频详细信息

    在本文中,我们将深入探讨如何使用mediainfo.js来获取视频的详细信息,包括帧率、时长以及计算总帧数。 首先,我们需要了解mediainfo.js的基本用法。在项目中引入mediainfo.js库后,你可以创建一个MediaInfo对象并...

    Mediainfo获取视频信息

    **Mediainfo获取视频信息** Mediainfo是一款强大的多媒体元数据分析工具,它能够为用户揭示视频和音频文件的编码和内容细节。这款工具是完全免费的,不仅允许用户免费使用,还开放源代码,鼓励开发者进行二次开发和...

    利用ffmpeg获取视频封面图,时长信息

    本篇文章将详细探讨如何使用`ffmpeg`来获取视频的封面图以及视频的时长信息,尤其对于Java开发者来说,这些知识是进行多媒体处理时的基础。 首先,让我们了解如何通过`ffmpeg`获取视频封面图。视频封面图通常是指...

    MediaInfo视频编码查看器

    8. **安装与使用**:压缩包中的MediaInfo.exe是主程序,MediaInfo.dll和MediaInfo_InfoTip.dll是关键的动态链接库文件,用于实现功能。License.html包含软件许可协议,History.txt和ReadMe.txt提供了版本历史和使用...

    MediaInfo 查看视频文件格式信息工具

    在MediaInfo中,你可以获取到以下关键的视频文件格式信息: 1. **封装格式**:这是视频文件的整体结构,如MP4或Matroska (MKV)。封装格式决定了文件如何组织音视频流和其他元数据。 2. **视频编码格式**:例如H....

    mediainfo查看视频文件信息的工具

    Mediainfo是一款强大的多媒体信息分析工具,主要用于获取视频、音频以及字幕文件的详细技术信息。这个工具在IT行业中尤其受到专业人士的青睐,因为它能够提供深入的元数据,帮助用户理解媒体文件的具体内容和格式...

    MediaInfo音视频信息解析类

    MediaInfo提供了DLL动态链接库的形式,方便开发者将其集成到自己的应用程序中,进行音视频信息的自动化处理和分析。 MediaInfo的核心功能在于其对多媒体文件的深入解析能力。它支持众多常见的音频和视频格式,如MP3...

    【绿色中文】MediaInfo(检测视频编码信息)v0.7.61[32位]

    MediaInfo是一款强大的多媒体信息分析工具,专用于检测视频、音频文件的编码信息。这款软件的中文版本v0.7.61是32位版本,适用于那些运行32位操作系统的用户。MediaInfo的主要功能是提供详尽的媒体元数据信息,这...

    MediaInfo视频信息查看绿色无需安装

    通过其绿色便携的特性,用户无需安装即可随时随地获取视频的全面信息,从而更好地理解、处理和优化他们的多媒体内容。无论是为了诊断问题、比较不同源文件的质量,还是为了进行精确的格式转换,MediaInfo都是一个不...

    linux中编译的mediainfo执行程序

    Linux中的 Mediainfo 执行程序是用于分析多媒体...综上所述,Mediainfo 是一款强大的多媒体信息查询工具,其在Linux中的编译和使用涉及到操作系统兼容性、源码编译、库文件管理等多个方面,为开发者和用户提供了便利。

    linux下mediainfo和依赖库文件

    `Mediainfo`是一个强大的命令行工具,用于提取多媒体文件(如音频、视频)的元数据信息,包括编码格式、比特率、采样率等详细技术参数。这个工具在处理各种媒体格式时非常有用,因为它能提供统一的输出,方便分析和...

    MediaInfo中文版视频信息检测工具v0.7.rar

    MediaInfo能够检测视频文件的格式和一般信息,如视频编码音频编码类型,平均混合码率等信息。视频尺寸FPS帧率及视频制式。首次使用会出现Please select a language提示,从下拉菜单中找到简体中文再按OK即是中文...

    MediaInfo调用MFC源码及Lib

    通过包含这个头文件,开发者可以在C++项目中使用MediaInfo的函数和结构体,例如`MediaInfo_Inform()`、`MediaInfo_Open()`等,来获取媒体文件的信息。 3. **MediaInfo-Static.lib**:这是一个静态库文件,用于链接...

    MediaInfo媒体信息查看软件

    MediaInfo是一款专业的媒体信息查看工具,它在IT领域中扮演着重要的角色,尤其对于音频和视频文件的处理人员而言,是不可或缺的辅助软件。这款工具的主要功能是解析各种媒体文件,提取并显示其详细的元数据,包括...

    VB使用MediaInfo.dll组件读取流媒体文件信息.zip

    在这个例子中,`Open`方法用于打开指定路径的媒体文件,`Inform`方法用于获取不同类别(如通用、视频、音频)的详细信息。返回的结果是一段包含多行的文本,可以使用`Split`函数将其拆分为单独的行,然后逐行处理以...

    MediaInfo_x64_86.rar

    6. **VLC关联**: VLC是一款流行的开源媒体播放器,它使用MediaInfo库来获取播放的媒体文件信息。虽然这个压缩包没有直接包含VLC的相关内容,但提及"vlc"标签表明MediaInfo可能与VLC的开发或使用有关,或者可以作为...

    vue 获取视频时长的实例代码

    直接通过element-ui自带的上传组件结合js即可,代码如下: ... before-upload=beforeAvatarUpload&gt; &lt;button class=ce-button not-hover primary&gt; &lt;i class=ce-icon_upload&gt;&lt;/i&gt; 重新上传

    各种视频信息查看工具(MediaInfo)

    MediaInfo是一款强大的多媒体信息查看工具,它能够提供详尽的视频、音频文件元数据信息,帮助用户了解媒体文件的详细技术规格。这款软件支持多种格式的媒体文件,包括但不限于视频、音频、字幕等,是视频编辑、后期...

    PHP 获取视频video音频audio详情【时长、大小、尺寸、格式等】

    总之,`getID3`是一个非常实用的PHP库,它使得在不依赖额外环境的情况下获取视频和音频文件的详细信息变得简单。通过合理利用这个工具,可以为你的项目提供强大的多媒体处理能力。在处理大量多媒体文件时,确保正确...

    MediaInfo动态库调用案例

    MediaInfo是一款强大的多媒体元数据分析工具,它能够提取视频、音频和字幕文件的各种技术信息,如编码格式、分辨率、采样率等。MediaInfo提供命令行版本和图形用户界面,同时,它还支持通过动态链接库(DLL)的方式...

Global site tag (gtag.js) - Google Analytics