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會輸出影片的詳細資訊


沒有留言:
張貼留言