首页 > 其他分享 >10.13日记

10.13日记

时间:2023-10-13 19:34:24浏览次数:32  
标签:播放器 OpenGL 支持 MPV Window 10.13 NativeControlHost 日记

基于AvaloniUI创建MediaPlayer, 根据系统平台集成相应的媒体播放器

此方案是考虑不同系统使用不同的媒体播放器,包括第三方的播放器, 如 AndroidExoPlayer或者IjkPlayer等。。

个人认为可以考虑下面的方案,有兴趣的小伙伴可以一起交流下, 即:

  • Window -> NativeControlHost+Overlap Window
  • Linux -> MPV with OpenGL
  • Android -> MPV with OpenGL or ExoPlayer or IjkPlayer
  • MacOS -> 目前未测试不了解, 理论上支持MPV
  • IOS -> 目前未测试不了解, 理论上支持MPV

注: 此种方案可以实现不同的系统上采用最适合的播放器,并且定制性很高,但是也是最复杂的方式,需要考虑以下几点:

  • 不同系统平台的编解码器不尽相同 (不同播放源统一, 需要考虑备用播放方式)
  • 相同系统平台在某些设备上不支持某些播放器特性(如硬件加速等。。) 需要为播放器支持降级
  • 嵌入第三方播放器或者NativeControlHost, 在上层的控件无法使用原生AvaloniaUI控件的情况
  • 不同系统平台之间可能并不一定需要采用 Overlap Window方案

3. MPV 播放器

MPV是一个基于MIT协议的免费,开源,跨平台的媒体播放器,并支持GPU视频编解码,高质量的视频输出,支持基于OpenGL,Valkan,D3D11的视频输出等。。

使用基于.Net包装的Mpv播放器库,并支持运行Window, Linux, Android, MacOS(未测试,理论支持), Ios(未测试,理论支持), 原生支持在播放器之上叠加控件(基于喂ImageSource方式)

在这里测试了 LibMpv播放库, 在Sample中,已经加入了Avalonia的例子。并支持OpenGL,NativeControlHost,Software三种方式渲染,用于兼容不同系统平台. 基于应用上的考虑,我个人觉得在MPV之上再进行封装,当程序跑在Window基于NativeControlHost来实现更好的效果。

注: Ubuntu下测试需要安装 sudo apt install libmpv-dev libmpv2.

标签:播放器,OpenGL,支持,MPV,Window,10.13,NativeControlHost,日记
From: https://www.cnblogs.com/zhangmingmkzj/p/17762971.html

相关文章

  • 2023.10.13 JavaScript DOM
    文档对象模型获取对象1.根据id属性值获取,返回单个对象varh1=document.getElementById('h1');2.根据标签名获取,返回对象数组vardivs=document.getElementByTagName('div');3.根据name属性值获取,返回对象数组varhobbys=document.getElementByName('hobby');4.根......
  • 10.13日
    一、昨天的竞赛,补题总结,并完成了个人题解  https://blog.csdn.net/weixin_73550568/article/details/133805307?spm=1001.2014.3001.5502二、完成了数据结构作业,还有一篇代码大全读后感。三、跑步四、复习线段树还有搜素。五、如果有时间再复习一下前端vue......
  • 10.13
    今天脑子不太好,线上交了freopen算了,既然都要CSP-S了,就对自己严一点虽然本地应该也有188最高分315=100+100+100+15应得分数188=100+48+25+15实得分数88=0+48+25+158.39切T110.00打完T3暴力10.25打完T4暴力11.15调完T2暴力......
  • 【2023.10.13】宇星模王街景16043艺术馆
    前言右边那个,人仔不是艺术馆的本人是自费购买积木,购买原因是给妹妹培养动手能力,减少短视频占用时间,其次是给家里做摆饰,所以选择积木多考虑了美观非专业评测,如果想看更多积木评测请点进我的博客主页分类查看正文这个艺术馆大概是九月完成的吧,一直忘记发评测了虽然说不是第一......
  • 每日总结10.13
    今天完成了大数据的课堂测试,在完成过程中遇到了一些问题,由于之前的学习过程中更改了一些虚拟机中的权限,导致Hive不能正常使用,在解决这个问题时花费了一些时间,然后还解决了之前一直困扰我的问题就是sqoop不能正常使用导出文件,今天在同学的帮助下解决了这个问题。  ......
  • 今日总结10.13
    3、数据可视化: 将统计结果倒入MySql数据库中,通过图形化展示的方式展现出来。   ......
  • 计算机视觉与模式识别学术速递[10.13]
    一、检测相关(6篇)1.1UniPose:DetectingAnyKeypointshttps://arxiv.org/abs/2310.08530这项工作提出了一个统一的框架,称为UniPose,以检测任何关节的关键点(例如,人和动物)、刚性和柔软对象,以进行细粒度视觉理解和操纵。关键点是任何对象(尤其是铰接对象)的结构感知、像素级和紧凑表示......
  • 2023.10.13测试
    \[\text{NOIP模拟赛-2023.10.13}\](牛客场)T1矩阵交换一个\(n\timesm\)的矩阵\(A\),\(A_{i,j}\in\{1,2,3\}\)。每次可以任意交换两行,问能否使每列单调不降\(T,n\leq100\)签到题,写了\(1.5\rmh\),纯唐code#include<bits/stdc++.h>#definepiipair<int,int>usingname......
  • 2023年石门中学NOIP模拟测试(2023.10.13)
    再次被打爆...T1sb题,写个\(\text{vector}\)排序还挂了,服了。T2oh,我会推柿子。oh,我不会\(\text{Lucas}\)......
  • 10.13每日总结
    今天完成了大数据的测试以下是相关代码,代码没有最后的可视化展示代码作者万事胜意k的主页-博客园(cnblogs.com)##数据库**创建数据库**```sqlcreatedatabasejournal;```**切换到数据库**```sqlusejournal```**建立初始表**```sql--建立初始表createtabledata(`ip......