DirectShow.NET (Interop.DexterLib) 實現視頻縮略圖擷取
核心組件
Interop.DexterLib.dll:封裝 DirectShow COM 介面,免註冊、直接加入參考即可使用,支援 WinForm 與 ASP.NET。
封裝類別功能
- 輸入:視頻檔案路徑、擷取時間點(秒)。
- 輸出:
Bitmap 物件或儲存為圖片檔(JPG/PNG)。
- 內部使用
DexterLib.MediaDet 類別:CurrentFrame、WriteBitmapBits。
效果展示
WinForm 版:
ASP.NET 版:
應用場景
- 視頻上傳網站:自動生成封面縮略圖。
- 影音管理系統:時間軸預覽圖。
- 轉碼前預覽關鍵幀。
注意事項
- 伺服器需安裝相應 DirectShow 解碼器(如 ffdshow、LAV Filters)。
- ASP.NET 執行身分需有檔案讀取權限與桌面互動權限(舊版 IIS 需勾選「允許服務與桌面互動」)。
- 大量併發擷取建議佇列處理,避免 DirectShow 併發限制。
原文附完整原始碼下載,可直接整合專案。