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

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

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

.NET 使用 VLC 播放视频的更多相关文章

  1. (转)VLC播放RTP打包发送的.264文件

    VLC播放RTP打包发送的.264文件 1,要有一个发送RTP包的264文件的服务器; 具体代码如下: rtp.h #include <WinSock2.h> #pragma commen ...

  2. 使用vlc播放器播放rtsp流视频

    可参考: 使用vlc播放器做rtsp服务器 web网页中使用vlc插件播放相机rtsp流视频 使用vlc进行二次开发做自己的播放器 首先需要安装vlc播放器,下载及安装步骤略 使用vlc播放器播放rt ...

  3. WPF VlC 实现视频的播放(1)

    WPF 使用VLC实现视频的播放:网上开源代码我复制了一份:  https://github.com/someonehan/Vlc.DotNet 1. 准备阶段 (I)  libvlc.dll 和 l ...

  4. 用vlc SDK创建一个播放视频文件和RTSP流视频的Demo

    #include <stdio.h> #include <tchar.h> #include <time.h> #include <windows.h> ...

  5. VLC播放RTSP视频延迟问题 (转)

    原帖地址:http://blog.chinaunix.net/uid-26611383-id-3755283.html ======================================== ...

  6. VLC播放RTSP视频延迟问题

    VLC播放RTSP视频延迟问题 配置 VLC 以播放 RTSP/RTP 流 实测发现RTP都不如TCP快? vlc播放rtp封装的h.264延时很大是什么原因? 开启打印: VLC的工具->消息 ...

  7. 嵌入式 vlc从接收到数据流到播放视频的过程分析(经典)

    个人整理: Vlc流播放流程 vlc源码目录树: 目录名称 说明 bindings Java, CIL 和Python绑定 doc 帮助文档 (不是更新的) extras 另叙. include VL ...

  8. 使用vlc播放器做rtsp流媒体服务器

    可参考: 使用vlc播放器播放rtsp视频 web网页中使用vlc插件播放相机rtsp流视频 使用vlc进行二次开发做自己的播放器 首先需要安装vlc播放器,下载及安装步骤略 使用vlc播放器做rts ...

  9. WPF播放视频

    在现在的项目中需要使用到播放视频的功能,本来打算使用VLC来做的.后来发现WPF 4.0之后新增了MediaElement类,可以实现视频播放. <Grid> <Grid.RowDe ...

随机推荐

  1. Python监听键盘和鼠标事件

    我们可以利用windows提供的api函数来实现对系统键盘事件和鼠标事件的监听,主要利用的是SetWindowsHookEx函数,这个函数可以允许调用者传入一个钩子函数也叫回调函数,当指定的事件发生时 ...

  2. django缓存相关

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/weixin_39726347/articl ...

  3. 【记录】【java】反射设值取值

    1.设值 /** * 根据属性名设置属性值 * * @param fieldName * @param object * @return */ public boolean setFieldValue ...

  4. jquery关于on click事件的理解

    jquery关于on click事件的理解 <pre><a style="min-width:60px; margin-left:6px;" wenzhangid ...

  5. mybatis-3.5.2增删查改

    这玩意没啥技术含量,只不过长时间不用,就显得生疏了.正好今天想读取一个文件写入数据库,平时都是集成环境,都碰不到这些基础东西,看来还是需要时常给自己找活干. 首先建立一个maven工程. next n ...

  6. Python之路【第二十篇】:python项目之旧版抽屉新热榜

    旧版抽屉新热榜 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...

  7. C程序编译和执行

    编译 & 执行 C 程序 首先准备一个源码文件 hello.c 键入如下代码: #include <stdio.h> int main() { /* 我的第一个 C 程序 */ p ...

  8. @FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本

    今天遇到了很奇葩的问题,我本机的是以test环境启动的,调用另一个服务接口的时候返回参数却不同,调用接口是没错,怎么会这样,排查了很久,发现在eureka上注册的另一个服务是testone环境,而这个 ...

  9. 【EBS】XLA_GLT表的清理

    一.Xla_glt*在出现在日记账导入中的阶段 与R11使用gl_interface表不同,R12中大部分情况下使用的是XLA_GLT_<groupId>表:子帐传送到总账的过程中,会动态 ...

  10. yii框架中的下拉菜单和单选框

    yii中的下拉菜单: 第一种: <?= $form->field($model, 'parent_id')->dropDownList(ArrayHelper::map($data, ...