自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(1224)
  • 资源 (8)
  • 收藏
  • 关注

原创 ubuntu 20.04安装和编译gstreamer-1.0

本文提供了GStreamer多媒体框架的安装和编译脚本。安装部分包括通过apt安装GStreamer核心工具、开发库和各种插件包(base/good/bad/ugly等),以及验证命令。编译部分设置Python环境别名,安装构建工具ninja-build和meson,配置路径后克隆GStreamer源码仓库,使用meson进行静态库构建和安装。这些命令为在Linux系统上搭建GStreamer开发环境提供了完整指南。

2025-08-25 14:29:20 3

原创 ubuntu使用fstab挂载USB设备(移动硬盘)

本文介绍了磁盘挂载的两种方法:通过修改/etc/fstab文件实现自动挂载,以及使用脚本手动挂载和卸载。fstab配置了三个不同文件系统(NTFS、HFS+、EXT4)的分区挂载参数。手动挂载脚本mount_all_disk.sh会先检查并创建挂载目录,然后执行挂载操作;反挂载脚本umount_all_disk.sh则用于卸载这些分区。两种方法最后都通过ls命令验证挂载/卸载结果。

2025-08-22 22:11:03 34

原创 macos使用FFmpeg与SDL解码并播放H.265视频

摘要:这是一个H.265视频解码器的实现方案,包含环境配置、CMake工程设置和核心解码逻辑。通过FFmpeg和SDL2库实现视频解码与播放功能,支持解析H.265的NAL单元类型和切片类型。主要步骤包括:1)安装FFmpeg、SDL2和x265依赖;2)配置CMake工程链接相关库;3)实现解码流程,包括打开视频流、查找解码器、帧解码和渲染;4)通过SDL2创建播放窗口,实时显示解码后的视频帧。代码还包含Exp-Golomb编码解析和帧类型识别功能,支持I/P/B帧处理。

2025-08-21 20:17:58 618

原创 视频流AVPacket指针队列处理

摘要:该代码实现了一个基于链表的视频数据包队列(MyVideoQueue),用于管理AVPacket。队列支持入队(EnQueue)、出队(DeQueue)、判空(Empty)、获取大小(Size)和显示队列内容(Show)等操作。入队时会深拷贝AVPacket对象,出队时同样返回深拷贝的数据包并释放原对象。使用时通过EnQueue添加数据包,DeQueue取出数据包进行解码处理。队列内部使用QueueData结构存储AVPacket指针和下一节点指针,通过front和end指针维护队列首尾。

2025-08-18 09:28:59 21

原创 ubuntu 20.04 搭建多用户远程桌面共享及同时在线使用

摘要:本文介绍了在物理机上配置远程桌面访问的完整流程。通过setup_xrdp.sh脚本自动安装xrdp服务,修改配置文件并开放3389端口。同时提供了用户管理脚本:add_rdp_users.sh用于创建带sudo权限的远程用户,del_rdp_users.sh用于删除用户及主目录。还包含批量操作脚本add_rdp_all.sh和del_rdp_all.sh,支持一次性创建/删除多个用户(如dev1-dev5),所有用户密码统一设置为111111。完整方案实现了远程桌面环境的快速部署和用户集中管理。

2025-08-15 14:31:17 81

原创 H265裸流解码及内存指针队列使用示例

本文包含两个独立的代码实现:1) HEVC裸流解码程序,使用FFmpeg库实现H.265视频解码功能,包括打开输入文件、查找视频流、初始化解码器、处理帧数据并转换为RGB格式等完整流程;2) 基于指针实现的泛型队列模板类PointerQueue,提供入队、出队、容量检查等标准队列操作,支持最大容量限制和异常处理,包含拷贝控制成员和调试功能。两段代码均配有相应的CMake构建文件,分别依赖FFmpeg库和C++20标准。

2025-08-13 03:18:55 24

原创 H.265视频结构分析

