warning couldn't read movie file
後來我稍微改了一下就正常了,不過它用的是比較舊版本的JavaCV,所以import 的
package name會不一樣,先說明一下,這個範例不會有聲音 ,下一篇才會寫聲音的部
分,請見諒。
專案內容
程式碼
package javacvplayvideo; import java.io.File; import org.bytedeco.javacpp.opencv_core.IplImage; import org.bytedeco.javacv.CanvasFrame; import org.bytedeco.javacv.FFmpegFrameGrabber; public class JavaCVPlayVideo { public static void main(String[] args) { //new一個File,路徑為要撥放的檔案 File f=new File("/Users/flowercatswets/Desktop/demo.mp4"); //建立一個CanvasFrame ,用來撥放影片 CanvasFrame canvas=new CanvasFrame("北七部落格 - JavaCV Play Video Demo"); //設定關閉CanvasFrame時一併結束程式 canvas.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE); //宣告一個FrameGrabber用來取得影片Frame FFmpegFrameGrabber frameGrabber = new FFmpegFrameGrabber(f.getAbsolutePath()); try { //開始取得影片Frame frameGrabber.start(); //宣告一個IplImage用來裝取出的Frame IplImage img; //把Frame取出放進img(先取一張做畫面大小的設定) img=frameGrabber.grab(); //設定畫面大小 canvas.setCanvasSize(img.width(), img.height()); while (true) { //把Frame取出放進img img=frameGrabber.grab(); if (img!=null) { //顯示取出來的畫面 canvas.showImage(img); } } } catch(Exception e) { e.printStackTrace(); } } }
執行畫面
啟動撥放時,Console會輸出影片的詳細資訊
沒有留言:
張貼留言