MediaWPF(DirectX、OpenGL、Skia)

视频播放控件并支持rtsp、rtmp等各类网络协议视频流

支持多种渲染模式并不存在空域(airspace)问题

实现原理:

LibVLCSharp 解码获取视频(8bit、10bit)帧数据

在DirectX、OpenGL模式中程序根据视频色彩空间自动选择8bit或10bit处理。

8bit:I420 支持DirectX、OpenGL、Skia

10bit:I0AL 支持DirectX、OpenGL

Skia没有使用硬件加速,所以在效率上低于前两个图形库接口。

4K 60帧

设备:NVIDIA GeForce RTX 3050 Laptop GPU

OpenGL:


DirectX:


Skia:(这种cpu渲染图一乐)

说说结论:

OpenGL: 考虑到兼容性和跨平台,TA无疑是最好的选择。

DirectX:大微软提出的图形API性能指定没得挑,渲染上原生支持了YUV格式不需要像OpenGL一样在Shader中转换。(性能最佳)

Skia:本身这哥们是支持使用OpenGL进行硬件加速的,但无奈技术功底有限自己没能实现。

未来如果Maui的Skia库要是支持硬件加速的话,那个人认为,Skia在Maui框架中做视频播放那指定是🐂🖊。

Github地址:https://github.com/qian-o/MediaWPF

posted on 2022-06-28 14:33  o王先生o  阅读(2335)  评论(16编辑  收藏  举报