WPF 視頻硬解碼渲染播放(無空域問題)(支持4K、8K、高幀率、各類協(xié)議RTSP、RTMP、FLV等)
MediaWPF(DirectX、OpenGL、Skia)
視頻播放控件并支持rtsp、rtmp等各類網(wǎng)絡(luò)協(xié)議視頻流
支持多種渲染模式并不存在空域(airspace)問題
實現(xiàn)原理:
LibVLCSharp 解碼獲取視頻(8bit、10bit)幀數(shù)據(jù)
在DirectX、OpenGL模式中程序根據(jù)視頻色彩空間自動選擇8bit或10bit處理。
8bit:I420 支持DirectX、OpenGL、Skia
10bit:I0AL 支持DirectX、OpenGL
Skia沒有使用硬件加速,所以在效率上低于前兩個圖形庫接口。
4K 60幀
設(shè)備:NVIDIA GeForce RTX 3050 Laptop GPU
OpenGL:

DirectX:

Skia:(這種cpu渲染圖一樂)

說說結(jié)論:
OpenGL: 考慮到兼容性和跨平臺,TA無疑是最好的選擇。
DirectX:大微軟提出的圖形API性能指定沒得挑,渲染上原生支持了YUV格式不需要像OpenGL一樣在Shader中轉(zhuǎn)換。(性能最佳)
Skia:本身這哥們是支持使用OpenGL進行硬件加速的,但無奈技術(shù)功底有限自己沒能實現(xiàn)。
未來如果Maui的Skia庫要是支持硬件加速的話,那個人認為,Skia在Maui框架中做視頻播放那指定是????。
Github地址:https://github.com/qian-o/MediaWPF

浙公網(wǎng)安備 33010602011771號