可以透過 Accord.Video.FFMPEG 此一函式庫來協助處理影像(檔案)相關處理,但是首先需要透過 NuGet 套件管理員進行安裝,步驟如下:
工具 > NeGet 套件管理員 > 套件管理器主控台
在 Console 中輸入以下指令,即可安裝完成。
1 |
Install-Package Accord.Video.FFMPEG
|
若已知道要取得的Frame是第幾個,則可以透過下述 getFrame函數取得該Frame( Bitmap )
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
private Bitmap getFrame(string src_path, int idx) { int frameCount = 0; Accord.Video.FFMPEG.VideoFileReader videoFileReader = new Accord.Video.FFMPEG.VideoFileReader(); videoFileReader.Open(src_path); frameCount = (int)videoFileReader.FrameCount; Debug.WriteLine("Frame Count : " + videoFileReader.FrameCount); Debug.WriteLine("Frame Rate : " + videoFileReader.FrameRate); Debug.WriteLine("Width " + videoFileReader.Width + " ,Height " + videoFileReader.Height); if (idx == -1) idx = (int)(frameCount * 0.4); // defalut use index Bitmap bitmap = videoFileReader.ReadVideoFrame(idx); return bitmap; } |
第 9 - 11 行 : 展示可以透過 FrameCount、FrameRate、Widthidth 和 Height 等屬性或方法取得影片的相關資訊
第 13 行 : 是單純不知道範圍時,可以直接取得某個比例的影像之處理方
第 15 行 : ReadVideoFrame(int) 才是正式將該所引的Frame讀取出來
專案程式碼( 連結 )
文章標籤
全站熱搜
留言列表