采用s2sh设计。转换器使用的是FormatFactory软件。这里以视频转flv作为例子。
工具类ConvertVideoUtil如下:
package org.forever.convertVideo.util;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
/**
* 视频转换工具类
*
* @author 陈均
*/
public class ConvertVideoUtil {
private String formatFactoryPath;
public static String FORMATFACTORYPATH = "#formatFactoryPath#";
public static String TYPE = "#type#";
public static String RESOLUTION = "#resolution#";
public static String resolutionDefault = "320x240";
public static String SOURCEFILEPATH = "#sourceFilePath#";
//private String cmdTemplate = "#formatFactoryPath# \"All to #type#\" \"#resolution#\" \"#sourceFilePath#\"";// 命令模板语句
public String allToType(String resolution, String sourceFileDir,
String fileName,String type) throws Exception {
Runtime rt = Runtime.getRuntime();
String typeDir = "All to " + type + "\\\\";
String convertFileName = fileName.split("\\.")[0] + "." + type;
String cmd = formatFactoryPath+" \"All to "+type+"\" \""+resolution+"\" \""+sourceFileDir + fileName+"\"";
System.out.println(cmd);
Process process = rt.exec(cmd);
process.waitFor();
process.destroy();
String src = sourceFileDir + typeDir + convertFileName;
String target = sourceFileDir + convertFileName;
File srcFile = new File(src);
FileInputStream in = new FileInputStream(srcFile);
FileOutputStream out = new FileOutputStream(target);
byte[] buffer = new byte[1024];
int bytes_read = 0;
try {
while ((bytes_read = in.read(buffer)) != -1) {
out.write(buffer, 0, bytes_read);
}
} catch (Exception e) {
throw new Exception(e);
} finally {
try {
in.close();
out.close();
} catch (Exception e) {
throw new Exception(e);
}
}
if (srcFile.exists())
srcFile.delete();
return target;
}
public String getFormatFactoryPath() {
return formatFactoryPath;
}
public void setFormatFactoryPath(String formatFactoryPath) {
this.formatFactoryPath = formatFactoryPath;
}
}
附上完整代码。
分享到:
相关推荐
在Java编程环境中,开发一个视频转换工具类是一个高级任务,涉及到多媒体处理和文件I/O操作。这个"java视频转换工具类"显然提供了这样的功能,能够将视频文件转换为不同的格式,如mp4、ogg和flv等。这些格式在互联网...
Java Web开发中,将视频转换为Flash格式是一个常见的需求,特别是在构建在线视频平台时。这里主要涉及的技术点包括FFmpeg、Memcoder以及如何在Java Web环境中整合这些工具。以下是对这些知识点的详细解释: 1. ...
这一结构利用了FFmpeg、Web服务和其他相关技术,实现了视频采集、数据处理和异常处理等模块,以支持高效的视频转换流程。 论文的最后部分是对整个工作的总结,指出了已经取得的成就和未来可能的研究方向,关键词...
要将上传的视频转换为FLV格式,需要使用视频处理库。例如,FFmpeg是一个广泛使用的开源多媒体处理工具,它可以集成到.NET项目中,通过FFmpeg.NET这样的.NET包装库来调用其API。转换过程涉及解析源视频的编码信息,...
课程设计基于FFmpeg.wasm的视频转换压缩的web程序源码.zip课程设计基于FFmpeg.wasm的视频转换压缩的web程序源码.zip课程设计基于FFmpeg.wasm的视频转换压缩的web程序源码.zip课程设计基于FFmpeg.wasm的视频转换压缩...
为了在Unity中顺利播放视频,通常需要将视频转换成特定的格式,比如Ogg Vorbis和Theora编码的.ogv文件。这就是"TheoraConverter"工具的作用,它是一个专门用于将其他视频格式转换为Unity兼容的.ogv格式的工具。 ...
在C#中,进行视频转换还需要对文件进行读写操作,这涉及到System.IO命名空间下的类,如FileStream、StreamReader、StreamWriter等。 8. **多线程与异步编程**: 为了提高转换效率,可以利用多线程或异步编程技术...
描述中提到“使用网上的已有的转换代码”,这意味着我们需要找到一个合适的视频转换库或API,例如FFmpeg,这是一个强大的跨平台多媒体处理工具,能够处理各种视频和音频格式。在ASP.NET项目中,可以通过C#或者VB.NET...
在本场景中,我们关注的是如何利用ASP.NET技术进行视频格式转换,特别是将视频转换为FLV(Flash Video)格式。FLV是Adobe Flash Player支持的一种流媒体格式,广泛应用于网页中的在线视频播放。 在提供的压缩包中,...
Web视频转换工具ffmpeg和mencoder
《WinAVI视频转换工具详解及应用》 WinAVI视频转换工具是一款备受推崇的多媒体处理软件,尤其在视频格式转换领域,它以其强大的功能和易用性赢得了广大用户的青睐。这款工具不仅可以帮助用户轻松地将各种视频格式...
抓取的视频可能并不适合所有设备或播放器,这时可能需要使用转换工具(如HandBrake或Format Factory)将视频转换为更通用的格式,如MP4或AVI。 8. **安全与隐私** 下载未知来源的视频可能存在安全风险,如携带...
【Java视频转换源码解析】 Java作为一种广泛使用的编程语言,其在处理多媒体数据,特别是视频转换方面也有着广泛的应用。本篇文章将详细讲解基于Java的视频转换源码及其相关技术,帮助你理解如何利用Java进行视频...
2. **视频转换**:类中可能有一个方法`convertVideo()`,用于将源视频转换为指定的格式或分辨率。这个方法可能需要输入源视频的路径、目标格式、质量和输出路径等参数。 3. **截图**:类可能提供`takeScreenshot()`...
`video-react`是一个专为React设计的Web视频播放器组件,它提供了一个高度可定制、响应式且功能丰富的平台,让开发者能够轻松地在网页上实现视频播放功能。 `video-react`组件的核心特性包括: 1. **自定义主题**...
### 嵌入式Web视频服务器的关键技术与应用 #### 引言 随着网络技术和多媒体技术的发展,远程视频监控已成为安全防护、环境监测等领域的重要工具。传统的基于PC的视频监控系统由于其复杂性、成本较高以及稳定性问题...
在ASP.NET环境中实现视频转换,将各种视频文件转化为.FLV(Flash Video)格式,是一项常见的需求,特别是对于那些希望在网页上提供视频流服务的开发者来说。.FLV格式因其良好的跨平台性和对Flash Player的良好支持而...
下载并运行它,用户可以在自己的计算机上安装并开始使用`Freemake Video Converter`,享受便捷的视频转换服务。 总的来说,`Freemake Video Converter 3.0.1.1`是一个实用且高效的工具,对于那些需要将各种视频格式...
9. **跨平台支持**:虽然此处提到的是Windows平台的软件(WinAVI),但许多视频转换器也有Mac和Linux版本,或者提供跨平台的Web应用程序。 总的来说,视频转换软件是数字媒体管理中不可或缺的一部分,它帮助用户...