.NET 使用 VLC 播放視頻


使用 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());

初始化的時候傳字符串的參數。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM