Java獲取視頻第一幀做縮略圖

Java使用FFmpeg獲取視頻的縮略圖


ffmpegPath爲FFmpeg.exe所在路徑
upFilePath爲視頻的所在路徑(本地路徑)
mediaPicPath爲縮略圖的存儲路徑(D:/test.jpg)

private void handler(String ffmpegPath, String upFilePath, String mediaPicPath) {
	List<String> cutpic = new ArrayList<String>();
	cutpic.add(ffmpegPath);
	cutpic.add("-i");
	cutpic.add(upFilePath); // 同上(指定的文件即可以是轉換爲flv格式之前的文件,也可以是轉換的flv文件)
	cutpic.add("-y");
	cutpic.add("-f");
	cutpic.add("image2");
	cutpic.add("-ss"); // 添加參數"-ss",該參數指定截取的起始時間
	cutpic.add("0"); // 添加起始時間爲第17秒
	cutpic.add("-t"); // 添加參數"-t",該參數指定持續時間
	cutpic.add("0.001"); // 添加持續時間爲1毫秒
	cutpic.add("-s"); // 添加參數"-s",該參數指定截取的圖片大小
	cutpic.add("500*400"); // 添加截取的圖片大小爲350*240
	cutpic.add(mediaPicPath); // 添加截取的圖片的保存路徑

	ProcessBuilder builder = new ProcessBuilder();
	try {

		builder.command(cutpic);
		builder.redirectErrorStream(true);
		// 如果此屬性爲 true,則任何由通過此對象的 start() 方法啓動的後續子進程生成的錯誤輸出都將與標準輸出合併,
		// 因此兩者均可使用 Process.getInputStream() 方法讀取。這使得關聯錯誤消息和相應的輸出變得更容易
		builder.start();
	} catch (Exception e) {
		System.out.println(e);
		e.printStackTrace();
	}
}

好啦,去看看你的縮略圖吧^_^


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章