一、官网: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 在视频格式转换中的应用以及如何实现这些功能。 1. **FFmpeg 的安装与配置**...
1. **FFmpeg视频格式转换**: - FFmpeg支持多种视频编码格式,如H.264、VP9、AV1等,以及容器格式如MP4、MKV、FLV等。 - 转换视频格式的基本命令结构是:`ffmpeg -i 输入文件 -c:v 输出编码器 -c:a 输出音频编码器...
FFMPEG是一个强大的开源工具,用于处理音频和视频文件,包括转换、编码、解码、流处理等功能...通过深入理解和实践“FFMPEG实现视频格式转换组件”的源代码,开发者可以提升自己的技能,应对更多样化的多媒体处理挑战。
总的来说,iOS开发中的FFmpeg视频格式转换是一项复杂但关键的任务。通过合理封装FFmpeg库,可以简化这一过程,使开发者能够专注于应用的核心功能,而无需深入了解FFmpeg的底层细节。同时,提供的转换进度回调可以...
ffmpeg视频格式转换命令
在本文中,我们将深入探讨如何在C# Winform应用程序中使用FFmpeg库进行视频格式转换。FFmpeg是一个强大的跨平台的多媒体处理工具,它支持多种音频和视频编码、解码、转换以及流处理功能。在C#环境中,我们可以通过...
**ffmpeg** 是另一个功能更为全面的开源多媒体处理工具,不仅支持视频格式转换,还包括音频处理、视频截图、视频裁剪等多种功能。在本DEMO中,ffmpeg被用于视频截图,这是一个非常实用的功能,可以快速提取视频帧...
3. **ConvertVideo.java**:这个文件很可能是一个示例Java类,展示了如何使用FFmpeg进行视频格式转换。它可能包含创建FFmpegExecutor对象、设置输入和输出文件、以及执行转换操作的代码。 4. **ffmpeg.zip**:这个...
本篇文章将深入探讨如何在C# Winform环境下利用ffmpeg库进行视频格式转换,同时控制视频的压缩比率,并实现批量转换的功能。 首先,`C#`是微软公司推出的面向对象的编程语言,广泛应用于桌面应用开发,而`Winform`...
VC2008项目打包,使用FFmpeg版本为2.2.2 win32bit /* *将RGB转换为YUV420P * *码术 codemanship ...*是最简单的FFmpeg视频编码方面的教程。 *通过学习本例子可以了解FFmpeg的图片格式转换的过程。 */
ffmpeg Java视频截图,音频、视频格式转换
要实现"QT+FFmpeg实现音视频格式转换",我们需要以下步骤: 1. **集成FFmpeg到QT项目**:首先,你需要将FFmpeg库编译并链接到QT项目中。这通常涉及下载FFmpeg源代码,配置编译选项,然后将生成的静态或动态库文件...
在IT领域,视频格式转换是一项常见的任务,尤其在多媒体...总的来说,通过FFmpeg进行视频格式转换是一种高效且灵活的方法,适用于个人和企业的需求。熟练掌握FFmpeg的使用,可以极大地提升你在处理多媒体任务时的效率。
本项目采用.net core+.net standard搭建... 1、支持读取视频信息(格式、fps、width、height等) 2、支持转换为指定视频类型 3、支持webApi调用 4、支持任务调度(job),可设置指定时间运行 5、支持DI(Autofac)
以下是一个简单的Java示例,展示了如何使用FFmpeg进行视频格式转换: ```java import org.bytedeco.javacpp.BytePointer; import org.bytedeco.ffmpeg.global.avcodec; import org.bytedeco.ffmpeg.global.avformat...
总的来说,结合C#的强大编程能力和FFmpeg的多媒体处理能力,我们可以轻松实现视频格式转换、截图和旋转等操作,为用户提供便捷的服务。在开发过程中,注意保持代码的清晰结构和良好的错误处理机制,以确保项目的稳定...
FFmpeg 是一个强大的开源工具,用于处理音频和视频文件,包括格式转换。在本文中,我们将深入探讨如何使用 FFmpeg 在 Java 环境中进行 AMR 转 MP3 的操作,以及如何在 Windows 和 Linux 系统上执行这个过程。 首先...
FFmpeg是一款强大的开源工具,它提供了多种音视频处理功能,包括编码、解码、转换、流处理等。在这个场景下,我们主要关注如何通过Java程序与FFmpeg交互,实现在特定时间点获取视频的静态图像。 首先,我们需要在...
总结来说,通过Java调用FFmpeg和Mencoder进行视频格式转换,需要理解这两个工具的命令行语法,以及如何在Java中执行外部进程。此过程涉及到文件类型的检查、预处理转换(如果必要)、最终的格式转换以及错误处理,...