本文摘要:H.265/HEVC视频编码中的NAL单元(nalu)解析,包括头结构(2字节)、类型划分(Type=(nalu_header&0x7E)>>1)和关键单元类型对应关系。详细说明了VPS(0x40)、SPS(0x42)、PPS(0x44)、IDR(0x26)、SEI(0x4E)等NAL单元类型的十六进制编码与十进制值转换,以及帧类型(I/P/B)的切片类型标识。同时描述了视频流的典型结构顺序(vps-sps-pps-sei-i-p-b)和NAL单元组成(start_code+n

2025-08-12 08:54:19 22

原创 Linux Shell为文件添加BOM并自动转换为unix格式

摘要:本文介绍了两个处理文件格式的实用技巧:1)使用vim命令添加BOM头并验证文件编码,通过hexdump查看文件头信息;2)安装dos2unix工具将Windows格式文件转换为Unix格式。这些方法适用于处理不同操作系统间的文件格式兼容性问题,特别是对Gradle构建脚本等文件的格式转换。

2025-08-07 20:25:17 100

原创 ubuntu系统文件夹加密实现密码授权访问

本文介绍了使用encfs加密文件系统的具体操作步骤。首先通过sudo apt-get install encfs命令安装encfs工具,然后创建并挂载加密文件夹,指定加密位置和解密位置的路径。后续操作包括查看加密文件夹信息、重新挂载文件夹、反挂载文件夹(使用encfs -u命令)以及验证加密是否有效。整个过程展示了encfs的基本使用方法,包括文件夹的加密挂载与卸载操作。

2025-08-07 11:47:15 250

原创 ubuntu20.04报Could NOT find ZLIB (missing: ZLIB_LIBRARY)错误解决

摘要:编译MAVSDK时出现ZLIB库缺失错误,提示找不到ZLIB_LIBRARY(尽管检测到1.2.12版本)。解决方法是在mavsdk_server的CMakeLists.txt中手动指定ZLIB路径:添加ZLIB_INCLUDE_DIR(包含目录)和ZLIB_LIBRARY(静态库路径),指向具体的include文件夹和libz.a文件。修改后重新编译成功。该问题是由于CMake未能自动定位已安装的ZLIB库所致,通过显式设置路径变量即可解决。

2025-08-07 08:28:02 161

原创 Linux将python脚本生成可执行文件

本文介绍了如何将Python GTK4应用打包成可执行文件。首先准备包含GTK4窗口和按钮的Python脚本,使用PyInstaller(通过pip安装)进行打包,命令为"pyinstaller --onefile gtk_hello.py"。脚本演示了创建一个带"Hello World"按钮的窗口,点击可关闭窗口。打包后的可执行文件保留全部GTK4功能,包括窗口设置和事件处理。

2025-08-06 14:19:54 34

原创 gnome-boxes源码编译

本文介绍了在Linux系统上编译安装libvirt-glib和GNOME Boxes虚拟机的步骤。首先通过apt安装必要的依赖包,包括meson、libvirt-dev等开发工具。然后使用git克隆libvirt-glib源码,通过meson和ninja工具进行编译安装。接着安装GNOME Boxes所需的额外依赖库。最后下载源码并执行编译脚本b.sh,将程序安装到/usr/local目录下,完成编译后即可启动GNOME Boxes虚拟机管理程序。整个过程涵盖了从依赖安装到源码编译的完整流程。

2025-08-05 17:02:56 33

原创 Could not connect to the RDP server via TLS错误解决

摘要:解决Windows远程桌面连接失败问题,出现"ERRCONNECT_TLS_CONNECT_FAILED"错误。首先尝试修改默认设置无效,后通过检查3389端口状态,使用命令启用TCP协议的3389端口(netsh advfirewall设置规则),最终成功连接到RDP服务并实现远程桌面访问。

2025-08-04 19:42:43 138

原创 Android工程命令行打包并自动生成签名Apk

Android Gradle打包配置指南:在工程目录下查看Gradle任务,配置签名文件test.jks(含密码和别名)于build.gradle的signingConfigs中,分别设置debug(不混淆)和release(混淆+资源压缩)的构建类型。通过命令行./gradlew assembleDebug/Release进行打包,最后需验证APK签名。

