.NET 使用 VLC 播放视频

使用 VLC 播放监控有几个月了,如今是多个项目中都有用到。在使用的过程当中也有一些细节供你们参考。框架

1、对 VLC 的了解

VLC 是一个开源的跨平台多媒体播放器及框架。编辑器

VLC 官方出的有播放器、编辑器等专业工具在视频领域使用。ide

VLC 是基于 ffmpeg 的。对于 ffmpeg 这个算是视频方面的最底层基础的了,不少主流的播放器等都是基于此。工具

更多的状况能够访问 官方网站字体

2、.NET 使用 VLC

在项目中右键-“管理 NuGet 程序包”,打开NuGet界面,查找 VLC 相关的包。从使用度、更新速度等,从中找出两个较好的(这里只是本身观点)。网站

一、Vlc.DotNetthis

这个包是我的开源在 GitHub 上面的,使用人数比较多,也一直在维护。spa

能够直接从 GitHub 上面下载源码,而且源码中还有不少例子,看例子挺容易上手。code

有一个问题是,由于须要 vlc 的dll文件包,这里须要在初始化的时候指定 libDirectory。orm

二、VideoLAN.LibVLC

这个是 VideoLAN 官方出的包,使用人数也较多。

其源码是在官方网站下的代码路径中:代码地址,也是开源,能够下载,也包含一些实例代码。

这个不须要初始化的时候指定 libDirectory。

 

这两个均可以在 WinForm 和 WPF 中使用。

这两个只有引用了 NuGet 包局可使用,运行程序的时候会本身下载所须要的 lib 文件。

3、全屏、不显示提示字体

一、全屏

这里的全屏的话只能在初始化的时候设置好,在窗体变化了后就不能再全屏。

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;

二、不显示提示字体

这个提示是:例如在截屏的时候显示截屏文件名

如今只找到在 VideoLAN.LibVLC 中的方法:

List<string> paramsStr = new List<string> { "--no-osd", "--no-snapshot-preview" };
_libVLC = new LibVLC(paramsStr.ToArray());

初始化的时候传字符串的参数。