使用 VLC 播放監控有幾個月了,現在是多個項目中都有用到。在使用的過程中也有一些細節供大家參考。
一、對 VLC 的了解
VLC 是一個開源的跨平台多媒體播放器及框架。
VLC 官方出的有播放器、編輯器等專業工具在視頻領域使用。
VLC 是基於 ffmpeg 的。對於 ffmpeg 這個算是視頻方面的最底層基礎的了,很多主流的播放器等都是基於此。
更多的情況可以訪問 官方網站。
二、.NET 使用 VLC
在項目中右鍵-“管理 NuGet 程序包”,打開NuGet界面,查找 VLC 相關的包。從使用度、更新速度等,從中找出兩個較好的(這里只是自己觀點)。
1、Vlc.DotNet
這個包是個人開源在 GitHub 上面的,使用人數比較多,也一直在維護。
可以直接從 GitHub 上面下載源碼,並且源碼中還有很多例子,看例子挺容易上手。
有一個問題是,因為需要 vlc 的dll文件包,這里需要在初始化的時候指定 libDirectory。
2、VideoLAN.LibVLC
這個是 VideoLAN 官方出的包,使用人數也較多。
其源碼是在官方網站下的代碼路徑中:代碼地址,也是開源,可以下載,也包含一些實例代碼。
這個不需要初始化的時候指定 libDirectory。
這兩個都可以在 WinForm 和 WPF 中使用。
這兩個只有引用了 NuGet 包局可以使用,運行程序的時候會自己下載所需要的 lib 文件。
三、全屏、不顯示提示字體
1、全屏
這里的全屏的話只能在初始化的時候設置好,在窗體變化了后就不能再全屏。
VideoLAN.LibVLC 中:
_mediaPlayer = new MediaPlayer(_libVLC) { Fullscreen = true, AspectRatio = this.Width + ":"+ (this.Height -30) };
Vlc.DotNet 中:
string ratio = border.ActualWidth + ":" + border.ActualHeight; vlcControl.Video.FullScreen = true; vlcControl.Video.AspectRatio = ratio;
2、不顯示提示字體
這個提示是:例如在截屏的時候顯示截屏文件名
現在只找到在 VideoLAN.LibVLC 中的方法:
List<string> paramsStr = new List<string> { "--no-osd", "--no-snapshot-preview" }; _libVLC = new LibVLC(paramsStr.ToArray());
初始化的時候傳字符串的參數。