`

使用ffmpeg 视频格式转换&&截图

 
阅读更多

一、官网http://ffmpeg.org/index.html

二、代码:

1、工具类

package wuyechun.myweb.test;

import java.io.File;
import java.util.HashMap;

/*
 * @(#) ConvertVideo.java 1.0  2011-7-7 
 *
 * (c) Copyright 2011 iflytek MyWeb 1.0
 *
 * FILENAME    : ConvertVideo.java
 * PACKAGE     : wuyechun.myweb.test
 * CREATE DATE : 2011-7-7
 * AUTHOR      : wuyechun
 */

public class FfmpegUtil {
	private static String INPUT_PATH;
	private static String OUTPUT_PATH;
	private static String PROJECT_PATH;
	private static HashMap<String, String> fileType;

	static {
		fileType = new HashMap<String, String>();
		fileType.put("avi", "true");
		fileType.put("mpg", "true");
		fileType.put("wmv", "true");
		fileType.put("3gp", "true");
		fileType.put("mov", "true");
		fileType.put("mp4", "true");
		fileType.put("asf", "true");
		fileType.put("asx", "true");
		fileType.put("flv", "true");
	}

	/***
	 * 
	 * 功能 :将视频转换成Flv格式&&截图
	 * 
	 * 开发:wuyechun 2011-7-7
	 * 
	 * @param projectPath
	 *            ffmpeg存放目录
	 * @param inputFile
	 *            需要转换的文件目录
	 * @param outputFile
	 *            Flv输出目录
	 */
	public static void convertToFLV(String projectPath, String inputFile,
			String outputFile) {
		INPUT_PATH = inputFile;
		OUTPUT_PATH = outputFile;
		PROJECT_PATH = projectPath;

		if (checkContentType())
			processFLV(); // 转换成Flv
	}

	public static void screenShot(String projectPath, String inputFile,
			String outputFile) {
		INPUT_PATH = inputFile;
		OUTPUT_PATH = outputFile;
		PROJECT_PATH = projectPath;

		if (checkContentType())
			processIMG(); // 截图
	}

	/***
	 * 
	 * 功能 :检查视频是否为可支持的格式(ffmpeg能解析的格式:(asx,asf,mpg,wmv,3gp,mp4,mov,avi,flv等))
	 * 
	 * 开发:wuyechun 2011-7-22
	 * 
	 */

	private static boolean checkContentType() {
		String type = INPUT_PATH.substring(INPUT_PATH.lastIndexOf(".") + 1,
				INPUT_PATH.length()).toLowerCase();
		return "true".equals(fileType.get(type));
	}

	private static void processFLV() {
		if (new File(INPUT_PATH).isFile()) {
			try {

				// 视频转换
				String cmd = "cmd /c start D:\\ffmpeg.bat \"" + PROJECT_PATH
						+ "\" \"" + INPUT_PATH + "\" \"" + OUTPUT_PATH + "\"";

				Runtime.getRuntime().exec(cmd);
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}

	private static void processIMG() {
		if (new File(INPUT_PATH).isFile()) {
			try {
				// 截图
				String cmd = "cmd /c start D:\\ffmpeg-img.bat \""
						+ PROJECT_PATH + "\" \"" + INPUT_PATH + "\" \""
						+ OUTPUT_PATH + "\"";
				Runtime.getRuntime().exec(cmd);
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}

}

 

2、测试类

/*
 * @(#) Ffmpeg.java 1.0  2011-7-7 
 *
 * (c) Copyright 2011 iflytek MyWeb 1.0
 *
 * FILENAME    : Ffmpeg.java
 * PACKAGE     : wuyechun.myweb.test
 * CREATE DATE : 2011-7-7
 * AUTHOR      : Administrator
 */

package wuyechun.myweb.test;

import wuyechun.myweb.test.FfmpegUtil;

/**
 * @author wuyechun
 * 
 */
public class Ffmpeg {
	public static void main(String[] args) {

		ffmpegService();

	}

	public static void ffmpegService() {
	FfmpegUtil.convertToFLV("C:\\Eclipse\\workspace\\corejava\\src",
				"d:\\a.wmv", "d:\\d.flv");
	FfmpegUtil.screenShot("C:\\Eclipse\\workspace\\corejava\\src",
				"d:\\a.wmv", "d:\\d.jpg");
	};

}

 

分享到:
评论

相关推荐

    ffmpeg视频格式转换

    它提供了丰富的功能,如视频格式转换、视频截图、添加水印、裁剪、合并、编码、解码以及流处理等。在本篇文章中,我们将深入探讨 FFmpeg 在视频格式转换中的应用以及如何实现这些功能。 1. **FFmpeg 的安装与配置**...

    ffmpeg 视频格式转换 透明水印 demo

    1. **FFmpeg视频格式转换**: - FFmpeg支持多种视频编码格式,如H.264、VP9、AV1等,以及容器格式如MP4、MKV、FLV等。 - 转换视频格式的基本命令结构是:`ffmpeg -i 输入文件 -c:v 输出编码器 -c:a 输出音频编码器...

    FFMPEG实现视频格式转换组件-源代码

    FFMPEG是一个强大的开源工具,用于处理音频和视频文件,包括转换、编码、解码、流处理等功能...通过深入理解和实践“FFMPEG实现视频格式转换组件”的源代码,开发者可以提升自己的技能,应对更多样化的多媒体处理挑战。

    FFmpeg视频格式转换.zip

    总的来说,iOS开发中的FFmpeg视频格式转换是一项复杂但关键的任务。通过合理封装FFmpeg库,可以简化这一过程,使开发者能够专注于应用的核心功能,而无需深入了解FFmpeg的底层细节。同时,提供的转换进度回调可以...

    ffmpeg视频格式转换命令

    ffmpeg视频格式转换命令

    C# Winfrom使用ffmpeg转换视频格式(新)

    在本文中,我们将深入探讨如何在C# Winform应用程序中使用FFmpeg库进行视频格式转换。FFmpeg是一个强大的跨平台的多媒体处理工具,它支持多种音频和视频编码、解码、转换以及流处理功能。在C#环境中,我们可以通过...

    mencoder视频格式转换+ffmpeg视频截图DEMO

    **ffmpeg** 是另一个功能更为全面的开源多媒体处理工具,不仅支持视频格式转换,还包括音频处理、视频截图、视频裁剪等多种功能。在本DEMO中,ffmpeg被用于视频截图,这是一个非常实用的功能,可以快速提取视频帧...

    java 视频格式转换-ffmpeg

    3. **ConvertVideo.java**:这个文件很可能是一个示例Java类,展示了如何使用FFmpeg进行视频格式转换。它可能包含创建FFmpegExecutor对象、设置输入和输出文件、以及执行转换操作的代码。 4. **ffmpeg.zip**:这个...

    C# Winfrom调用ffmpeg转换视频格式

    本篇文章将深入探讨如何在C# Winform环境下利用ffmpeg库进行视频格式转换,同时控制视频的压缩比率,并实现批量转换的功能。 首先,`C#`是微软公司推出的面向对象的编程语言,广泛应用于桌面应用开发,而`Winform`...

    使用FFmpeg将RGB格式图片或视频转换为YUV格式

    VC2008项目打包,使用FFmpeg版本为2.2.2 win32bit /* *将RGB转换为YUV420P * *码术 codemanship ...*是最简单的FFmpeg视频编码方面的教程。 *通过学习本例子可以了解FFmpeg的图片格式转换的过程。 */

    ffmpeg Java视频截图,音频、视频格式转换

    ffmpeg Java视频截图,音频、视频格式转换

    QT+FFmpeg实现音视频格式转换

    要实现"QT+FFmpeg实现音视频格式转换",我们需要以下步骤: 1. **集成FFmpeg到QT项目**:首先,你需要将FFmpeg库编译并链接到QT项目中。这通常涉及下载FFmpeg源代码,配置编译选项,然后将生成的静态或动态库文件...

    视频格式转换,flv转mp4,使用ffmpeg.exe转换

    在IT领域,视频格式转换是一项常见的任务,尤其在多媒体...总的来说,通过FFmpeg进行视频格式转换是一种高效且灵活的方法,适用于个人和企业的需求。熟练掌握FFmpeg的使用,可以极大地提升你在处理多媒体任务时的效率。

    .net core使用ffmpeg实现视频转换

    本项目采用.net core+.net standard搭建... 1、支持读取视频信息(格式、fps、width、height等) 2、支持转换为指定视频类型 3、支持webApi调用 4、支持任务调度(job),可设置指定时间运行 5、支持DI(Autofac)

    使用ffmpeg进行视频格式转换

    以下是一个简单的Java示例,展示了如何使用FFmpeg进行视频格式转换: ```java import org.bytedeco.javacpp.BytePointer; import org.bytedeco.ffmpeg.global.avcodec; import org.bytedeco.ffmpeg.global.avformat...

    C#使用ffmpeg转换格式,截图,旋转

    总的来说,结合C#的强大编程能力和FFmpeg的多媒体处理能力,我们可以轻松实现视频格式转换、截图和旋转等操作,为用户提供便捷的服务。在开发过程中,注意保持代码的清晰结构和良好的错误处理机制,以确保项目的稳定...

    音频格式转换的ffmpeg

    FFmpeg 是一个强大的开源工具,用于处理音频和视频文件,包括格式转换。在本文中,我们将深入探讨如何使用 FFmpeg 在 Java 环境中进行 AMR 转 MP3 的操作,以及如何在 Windows 和 Linux 系统上执行这个过程。 首先...

    linux上使用ffmpeg 实现视频截图

    FFmpeg是一款强大的开源工具,它提供了多种音视频处理功能,包括编码、解码、转换、流处理等。在这个场景下,我们主要关注如何通过Java程序与FFmpeg交互,实现在特定时间点获取视频的静态图像。 首先,我们需要在...

    用java程序调用ffmpeg执行视频文件格式转换flv

    总结来说,通过Java调用FFmpeg和Mencoder进行视频格式转换,需要理解这两个工具的命令行语法,以及如何在Java中执行外部进程。此过程涉及到文件类型的检查、预处理转换(如果必要)、最终的格式转换以及错误处理,...

Global site tag (gtag.js) - Google Analytics