WPF 媒体播放器推荐

  1. WPF自带的媒体播放器

纯WPF支持,支持格式有限,功能有限

     2、开源库LibVLCSharp.WPF

LibVLC库是一个全平台播放组件,功能强大,并支持视频摄像头,对WPF的支持只是简单的host封装,并未对应的开发纯WPF控件,在WPF中使用并不方便。

项目源码:VideoLAN / LibVLCSharp · GitLab

3、开源库 WPF-MediaKit

.NetFromework: Sascha-L/WPF-MediaKit (github.com)

可以将项目升级到.Net8,网上也有对应的带Core的升级开源项目,自己也可以对代码进行修改,去除对System.Windows.Form的依赖。

这个库含两个纯WPF控件,一个是媒体播放控件,其支持各种视频/音频格式,缺点是不支持音轨选择(或者是我没找到),速度快,运行稳定,依赖Dll少(库本身只需要DirectShowLib-2005.dll文件,如果需要EVR解码,无需引用,只在输出目录放置EVRPresenter64.dll即可),方便部署;另一个是视频摄像头控件,速度快,支持截屏,但不支持视频录制。

4、开源库Flyleaf

项目地址 SuRGeoNix/Flyleaf: Media Player .NET Library for WinUI 3/ WPF/WinForms (based on FFmpeg/DirectX) (github.com)

编写了若干WPF控件,但播放器本身使用的仍旧是Host方式,功能强大,支持各种视频/音频格式/支持音轨/支持字幕/支持摄像头,如果编译其中的一个例子FlyleafPlayer (WPF Control) (WPF),甚至可以得到一个完整的播放器,界面如下:

测试时PotPlayer有时卡顿,视频音频不同步,而这个库则表现的异常稳定,感觉是一个万能播放器。

个人感觉这个播放器非常强大,由于原库没有收藏列表,我做了一下扩展,用于自用:

5、MediaFoundationNet

开源项目:github.comicon-default.png?t=N7T8https://github.com/visioforge/MediaFoundationNet

WPF Telerik的WebCam控件基于此项目开发的,MediaFoundationNet库100% C#实现,主要用于控制摄像头,可截屏,可录音(带语音功能)。

最近测试了几款播放器的性能:Windows自带原始播放器/Windows 新款 WinUI播放器/VLC播放器/上面自编译的FlyleafPlayer/PotPlayer播放器,在Windows11下播放同一首视频,调整到相同大小的窗口,它们都开了硬件加速,运行时cpu占用几乎为0,但GPU占用却差别很大,表现最好的是Windows自带原始播放器(GPU0为8%,GPU1为0),其中GPU0为Intel集成显卡,GPU1为RTX 4050独立显卡,其次是VLC播放器(GPU0为11%,GPU1为0),个人怀疑界面是用C/C++编写的,FlyleafPlayer(GPU0为0%,GPU1为21%),其界面是使用的WPF,考虑到会占用部分GPU资源,PotPlayer(GPU0为27%,GPU1为0%),表现最差的是微软为Win11新设计的WinUI 播放器(GPU0为11%,GPU1为37%),此播放器同时占用两个GPU资源,当最小化到任务栏后,上述几款播放器占用的资源百分几直接降低到个位数,优化还都注意到这点了,如果要说还有更差的,就是测试了一下商店下载的腾讯播放器(GPU0为25%,GPU1为38%),当最小化窗口时,资源几乎没有释放,还是那么高。

    综合来说,VLC播放器最好,只是目前版本界面太传统,换肤后,在4K分辨率下窗口变成了小不点;同时,通过创建WPF项目直接引用LibVLCSharp.Wpf包,同样的测试,资源消耗为r(GPU0为0%,GPU1为23%),性能几乎与FlyleafPlayer的WPF版本相同,也就体现不出Vlc的优点了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值