ตัวอย่างของบทความนี้อธิบายวิธีการเรียก FFMPEG เพื่อใช้การแปลงวิดีโอ แบ่งปันสำหรับทุกคนสำหรับการอ้างอิงของคุณ การวิเคราะห์เฉพาะมีดังนี้:
ที่นี่ฉันได้รับการทดสอบภายใต้แพลตฟอร์ม Windows แก่นแท้ แก่นแท้
คุณต้องมี 4 ไฟล์ใน E:/ต่ำกว่า ffmpeg.exe;
ใส่ไฟล์วิดีโอต่าง ๆ ที่มีชื่อว่าภายใต้ E:/อินพุต;
รูปแบบ fempeg.exe: (ASX, ASF, MPG, WMV, 3GP, MP4, MOV, AVI, FLV ฯลฯ )
สำหรับรูปแบบไฟล์ (WMV9, RM, RMVB ฯลฯ ) ที่ ffmpeg.exe ไม่สามารถแยกวิเคราะห์ได้คุณสามารถใช้เครื่องมืออื่น ๆ (mencoder) เพื่อแปลงเป็นรูปแบบ AVI (การวิเคราะห์ FFMPEG);
mencoder.exe;
จากนั้นแปลงไฟล์การแปลง AVI ด้วย ffmpeg.exe เป็นไฟล์วิดีโอรูปแบบ FLV แก่นแท้ แก่นแท้
เนื้อหาของไฟล์ Java มีดังนี้:
นำเข้า java.io.file; นำเข้า Java.util.list; ) {system.out.println (path+"ไม่ใช่ไฟล์"); สถานะบูลีน = false; = null) ส่งคืนไฟล์เท็จ; . ") + 1, path.length ()). toLowercase (); // ffmpeg 能解析的格式: (asx, asf, mpg, wmv, 3gp, mp4, mov, avi, flv ฯลฯ ) .equals ("" avi ") {return 0;} อื่นถ้า (type.equals (" mpg ") {return 0;} อื่นถ้า (type.equals (" wmv ")) {) {return 0;} อื่น (type.equals ("3gp") {return 0;} อื่นถ้า (type.equals ("mov") {return 0;} อื่นถ้า (type.equals ("mp4") {return 0;} อื่น ๆ .equals ("ASF") {return 0;} อื่นถ้า (type.equals ("ASX") {return 0;} อื่นถ้า ("flv")) {return 0;} // รูปแบบไฟล์ที่ไม่สามารถแยกวิเคราะห์ได้ สำหรับ FFMPEG (WMV9, RM, RMVB, ฯลฯ ), // คุณสามารถใช้เครื่องมืออื่น ๆ (mencoder) ที่จะแปลงเป็นรูปแบบ AVI (FFMPEG สามารถแยกวิเคราะห์ได้) if (type.equals ("rm") {return 1;} else ถ้า (type.equals ("rmvb") {return 1;} return 9;} checkfile บูลีนส่วนตัว (พา ธ สตริง) {ไฟล์ไฟล์ = ไฟล์ใหม่ (ไฟล์ใหม่ (ไฟล์ใหม่ (ไฟล์ใหม่ เส้นทาง); ถ้า (! file.isfile ()) {return false;} return true;} (WMV9, RM, RMVB ฯลฯ ) คุณสามารถใช้เครื่องมืออื่น ๆ เพื่อแปลงเป็นรูปแบบ AVI (FFMPEG สามารถแยกวิเคราะห์ได้) . processavi สตริงส่วนตัว (ประเภท int) {รายการ <String> ความคิดเห็น = ใหม่ java.util.arrayList <strin <strin <strin g> (g> () ;; "" "// mencoder"); เพิ่ม (เส้นทาง); .Add ("-ovc"); "); permend.add (" -o "); permend.add (" c: //home/a.avi "); ลอง {processbuilder builder = processbuilder ใหม่ (); builder.command (ความคิดเห็น); builder.start start (); return "c: //home/a.avi"; , mov, avi, flv ฯลฯ ) processflv บูลีนแบบคงที่ส่วนตัว (สตริง oldfilepath) {ถ้า (! ch! eckfile (พา ธ ) {system.out.println (oldfilepath+"ไม่ใช่ไฟล์"); return;} รายการ <String <String > ความคิดเห็น = ใหม่ java.util.arraylist <); (-i "); ; 230 "); permend.add (" -r "); permend.add (" 24 "); commend.add (" -iy "); commend.add (" c: //home/a.flv "); ลอง {ProcessBuilder Builder = New ProcessBuilder ();หวังว่าบทความนี้จะเป็นประโยชน์กับการออกแบบโปรแกรม Java ของทุกคน