WPF 使用VLC播放rtsp网络视频流
最近公司需要对接大华视频的webapi,获取的实时视频是rtsp流的,最后经过不断尝试和查询博客最终还是发现使用VLC进行播放比较好
一、nuget引用VLC资源包
打开项目的nuget进行对于VLC的引用,成功后显示的是这四个包
二、设计视频显示界面
整体主要显示的是 视频,然后最下方鼠标移入视频后会显示一些操作按钮和进度条,最终样式如下图所示:
按钮使用的是icon,进度条使用的是Slider,都是使用的一个开源框架HandyControl 里边的样式,nuget里边就可以直接饮用,文档:https://gitee.com/handyorg/HandyControl 还有https://handyorg.gitee.io/handycontrol/
三、使用VLC自带控件播放rtsp视频流
1、下载VLC播放器并提取其文件
在使用VLC之前 我们需要安装一下VLC media player 下载地址:https://vlc-media-player.en.softonic.com/
下载安装后我们打开安装路径,提取其路径中的plugins文件夹和libvlc.dll、libvlccore.dll,并将这三个放入至我们项目的debug中同一个文件夹内,取名文件夹为 LibVlc(文件夹名字可以随意,但是代码中要替换掉)
2、在程序中加载资源,并且使用VLC视频播放控件
(1)、前台直接使用的方式:
引入VLC的命名空间
xmlns:wpf="clr-namespace:Vlc.DotNet.Wpf;assembly=Vlc.DotNet.Wpf"
设计中使用
<ContentControl x:Name="contentCtrl" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"><wpf:VlcControl/></ContentControl>
(2)、后台代码中使用
VlcControl vlcVideo = null;private void InitVLC(){if (this.vlcVideo?.SourceProvider?.MediaPlayer != null){this.vlcVideo.SourceProvider.MediaPlayer.PositionChanged -= MediaPlayer_PositionChanged;this.vlcVideo.SourceProvider.MediaPlayer.LengthChanged -= MediaPlayer_LengthChanged;}this.vlcVideo = new VlcControl();this.contentCtrl.Content = this.vlcVideo;var libDirectory = new DirectoryInfo(System.IO.Directory.GetCurrentDirectory() + "\\LibVlc");this.vlcVideo.SourceProvider.CreatePlayer(libDirectory);//创建视频播放器this.vlcVideo.SourceProvider.MediaPlayer.PositionChanged += MediaPlayer_PositionChanged;//视频的定位移动事件this.vlcVideo.SourceProvider.MediaPlayer.LengthChanged += MediaPlayer_LengthChanged;//播放视频源的视频长度}
(3)、注意事项
两种方法都需要给VLCVideo加载资源文件夹,也就是咱们 三.1 中的那个文件夹,代码就是:
var libDirectory = new DirectoryInfo(System.IO.Directory.GetCurrentDirectory() + "\\LibVlc");this.vlcVideo.SourceProvider.CreatePlayer(libDirectory);//创建视频播放器
播放:
string videourl=urlobj["uri"];
this.vlcVideo.SourceProvider.MediaPlayer.Play(new Uri(videourl));
暂停:
vlcVideo.SourceProvider.MediaPlayer.Pause();
四、源代码地址
https://tburl.in/TRt4PYfR
如果帮助了你请点个赞
WPF 使用VLC播放rtsp网络视频流相关推荐
- 8K播放网络全终端播放器H5播放器网页直播/点播播放器EasyPlayer和vlc播放RTSP流地址不兼容问题排查解决
背景介绍 EasyPlayer实现了对遵循标准流媒体码流协议进行实时播放以及码流录制,在流的播放速度以及画质的解码显示上均做了大量深度的优化.支持Windows(支持多窗口.包含ActiveX,npA ...
- PHP如何调取vlc播放rtsp,H5+VLC播放RTSP视频流
最新项目涉及到摄像头,这篇文章记录一下在VUE中播放RTSP视频流. 这篇文章主要介绍使用VLC插件播放RTSP视频流,目前支持的浏览器有 360浏览器.2345浏览器,可用于一些对播放器要求不高的项 ...
- android vlc 画面不动,vlc播放rtsp over tcp画面突然卡住问题
继完成rtmp服务器开发后,最近也写完了rtsp服务器,可以将国标ps流以及其他格式协议码流转rtsp协议输出.中间开发过程用了许多播放器测试,最常用的就是vlc.使用vlc测试过程,遇到了许多问题. ...
- Wpf开发VLC播放器(万能播放器)
一.在VLC官网下载最新的VLC播放器,然后安装,安装后在安装文件目录中分别把文件VideoLAN\VLC\和VideoLAN\VLC\plugins\拷贝到项目中. \VLC文件夹中包括\plugi ...
- pyqt+vlc 播放rtsp/rtmp地址并嵌入任意frame中
先上效果图: 代码: import os, platform# 设置VLC库路径,需在import vlc之前 os.environ['PYTHON_VLC_MODULE_PATH'] = " ...
- vlc播放海康威视摄像头rtsp rtmp视频教程
前言 目前做的项目,需要局域网下海康摄像头web端网页上实时播放视频数据.本次项目使用的是海康威视的摄像头进行实时监控. 目的:使用vlc播放rtsp及rtmp视频流. 软件版本:vlc3.0.11版 ...
- android vlc rtsp卡顿,VLC播放器 RTSP 卡顿解决
之前写过一篇关于在Linux平台上编译android平台上VLC播放器源代码的文章,vlc这款播放器非常优秀而且是开源的,它的核心是开源视频编解码库ffmpeg.而且这款播放器还支持RTSP协议,这个 ...
- Android Vlc播放器加载rtsp及http地址视频
该文章借鉴于:记性差的程序猿发布的<Android使用VLC播放视频和直播流> CSDN地址:Android使用VLC播放视频和直播流_记性差的程序猿的博客-CSDN博客_android ...
- vlc播放网络流延时参数设置
vlc-android播放网络视频流时网络延时参数设置: options.add(":file-caching=1500"); options.add(":network ...
最新文章
- 用 .NET Memory Profiler 跟踪.net 应用内存使用情况--基本应用篇(转载)
- 使用VS2010编译MongoDB C++驱动详解
- hive 前7天标准差_为啥科目三考试前只让练7天?教练实话实说:这是为你们好...
- 简单实用读取字符串信息的c++类
- beam search(束搜索)与 vliterbi(维特比算法);语音识别算法vad、asr、tts
- 怎么进入华为路由器终端管理系统
- 3D刷脸支付推动新零售行业发展
- 蕴含深刻道理的经典语录
- c语言程序设计选修让我学到的东西,电子课程设计心得体会
- Fuchsia Friday:一切皆实体
- 发布功能完成02《ivx低代码签到系统制作》
- MySQL优化之——函数
- 干货分享|数据可视化报表制作技巧
- js+css+html 抽奖页面
- Android 9.0以上联网报错:CLEARTEXT communication to xxx.xxx.xxx.xx not permitted by network security policy
- Hutool操作和监听文件
- 常用的一些子域名,旁站查询
- STM32-24位AD7799驱动之手册代码详解,支持模拟SPI和硬件SPI
- frontpage动态html效果,FrontPage基础教程特效按钮的制作
- 10.20-smbus
热门文章
- sklearn中的metrics.roc_auc_score评价指标
- 在网上看看非诚勿扰,要不要报名
- 由浅入深玩转华为WLAN—-4 DHCP Option 43配置方法
- html 图片比例 js,js自动等比例设置图片尺寸大小
- Python连接MySQL数据库部分问题阐述Connection to @localhost failed. [08001] Could not create connection to databa
- ChatGPT实现旅行安排
- C++:求1000以内能被2,7,11同时整除的所有整数
- nvm切换node nvm use 17.2.0 exit status 5: �ܾ����ʡ� exit status 1: ���ļ��Ѵ���ʱ�����������ļ���
- fish shell使用及安装入门指南
- 安卓 GPS定位程序APP 闪退问题