Java實現(xiàn)對視頻進行截圖的方法【附ffmpeg下載】
本文實例講述了Java實現(xiàn)對視頻進行截圖的方法。分享給大家供大家參考,具體如下:
之前介紹過Java使用ffmpeg進行視頻轉(zhuǎn)換,這里演示一下ffmpeg進行視頻截圖的方法。
具體代碼如下:
import java.io.File;
import java.util.List;
//生成視頻文件的首幀為圖片
//windows下的版本
public class CreatePh {
// public static final String FFMPEG_PATH = "E:/ffmpeg/ffmpeg.exe";
public static boolean processImg(String veido_path, String ffmpeg_path) {
File file = new File(veido_path);
if (!file.exists()) {
System.err.println("路徑[" + veido_path + "]對應(yīng)的視頻文件不存在!");
return false;
}
List<String> commands = new java.util.ArrayList<String>();
commands.add(ffmpeg_path);
commands.add("-i");
commands.add(veido_path);
commands.add("-y");
commands.add("-f");
commands.add("image2");
commands.add("-ss");
commands.add("8");// 這個參數(shù)是設(shè)置截取視頻多少秒時的畫面
// commands.add("-t");
// commands.add("0.001");
commands.add("-s");
commands.add("700x525");
commands.add(veido_path.substring(0, veido_path.lastIndexOf("."))
.replaceFirst("vedio", "file") + ".jpg");
try {
ProcessBuilder builder = new ProcessBuilder();
builder.command(commands);
builder.start();
System.out.println("截取成功");
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
public static void main(String[] args) {
processImg("C:/video1.avi", "C:/ffmpeg.exe");
}
}
運行后的截圖如下:

附:
ffmpeg.exe點擊此處本站下載。
測試用avi格式視頻點擊此處本站下載。
更多java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java圖片操作技巧匯總》、《java日期與時間操作技巧匯總》、《Java操作DOM節(jié)點技巧總結(jié)》、《Java文件與目錄操作技巧匯總》及《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》。
希望本文所述對大家java程序設(shè)計有所幫助。
相關(guān)文章
MybatisPlus使用idworker解決雪花算法重復(fù)
本文主要介紹了MybatisPlus使用idworker解決雪花算法重復(fù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-02-02
詳解spring cloud使用Hystrix實現(xiàn)單個方法的fallback
本篇文章主要介紹了詳解spring cloud-使用Hystrix實現(xiàn)單個方法的fallback,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-01-01
如何用Netty實現(xiàn)高效的HTTP服務(wù)器
這篇文章主要介紹了如何用Netty實現(xiàn)高效的HTTP服務(wù)器,對HTTP感興趣的同學可以參考一下2021-04-04
idea 普通文件夾 轉(zhuǎn)換成 module操作
這篇文章主要介紹了idea 普通文件夾 轉(zhuǎn)換成 module操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08