2025-08-04 16:59:22 422

原创 Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable

编译错误提示找不到OpenSSL库,需要在系统变量中设置OpenSSL根目录路径。解决方案根据平台不同而有所差异:对于Android平台,需要手动指定ZLIB、OpenSSL头文件和库文件的具体路径;对于Unix(非Apple)平台,只需设置OpenSSL加密和SSL库文件的路径。开发者需根据实际编译环境,将上述路径替换为本地OpenSSL库的真实安装路径即可解决该编译错误。

2025-08-03 10:09:38 44

原创 Could NOT find LibLZMA(missing:LIBLZMA_LIBRARY LIBLZMA_INCLUDE_DIR LIBLZMA_HAS_AUTO_DECODER LIBLZMA)

编译错误提示找不到LibLZMA库,需修改MAVSDK的CMakeLists.txt文件。解决方案是在Android平台下添加LZMA库路径配置:设置LIBLZMA_INCLUDE_DIR为头文件目录,LIBLZMA_LIBRARY为静态库文件路径。该修改仅针对Android平台生效,通过指定正确的库文件路径可以解决编译时的依赖问题。

2025-08-03 10:08:17 101

原创 线性插值数学公式C语言实现

线性插值是一种通过已知两点(x0,y0)和(x1,y1)计算中间点y值的方法,公式为y=y0+(y1-y0)/(x1-x0)*(x-x0)。代码实现时需检查除数是否为0,并警告x超出区间的情况。示例中,输入点(2,4)和(5,10),在x=3处插值结果为6.00。该方法简单高效,适用于数据平滑处理。

2025-07-30 16:48:27 42

原创 ubuntu自动搭建Android平台NDK编译环境

该脚本自动下载指定版本的Android NDK工具链并解压,配置交叉编译环境变量。通过设置CROSS_TRIPLE、CROSS_ROOT等关键变量,指定目标架构为aarch64-android,配置编译器(clang/clang++)、汇编器(llvm-as)等工具路径。同时设置NDK版本为25b,目标API级别为23,并指定CMake工具链文件路径。完成这些配置后,开发者即可使用该环境变量集编译适用于Android平台的库文件。整个设置过程自动化程度高,简化了Android跨平台开发的工具链配置工作。

2025-07-30 16:23:07 73

