- 博客(183)
- 资源 (12)
- 收藏
- 关注
原创 ZLMediaKit在Windows上的编译
摘要: 本文详细介绍了在Windows 10系统下编译开源流媒体服务器项目ZLMediaKit的步骤。首先通过Git克隆代码并初始化子模块,随后利用vcpkg工具管理依赖项(如openssl和libsrtp),确保RTSP和WebRTC功能正常。通过CLion集成vcpkg并修改CMake配置后,完成项目编译,生成可执行的MediaServer流媒体服务器程序。整个过程需注意依赖安装和路径配置,适合有一定经验的开发者参考。<|end▁of▁sentence|>
2025-05-21 16:54:23
664
原创 Parsec解决PnP连接失败的问题
本文介绍了如何通过DMZ和端口映射解决Parsec远程桌面连接中的PnP失败问题。首先,确保路由器支持DMZ或端口转发,并获取电脑的内网IP地址。DMZ方法简单但仅适用于单设备,且存在安全风险。端口映射则适用于多设备,需在Parsec中设置固定端口,并在路由器中配置端口转发。此外,若光猫为普通用户账户,需获取管理员权限或调整为桥接模式,以便在路由器上进行配置。通过这些步骤,可以有效解决Parsec在外网连接中的问题,提升远程桌面体验。
2025-05-15 18:20:57
926
原创 Windows10安装WSA
本文介绍了如何在Windows 10上安装WSA(Windows Subsystem for Android)。首先,用户需要确保BIOS中的虚拟化功能已开启,并检查操作系统版本是否符合要求。接着,用户需从指定链接下载WSA的Zip包,并根据电脑的硬件架构选择合适的版本。下载后,用户需校验压缩包的完整性,并解压到指定路径。安装过程提供了两种方法:一是直接通过PowerShell脚本安装,二是先更改PowerShell的执行权限再进行安装。文章强调,此操作需要用户具备一定的电脑操作能力。
2025-05-14 18:51:33
778
原创 QLineEdit增加点击回显功能
文章探讨了如何在QLineEdit中实现回显功能,通过利用QLineEdit自带的QAction机制,避免了复杂的UI适配问题。作者首先提到QLineEdit本身已集成了一键清除功能,并预留了扩展接口,便于定制化开发。接着,作者详细介绍了通过创建QAction并将其添加到QLineEdit尾部来实现回显功能的代码实现。最后,作者通过分析QLineEdit的源代码,展示了框架如何通过QAction机制实现清除按钮的逻辑,并指出开发者可以借鉴这一机制来实现自定义功能。整体思路简洁明了,代码示例清晰,适合开发者参
2025-05-13 18:20:53
340
原创 关于Qt对Html/CSS的支持
最近遇到了一些问题需要使用Qt加载Html发现一些特性不能使用,估计很多人也和我一样遇到这种情况。需要说明的是Qt对Html/CSS的支持分为两种:一是原生控件比如QTextBrowser和QTextEdit;二是QtWebEngine也就是网页控件,接下来结合官方文档分别说明下支持度。最后说一下为什么原生组件只支持部分特性,我觉得应当是以下原因:1、使用QtWebEngine需要集成一整套的库和资源文件,这个保守估计需要100MB+的额外空间,对于一些简单的程序太说太庞大了。
2025-04-24 19:15:02
692
原创 Qt饼状图在图例上追踪鼠标落点
最近做了一个项目,需要当鼠标在饼状图上移动的时候展示Slice的内容,现有的饼状图接口不能满足我的需求,所以我想到了手动实现追踪鼠标移动并判断落点是不是在图例内部。主要难点在于将x,y点转变成极坐标并判断鼠标落在哪一个Slice上,从而实现定制化效果。1、思路比较透彻,没什么难度,适合定制化需求。
2025-04-07 18:37:37
410
原创 【Qt流式布局改造支持任意位置插入和删除】
最近在做一个需求需要流式布局,虽然官方example里有一个流式布局范例,但是不能满足我的需求,我需要支持插入的流式布局,所以就改造了下。1、总体难度还行2、代码从官方示例中改进而来,基本能满足我的需求。
2024-11-23 11:16:20
497
原创 【不同平台Qt程序打包发布方法】
Qt程序开发完了面临一个很重要的步骤,那就是如何打包发布。Windows上只要有Inno Setup、Qt Installer Framwork等;Linux主要有AppImage、Deb、Rpm等。今天这篇文章就来讲一讲,介绍下我常用的那些方法。提示:方法很多,只列举一些1、第一种万金油,但是有点LOW2、第二种稍微高大上一点,但是不完美。
2024-10-24 14:24:05
832
1
原创 C++几种工厂模式和实现实例
常写C++代码的人一定对于工厂模式不陌生,今天这篇文章就介绍下几种常见的工厂模式并说明使用场景简而言之,工厂模式是一种设计模式,是对开闭原则编程的一种展现。所有的示例代码基于C++17版本,如果你用了C++11,就会报错,C++11没有std::make_unique这个方法(在memory头文件里)。1、根据个人的场景决定选用哪种方法,除非必要尽量不要使用简单工厂,违反开闭原则,容易引发问题。
2024-10-13 17:06:44
809
原创 【C++几种单例模式解读及实现方式】
单例模式几乎是每种语言都不可少的一种设计模式,今天就针对C++语言来解读下集中单例模式,并给出代码说明。1、C++11以上版本优先使用米尔斯单例,比双重检查锁性能强2、其他场景建议双重检查锁。
2024-10-13 14:41:31
505
原创 Clion使用vcpkg管理C/C++包
Linux上的库基本都可以通过apt或yum等包管理工具来在线安装包,好用是真的好用,无独有偶,windows上也有类似的包管理工具,那就是今天的主角vcpkg,用好vcpkg可以省很多事。vcpkg可以单独使用,也可以集成到IDE,今天就基于Clion讲解。1、总体我觉得是很好的,配置比apt麻烦点,但至少解决了缺乏包管理器的问题2、像那些诞生于类Unix的包比如ffmpeg在windows上也可以直接使用了,如果自己编译的话麻烦不小。
2024-09-21 14:10:02
4472
2
原创 Jetbrains开发工具使用通义灵码
之前用过tabnine等AI工具,tabnine还行,有免费版,但是效果有限,属于机械式地补全。pro版我没试过。最近发现上线了通义灵码,这个是阿里出的,感觉效果可以,至少超过tabnine免费版了。目前下载量也是一直在增长,重要就是目前免费。1、大家自行体验吧。
2024-09-18 22:13:08
952
原创 Windows使用ffmpeg获取麦克风数据
最近突发奇想,既然ffmpeg那么好用,为什么不能拿到Windows上来用呢?由于ffmpeg官方提供的是二进制文件,不是开发库。之前尝试过很多次移植都失败了,当我准备放弃的时候,突然一次意外发现让我重燃希望。所以ffmpeg在windows上到底好不好用呢?让我们拭目以待吧。ffmpeg:7.01、美中不足,但是对于快速开发足够了,毕竟我觉得ffmpeg还是比自带的好用一些,不知道是不是错觉。
2024-09-03 21:41:31
1238
原创 Windows上使用Inno Setup将应用程序打包成安装程序
有时候我们开发出来的软件是.exe文件+一些dll或配置文件,正常移交给客户就不太妥当了,一般客户需要的都是.exe这种压缩后的安装程序。今天九交给你们一个方法打包安装程序。1、普通的用法够了,其它的用法根据个人需要吧。
2024-09-03 20:44:46
2812
原创 Windows上MSYS2的安装和使用
MSYS2这个工具我是越用越喜欢,很多东西放在Linux上如鱼得水但是放在Windows上就没那么好用,比如ffmpeg,opencv等直接引用就行了,这个工具真的很省事。接下来带你们看看它的妙用。1、好好研究确实妙用无穷。
2024-08-29 23:18:06
2623
原创 交叉编译Qt5.12.8附带编译opengl
最近有个项目使用Qt5的ARM64版,有一种方法是直接在板子上安装Qt5,这种方法最简单,但是板子效率低一些,编译慢,画面也不太流畅所以才切换到交叉编译方向来。这篇文章基于Ubuntu-20.04编译,板子的系统也是20.04,接下来我会给出我的编译心得,包括一些注意事项,请仔细查看,能少走不少弯路。工具:aarch64-linux-gnu-91、本身并不难,找到诀窍才是重要的,选不对版本和工具链够头疼的,还是那句话:尽量维持环境一致性。
2024-08-25 22:29:46
2602
10
原创 mpv播放器在rk3399上配置硬解码
mpv播放器应该来说相当轻量了,但是我研究了下文档发现它确实内有乾坤,可能没想象中那么简单。接下来我就来说说怎么在rk3399上使用mpv硬解码播放视频。虽然官方给了我们gstreamer+mpp实现硬解码,不过这显然是不成熟的方案,对于实际应用上还差点距离。要想真正封装成应用还需要借助SDL2或QT5等工具进一步包装,这个以后可以给一个示例。gstreamer+mpp调用硬解码播放视频注意:这个方法理论上适用于所有使用MPP解码的平台,包括RK3288,RK3588等。
2024-08-23 22:06:16
1493
11
原创 查看linux开发板gpu使用量
有时候我们开发的时候可能需要看下gpu占用,安卓就很简单了,linux稍微有点麻烦,需要开下几个配置文件,这几个文件会随着gpu运行状态的变化内容发生变化。不同的板子可能略有差别,但差不多。1、可以写个脚本或程序将数据图形化2、读不要权限,写要权限。
2024-08-22 09:58:15
408
原创 解决rga拷贝数据慢的一个方法
最近接了一个项目,里面要用到解码,然后切割,旋转和转成rgb。我选择使用mpp+rga形式解决,但是有个问题,rga处理的是无缓内存,将转好的rgb复制过来耗时巨大,思来想去还是要借用rga本身的能力将无缓内存自动复制到有缓内存里面,这个功能确实很好。1、rk3399整体rga性能偏弱,绞尽脑汁也提升不了多少,终究是廉颇老矣。
2024-08-19 21:33:14
476
原创 Icon theme “elementary“ not found.或Icon theme “gnome“ not found.解决
运行Qt5图形的时候报的错,问题很简单,缺少两个theme包,直接安装就行了。
2024-08-18 19:42:27
320
原创 解决firefly rk3399使用ffmpeg硬解码rga报错的问题
注意:这篇文章只对firefly rk3399有效,可能对rk3568和rk3588有效!如果你不是Ubuntu-20.04你最好刷成Ubuntu-20.04,理论上对Ubuntu-18.04也是适用的,只不过我需要使用Ubuntu-20.04,所以就在Ubuntu-20.04上测试了。
2024-08-18 11:04:33
791
原创 firefly rk3399使用ffmpeg硬解码
注意:这篇文章仅针对firefly设备,我在rk3399上操作成功,理论上也适合rk356x或358x系列的,我手上没有这些设备,所以没法测试。今天这个方法比较简单,使用起来也有些限制,但是对于很多人来说够用了。1、实测1080p解码是5-6ms一帧,绝大多数场景够用了。
2024-08-18 10:43:01
1371
原创 C++ Poco框架判断请求方式是GET还是POST
作为服务器开发者GET和POST等Method还是要区分的,不同的请求方法要走不同的逻辑。这篇文章很简短但是基于另一篇文章,如果你已经了解Poco了就不用看了。手把手教你使用Poco框架开发服务器应用1、看似简单的一个小函数却是决定成败的关键。
2024-08-09 22:34:59
438
原创 waveInAddBuffer死锁的大雷解决
从来没有一个bug让我这么抓狂,足足查了3天3夜,官方文档翻了一遍说的基本无用。具体项目就是使用waveIn系列函数获取windows系统麦克风数据,虽然windows上有好几种方法获取麦克风数据,我最终还是选择了它。
2024-08-09 22:17:47
921
原创 C++ Poco服务端框架中JSON的使用
上面一篇文章教你学会了Poco开发服务端应用,这个教程教会你使用JSON。一般传JSON的时候都是POST请求,很少有人把JSON序列化放在GET请求里,不安全。如果你不会开发服务端就先看下下面的文章,通俗易懂。我直接开门见山了,默认环境已经有了。手把手教你使用Poco框架开发服务器应用1、最后的总结才是最核心的部分,特别适合初学者,能少走很多弯路。
2024-08-08 21:26:26
1036
原创 手把手教你使用Poco框架开发服务器应用
最近接触一个服务器项目,想来想去还是用C++来开发,C++应该来说没有像Spring那么顶顶大名的的框架,但是好的框架还是有的,要不然纯手写服务器要开发到什么时候。今天选的Poco就是相当不错的一个框架,不说多丰富吧,至少开发服务器用到的东西都有了。接下来从0开始教你使用Poco开发服务器应用1、Poco很强大我演示的只是冰山一角,后面我还会演示Poco的其它功能,今天的Demo只能说很简单。
2024-08-06 23:01:59
1069
原创 解决Poco找不到MySQL::client的问题
最近在研究Poco,一个很强大的C++库,当我要使用MySQL的时候找不到,解决这个问题其实很简单,不需要大费周折。提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
2024-08-02 18:03:55
489
1
原创 使用pulseaudio库简单获取麦克风数据
有时候我们需要在Linux系统上获取麦克风声音数据,也有些情况下我们需要多个应用同时获取麦克风数据或者一个应用同时获取多个麦克风的数据这些都是可以实现的,我们只要使用今天的主角就行了PulseAudio。1、这些是简单应用,还有复杂的以后再说包括混流等等2、可以随意打开任意多个client指向同一个麦克风设备,alsa默认做不到。
2024-07-30 18:18:33
373
原创 Powershell自定义带参数的别名
之前写了一篇文章定义别名让powershell尽可能接近Unix风格,增强两者的互操作性,今天给出方法可以定义带参数的别名。1、设置难度不大,功能受到一定的限制。
2024-07-29 18:50:23
369
原创 powershell自定义命令别名
有时候在windows上使用powershell时候常常苦于别名问题,像我这样的习惯Linux的命令的人感觉很别扭,所幸powershell自己内置了一些别名,但是还远远不够,特别是我希望定义一些和Linux上几乎一样的命令比如mkdir(powershell内置叫md)、mv(powershell内置叫move)这一类的就需要手动操作了。终于到这一步了,我这里使用的是powershell7,powershell2可能略有差别,但是我个人还是喜欢powershell7,所以所有的都是基于7的。
2024-07-26 18:52:18
1009
原创 Windows系统上Clion配置Qt5
对于qtcreator我有很多地方需要吐槽,很多设计我觉得真的可以好好参考下jetbrains,因为我从eclipse时代过来的,这个软件让我感觉比eclipse还难用。对比起来jetbrains的基于JVM的骚操作也不是那么难以接受了。废话不多说,Clion配置Qt5除了form的功能没有(我没配出来),其它我感觉强过qtcreator,接下来有需要的小伙伴可以看下我的操作,假如你真的想这么用的话。1、这种方法配置很简单,Clion会处理大部分工作,比如一些基础库地引用,如果使用其他库直接追加就行了。
2024-07-26 17:17:08
596
原创 qtcreator优化代码补全功能
对比Clion感觉它这个代码补全不太好用,至少没有jetbrains全家桶智能。不过我们可以通过调整下参数来优化效果。1、有一定的提升,但是还是有明显的延迟,不知道是不是设计缺陷还是我漏了参数2、臂jetbrains系列有差距。
2024-07-25 18:45:39
578
原创 C++对象模型之绕过private权限修饰符
咱们都知道C++语言在创建类的时候data member(数据成员)和fuchtion member(函数成员),在访问权限上有3个分别是privateprotected和public,我们都知道声明为private的成员只能在类内部被使用,但是这是一定的吗?其实这个策略上有一个漏洞,要了解这个漏洞你要理解C++的对象模型,这篇文章只是给你演示怎么理解对象模型,绝不是教你学坏这种方法在实际开发中不可取!1、C++的内存模型是相对复杂的概念,如果你想了解原理又绕不过去。
2024-07-22 21:00:47
749
原创 Windows11配置WSL2支持代理上网
说起来本来这个功能我也不需要的,只是最近突然有个需求就顺便研究了下,WSL2默认的网络方式是NAT,即WSL2的网卡本身是虚拟网卡,通过以太网或WIFI的地址转换来上互联网,我试了下是不能直接走代理的,最近比较忙没具体研究,但是我用另一种方式实现了,下面介绍给需要的人。注意:这个方法只能是WIndows11系统,WIndows10系统上的WSL2缺少了一项功能导致不可用。1、方法总体没什么难度,NAT方式暂时没研究透,后续有时间再研究2、WIndows10系统不支持mirrored,暂时需要另辟蹊径。
2024-07-09 22:08:33
6464
原创 WSL2编译使用6.6版本内核
最近出了一件不大不小的事,WSL2的内核又更新了,上次编译还是在5.10版本时,当时为了解决不能使用USB设备的问题,想想已经是好几年前的事情了。最近微软发布了6.6内核,今天就带着不太会的小伙伴体验下6.6的内核。1、不难,甚至很简单,我每次都是一把成功。
2024-07-09 21:40:06
1905
原创 【解决Windows11系统Windows Hello不能使用的问题】
最近买了一个Windows Hello摄像头,结果跟我说找不到合适的摄像头,经过多方研究终于解决了,说起来也狗血,这事情本来不应该发生的,只因为我做了一件事情。1、我使用中遇到的所有问题都得到了解决,如果你有解决不了的问题可以留言我们一起研究。
2024-07-08 21:17:31
12891
11
原创 C++一文讲透thread中的detach和join的差别
无论哪种语言线程在绝大多数项目中都是会用到的,C++也一样,C++包装了一个std::thread类可以简化程序员的编程,但在使用过程中也要注意区分用法,否则可能适得其反。今天要讨论的就是单纯的thread的join(等待)和detach(分离)两种情景,让不懂得人看完之后茅塞顿开。不管哪种方式启动的线程都要保证资源的回收,特别是当心主线程早于子线程结束的情况。
2024-06-19 18:12:19
1277
原创 一文讲透C++的volatile关键字
我们平常使用C++编程的时候可能volatile关键字用的并不多,这个关键字特性在底层硬件编程中用的很多。表示变量可能在程序控制之外被改变,例如被硬件中断或者其他程序所修改。因此,编译器在每次访问该变量时都会重新读取它的值,而不是使用缓存的值。所以它的主要特性就是每次访问都重新读取它的值,而不是使用缓存的值。1、volatile主要用于底层硬件编程,平常编写代码不一定用得上。2、volatile也可能进cache或寄存器,不保证同步,没有原子性,不保证内存顺序。
2024-06-18 17:20:15
465
原创 gstreamer+qt5实现简易视频播放器
最近在研究mpp,通过gstreamer实现了硬解码,但是我在想我可能需要一个播放器,我之前学过qt5所以就选择了qt5来结合gstreamer开发一个简单的播放器。今天的环境基于Windows,后续会把Linux的也补上的。注意:基于QT5,我觉得因为全平台特性,可能QT5比MFC还是有优势,代码只需要小改就可以轻松移植。1、不算太难,复杂的应用还需要继续琢磨。2、Windows上还是简单,我最终的目标是在开发板上实现gstreamer+qt5+硬解码播放,开发板上没有统一的接口。
2024-06-18 11:24:16
1565
原创 dos格式文档转unix格式
有时候我们在windows上编译的文件(主要是文本文档)拿到Linux(类Unix系统)上会发现出了很多乱码,这是因为两个系统上默认的格式有差异,不要着急,简简单单改下就行了。1、很简单却很实用,建议在操作前进行转换省去很多麻烦。2、还有个工具叫unix2dos,默认安装了dos2unix就会伴生安装,其实就是转回来的意思。
2024-06-17 17:33:09
1149
MegaCLI的多操作系统版本
2024-02-29
WinSW启动程序和配置文件
2023-11-30
PulseAudio压缩包
2023-07-12
torchvision-0.3.0-cp36-cp36m-linux_aarch64.whl
2020-06-17
torchvision-0.4.2-cp36-cp36m-linux_aarch64.whl
2020-06-17
tensorflow-2.0.0rc0-cp36-cp36m-linux_aarch64.whl
2020-06-16
aarch64可用的bazel-0.15.0
2019-11-25
torch-1.1.0-cp36-cp36m-linux_aarch64.whl
2020-06-17
tensorflow-1.10.zip
2019-11-30
torch-1.3.0a0+de394b6-cp36-cp36m-linux_aarch64.whl
2020-06-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人