原创 libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found与l`CXXABI_1.3.13‘ not found解决

摘要:程序运行时出现错误,检查发现系统缺少GLIBCXX_3.4.29版本库。经查,Ubuntu 20.04系统中最高只支持GLIBCXX_3.4.28。该问题是由于未将GCC11库加入LD_LIBRARY_PATH环境变量所致。需要更新系统库或配置正确的库路径解决兼容性问题。

2025-07-30 15:24:55 514

原创 ubunbu20.04安装MAVSDK开发环境依赖

本文介绍了Linux环境下安装开发工具链的步骤。首先通过apt命令安装基础工具包,包括编译工具和依赖库。然后详细说明了CMake 3.22.1的源码编译安装过程,包括下载、解压、编译和添加到环境变量。可选部分提供了GCC 11.4.0的安装指南,涵盖依赖安装、源码下载、编译配置及环境变量设置。所有安装步骤均包含验证命令,确保工具安装成功并正确配置路径。文中使用了多线程编译(-j $(nproc))以提高效率,并通过修改.bashrc文件持久化环境变量配置。

2025-07-30 10:17:39 47

原创 git使用lfs解决大文件上传限制

本文介绍了使用Git LFS管理大文件的基本流程:首先安装Git和LFS工具,初始化Git LFS扩展后,设置需要跟踪的大文件类型(如.iso/.exe),提交.gitattributes配置文件并添加大文件,最后推送至远程仓库。该流程可有效解决Git对大文件版本控制的问题,特别适用于二进制文件的管理。

2025-07-29 23:52:12 333

原创 PowerShell脚本自动卸载SQL Server 2025和 SSMS

摘要:本文介绍了一个自动卸载SQL Server和SSMS的PowerShell脚本。该脚本需要管理员权限运行,主要功能包括:1)检测并卸载所有SQL Server组件;2)卸载SSMS;3)清理残留文件、注册表项和服务;4)删除相关防火墙规则。脚本会先请求用户确认,然后按顺序执行卸载操作,支持静默模式(norestart)。卸载完成后建议重启计算机以完成清理。该脚本适用于SQL Server 2019/2022/2025等多个版本,可一次性彻底移除SQL Server相关组件。

2025-07-29 21:07:16 76

原创 Windows使用Powershell自动安装SqlServer2025服务器与SSMS管理工具

摘要:本文提供了一个自动化安装SQL Server 2025和SSMS的PowerShell脚本。该脚本需以管理员权限运行,包含下载安装包、挂载ISO、静默安装SQL Server和管理工具等功能。安装过程启用了TCP协议,并设置了默认实例,最后会检查服务状态并提示可能需要重启。脚本执行完成后会自动清理临时文件,适用于快速部署SQL Server环境的场景。

2025-07-29 20:49:49 247

原创 Ubuntu25.04轻量虚拟机Multipass使用Shell脚本自动创建并启动不同版本Ubuntu并复制文件

Multipass快速创建Ubuntu虚拟机指南 本文介绍了使用Multipass快速创建不同版本Ubuntu虚拟机的方法。首先通过snap安装Multipass,然后分别创建18.04、20.04和22.04三个版本的Ubuntu虚拟机实例,每个实例配置为4核CPU、8G内存和120G磁盘空间。同时还提供了在虚拟机内安装基础开发工具的命令,以及查看所有运行实例信息和查看单个实例详细信息的命令。这些操作可以帮助开发者快速搭建基于不同Ubuntu版本的开发测试环境。

2025-07-29 17:13:41 80

原创 ubuntu 25.04 自带JS引擎gjs运行GTK with JavaScript 应用

本文展示了GTK4的两种实现方式:JavaScript和C语言。JavaScript版本创建了一个带按钮的窗口,点击按钮会输出信息;C语言版本则创建了一个简单的"Hello GTK4"窗口。文章还提供了GTK4环境安装命令(sudo apt install libgtk-4-dev)、编译方法(使用pkg-config获取GTK4参数)以及主题管理相关命令,包括安装Materia主题、查看当前主题和切换为Adwaita主题等操作。

2025-07-29 17:00:50 229

原创 HMAC算法之SHA256哈希C++实现详解

本文详细介绍了HMAC-SHA256算法的实现过程:首先处理密钥(长度超过64字节时进行哈希处理,不足时填充0x00),然后分别构建内部填充(0x36)和外部填充(0x5c),通过XOR运算生成最终填充值。算法核心包含两个哈希计算阶段:先对"内部填充+消息"进行SHA256哈希,再对"外部填充+内部哈希结果"进行二次哈希,最终生成32字节的HMAC值。文中提供了完整的C++实现代码,使用OpenSSL库进行SHA256计算,并包含详细的调试输出展示每个步骤的中间结果。

2025-07-24 11:11:50 51

原创 05c6:9091 Qualcomm, Inc on Ubuntu 25.04 not driver how to use adb connect to device

本文介绍了在Linux系统中连接Android设备进行调试的步骤:首先通过lsusb命令确认设备信息(如Qualcomm设备ID 05c6:9091),然后在/etc/udev/rules.d/51-android.rules文件中添加USB设备规则,赋予访问权限并创建符号链接。接着重启adb服务,重新插入设备后通过adb devices确认连接。最后将USB模式切换为TCP/IP,使设备同时出现在USB和网络连接列表中,最终在Android Studio中成功识别设备。整个过程涉及USB权限配置和adb服

2025-07-22 09:30:25 74

原创 MAVSDK Android Platform Compier LibLZMA and OpenSSL Library find_packge can‘t found

MAVSDK Android Platform Compier LibLZMA and OpenSSL Library find_packge can't found

2025-07-21 15:33:37 70

原创 sm3_cpp实现

【代码】sm3_cpp实现。

2025-07-17 07:35:10 34

原创 SM3算法工程中添加bouncycastle.bcprov.jdk15on库

本文介绍了如何在项目中添加Bouncy Castle加密库的步骤:首先在工程模块中选择"来自Maven"添加库,然后输入仓库地址"bouncycastle.bcprov.jdk15on"进行下载。下载完成后会自动弹出配置窗口,确认后即可将库成功添加到项目中。添加后系统能正确识别库中的相关类,从而可以使用该加密算法库的功能。整个过程简单明了,只需几步操作即可完成加密库的集成。

2025-07-16 23:15:08 314

原创 安装emsdk 4.0.10报Connection reset by peer解决

【摘要】安装Emscripten时遇到依赖下载问题,解决步骤包括:手动下载node-v22.16.0-darwin-x64.tar.gz到emsdk/downloads目录,修改emsdk.py设置强制下载,调整环境变量后重新运行安装。通过相同方法下载所有依赖并重命名wasm包后安装成功,最后激活环境使配置生效。该过程涉及依赖管理、环境配置和手动干预安装流程。(99字)

2025-07-01 23:39:33 65

原创 use shell and ffmpeg convert webm to mp4 and play it

use shell and ffmpeg convert webm to mp4 and play it

2025-06-24 23:31:12 77

原创 C#子线程更新主线程UI及委托回调使用示例

C#子线程更新主线程UI及委托回调使用示例

2025-06-06 11:05:50 427

原创 libusb读取USB接口数据

libusb读取USB接口数据

2025-06-05 06:21:10 100

原创 linux使用libusb与Android手机进行AOA通信完整步骤

本文介绍了如何通过libusb库实现Linux系统与Android设备的AOA(Android Open Accessory)通信。主要内容包括:1)安装libusb和udev开发库;2)获取连接设备的VID/PID;3)创建C++工程,实现AOA协议通信的核心代码,包括设备检测、模式切换、端点配置和读写操作;4)使用CMake进行项目构建;5)测试程序运行效果。该方案实现了Android设备与主机的双向通信,当设备进入AOA模式时会自动关联对应的应用程序。

2025-06-03 09:15:43 122

原创 windows内置命令实现本地端口转发

本文介绍了如何通过netsh命令实现本地端口转发。主要步骤包括:1)使用netsh interface portproxy add v4tov4命令将59001端口的访问转发到本机8080端口,其中listenaddress=0.0.0.0表示监听所有地址;2)通过show all查看已创建的转发规则;3)使用delete v4tov4命令删除指定转发规则。该方法实现了从0.0.0.0:59001到10.1.8.8:8080的端口映射,便于本地网络服务的访问配置与管理。

2025-05-29 14:30:36 198

原创 开源视频流服务器mediamtx后台管理部署

开源视频流服务器mediamtx后台管理部署

2025-05-27 09:41:09 302

原创 dotnet开源网对网路由工具linker编译与部署

dotnet开源网对网路由工具linker编译与部署

2025-05-23 10:42:46 60

原创 dotnet开源代理工具NSmartProxy外网访问内网

dotnet开源代理工具NSmartProxy外网访问内网

2025-05-21 14:32:02 280

原创 开源代理工具NSmartProxy编译与使用

开源代理工具NSmartProxy编译与使用

2025-05-21 11:52:32 236

liblzma and libjpeg and libtiff for ios

liblzma and libjpeg and libtiff for ios

2023-07-10

OPENCL安卓手机测试程序

OPENCL安卓手机测试程序

2023-07-07

opencv-opencl/arm64-v8a/armeabi-v7a/x86-64/x86

opencv_opencl/arm64-v8a/armeabi-v7a/x86_64/x86

2023-07-06

OpenCV-android-sdk-4.5.2 with opencl

OpenCV-android-sdk-4.5.2 with opencl

2023-07-06

编译Android平台的OpenCV库并启用OpenCL及Contrib

编译Android平台的OpenCV库并启用OpenCL及Contrib

2023-07-05

opencl-android-demo

opencl_android_demo

2023-07-06

OPENCL DEMO ANDROID

OPENCL DEMO ANDROID

2023-07-06

Linux使用NDK编译libtiff库并移植到Android平台

libtiff_android_v7_v8a

2023-06-20

Linux使用NDK编译libtiff库并移植到Android平台

libtiff_android

2023-06-20

QML复制文件并显示进度源码-增加剩余时间显示

QML复制文件并显示进度源码-增加剩余时间显示

2022-10-17

QML复制文件并显示进度源码

QML复制文件并显示进度。

2022-10-15

qt6单元格合并WidgetTableDemo

qt6单元格合并WidgetTableDemo

2022-09-19

BASE64算法基于C++MFC实现

BASE64算法基于C++MFC实现

2022-08-27

BASE64算法基于C++控制台实现

BASE64算法基于C++控制台实现

2022-08-27

BASE64算法基于C++之MAC与Linux平台实现

BASE64算法基于C++之MAC与Linux平台实现

2022-08-27

vc_mbcsmfc.exe.zip

Multibyte MFC Library for Visual Studio 2013

2021-05-20

obs-mac-27.1.3.dmg

MAC系统OBS软件安装包-最新版本

2021-11-06

最新版本本地仓库安装包nexus-3.34.1-01-win64

最新版本本地仓库安装包nexus-3.34.1-01-win64

2021-09-23

最新本地仓库安装包Linux版本nexus-3.34.1-01

最新本地仓库安装包Linux版本nexus-3.34.1-01

2021-09-23

nexus-3.34.1-01-mac.tgz

最新版本地仓库安装包MAC版nexus-3.34.1-01

2021-09-23

phodav-3.0 for ubuntu

phodav-3.0 for ubuntu

2025-08-06

Android调用C++函数

Android调用C++函数

2024-05-08

window下rust开发环境安装工具

window下rust开发环境安装工具

2024-03-31

音视频分析软件StreamEye测试安装包

音视频分析软件StreamEye测试安装包

2024-03-21

iOS调起高德/百度/腾讯/谷歌/苹果地图并使用GCJ02坐标进行导航

iOS调起高德/百度/腾讯/谷歌/苹果地图并使用GCJ02坐标进行导航

2024-03-03

iOS强制屏幕旋转兼容iOS11到iOS17

iOS强制屏幕旋转兼容iOS11到iOS17

2024-03-01

ios屏幕旋转ios屏幕旋转

ios屏幕旋转

2023-10-12

ffmpeg飞机拉流USB传输IOS解码OK

ffmpeg飞机拉流USB传输IOS解码OK

2023-09-01

ffmpeg本地推拉流USB解码OK

ffmpeg本地推拉流USB解码OK

2023-08-31

ffmpeg pull client

ffmpeg pull client

2023-08-29

ffmpeg pull usb server

ffmpeg pull usb server

2023-08-29

java jdk8 jdk11 jdk17 jdk20 windows安装包

java jdk8 jdk11 jdk17 jdk20 windows安装包

2023-08-23

FFmpegIOS与MacOS拉流成功与PeerTalk-USB通信

FFmpegIOS与MacOS拉流成功与PeerTalk_USB通信

2023-08-20

peertalkpeertalk

peertalkpeertalk

2023-08-17

ffmpegdemo-ios

ffmpegdemo__ios

2023-08-17

ffmpegdemo-macos-ios

ffmpegdemo_macos_ios

2023-08-17

ffmpeg-qt视频编码解码-macOS

ffmpeg-qt视频编码解码-macOS

2023-08-14

XDXParseFileAVStreamDemo

XDXParseFileAVStreamDemo

2023-08-09

panoshow 2023

panoshow 2023

2023-08-05

panoshow cpp

panoshow cpp

2023-07-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除