- 博客(151)
- 收藏
- 关注
原创 【20230921】关于sing-box命令行程序开机自启动运行(Windows、Linux)
sing-box是一个命令行程序,官网给出的教程是复制链接到Git Bash(windows)或终端运行(Linux)。每次开机都进行复制运行是一件繁琐的事情。复制的内容其实就是下次并运行shell脚本,其实,就可以下载到sing-box程序和配置文件。
2023-09-21 10:01:35
8123
1
原创 【20230919】win11无法删除Chrome注册表项
尝试了很多删除注册表方法(例如:编辑remove.reg文件),都不行。无法删除应该还是由于权限问题。
2023-09-19 17:06:29
4316
4
原创 【20230511】Qt5、Qt6执行文件运行错误(无法定位程序输入点)
编写Qt程序后,从文件夹打开,点击可执行文件,报以下错误。(网上大部分让你在系统环境变量Path中添加相关库文件路径,并不能解决此问题)。
2023-05-11 11:17:39
1240
原创 【20230415】Ubuntu22.04双屏显示触屏设置,解决触摸点和响应位置不一致的问题
双屏显示时,如果存在一个触摸屏,有可能会出现触摸点和响应位置不一致的问题。我的显示器配置如下:一个34寸,3440*1440;一个22英寸触摸屏,1920*1080。
2023-04-15 16:12:44
1853
原创 【20230414】Ubuntu系统下NVIDIA显卡、驱动程序、CUDA和cuDNN安装
CUDA(Compute Unified Device Architecture)和cuDNN(CUDA Deep Neural Network library)是两个与深度学习和GPU计算相关的技术,但它们有不同的作用和功能。因此,CUDA是一种用于进行通用计算的并行计算平台和编程模型,而cuDNN是一个专门针对深度学习任务的GPU加速库,提供了高性能的深度神经网络计算函数。
2023-04-14 23:10:25
1320
原创 【20230407】NVIDIA显卡算力、Jetson比较
指的是每秒钟可以执行的整数运算次数,它代表着计算机在处理图像、音频等任务时的处理能力。TOPS的单位是万亿次每秒(trillion operations per second)。一般是指整数运算能力INT8。:指的是每秒钟可以执行的浮点运算次数,它代表着计算机在处理科学计算、机器学习等任务时的处理能力。TFLOPS的单位是万亿次每秒(trillion floating point operations per second)。一般是指单精度性能FP32。:等于每秒一百万次浮点运算。
2023-04-07 12:29:07
19145
原创 四、Visual Studio Code修改被选中字体的背景颜色
使用light主题时候,可能会出现被选中字体背景颜色不明显情况。可以通过命令面板(ctrl+shift+P)输入settings打开settings.json。
2023-04-06 21:40:44
1375
原创 三、Deepsrtream 保存图片
DeepStream提供的demo中有相关保存图片的示例,等有时间再进行总结。CSDN有许多关于DeepStream保存图片的文章,大部分都存在内存泄漏问题。
2023-03-10 13:11:22
668
3
原创 二、Deepsrtream 元数据
要在NvDsBatchMeta中以批处理、帧或对象级别附加用户特定的元数据,你必须通过调用nvds_acquire_user_meta_from_pool()从用户元数据池中获取一个NvDsUserMeta实例。(详情请参见sources/includes/nvdsmeta.h。)然后必须初始化NvDsUserMeta。必须设置的成员是user_meta_data、meta_type、copy_func和release_func。
2023-03-07 23:44:24
594
原创 【20230305】Gtk4不能输入中文问题
貌似不用安装fcitx5也可以,直接下载[fcitxfcitx5-gtk],进行编译安装(https://github.com/fcitx/fcitx5-gtk)
2023-03-05 19:53:31
189
原创 五、Jetson蓝牙连接音频设备问题
1.蓝牙服务禁用了audio,a2dp,avrcp类型2.系统没有装pulseaudio-module-bluetooth等相关库。
2023-03-05 19:51:35
626
原创 四、Gstreamer RTSP client timeout issues
查看DeepStream源码后,我的项目中DeepStream在另一个线程中运行,开启RTSP流重连功能后,有时会堵塞在设定状态函数(无论设定哪一个bin中的元素,都会阻塞),暂时没有另一台机器供我研究是否因为版本问题造成的,或者线程问题。我试图通过其他办法进行解决。
2023-02-28 11:23:50
563
原创 三、Buffer has no PTS和runtime check failed
我使用mp4mux或者qtmux的时候,偶尔会出现Buffer has no PTS问题。PTS(时间戳)是用于标识音视频数据在时间轴上的位置的重要参数,缺少时间戳信息会导致无法确定数据在时间轴上的位置,从而无法正确的封装和处理。在 GStreamer 中,DTS 表示“解码时间戳”(Decode Time Stamp)。DTS 是一个用于视频和音频数据流的时间戳,表示媒体数据流中每个样本的解码时间。每个样本都与一个时间戳相关联,它表示该样本应该在媒体时钟中播放的时间。DTS。
2023-02-27 14:57:35
694
原创 五、Plugin Different scheduling modes
pad的调度模式定义了如何从(source)pad检索数据或将数据提供给(sink) pad。GStreamer可以在两种调度模式下工作,称为push-mode和pull-mode。GStreamer支持在任何调度模式下具有pad的元素,其中并非所有pad都需要运行在同一模式下。到目前为止,我们只讨论了_chain()操作元素,即在其sink pad上设置了chain函数并在其source pad上设置了push buffer的元素。
2023-02-21 16:56:57
399
原创 四、Plugin Request and Sometimes pads
到目前为止,我们只处理了总是可用的pad。然而,也有一些pad仅在某些情况下创建,或者仅在应用程序请求pad时创建。第一个有时被称为a;第二个被称为请求pad。pad的可用性(always, sometimes or request)可以在pad的模板中看到。本章将讨论它们各自在什么时候有用,如何创建它们,以及何时处理它们。
2023-02-21 15:56:35
406
原创 三、Plugin states、Building a Test Application
状态描述元素实例是否已初始化,是否准备传输数据,以及当前是否正在处理数据。GStreamer中定义了四种状态。从现在起,它们将被简称为“NULL”、“READY”、“PAUSED”和“PLAYING”。GST_STATE_NULL是元素的默认状态。在这种状态下,它没有分配任何运行时资源,没有加载任何运行时库,显然不能处理数据。GST_STATE_READY是元素可能处于的下一个状态。在就绪状态下,元素拥有分配的所有默认资源(运行时库、运行时内存)。然而,它还没有分配或定义任何特定于流的东西。
2023-02-21 15:30:16
243
原创 二、Plugin The chain/event/query function
链函数是所有数据处理都在其中进行的函数。在简单过滤器的情况下(本节示例的情况),_chain()函数大多是线性函数——因此对于每个传入的缓冲区,也将输出一个缓冲区。显然,上面的代码没什么用。你通常会在那里处理数据,而不是打印出数据所在的位置。但请记住,缓冲区并不总是可写的。在更高级的元素(进行事件处理的元素)中,你可能需要另外指定一个事件处理函数,在发送流事件时调用该函数(如caps、end-of-stream、newsegment、tags等)。在某些情况下,元素还可以控制输入数据速率。
2023-02-21 14:58:32
408
原创 一、Plugin Constructing the Boilerplate
在本章中,你将学习如何为一个新插件构建最少的代码。从起点开始,您将看到如何获取GStreamer模板源代码。然后,您将学习如何使用一些基本工具来复制和修改模板插件,以创建一个新的插件。如果您遵循这里的示例,那么在本章结束时,您将拥有一个可以编译并在GStreamer应用程序中使用的功能强大的音频过滤器插件。
2023-02-21 12:59:55
427
原创 二、Gstreamer splitmuxsink
该元素包装muxer和sink,并在mux内容即将跨越最大尺寸的最大时间阈值时启动一个新文件,在视频关键帧边界分割。只有一个输入视频流可以与任意多的音频和字幕流混接。默认情况下,它使用mp4mux和filesink,但可以通过muxer和sink属性更改它们。最小文件大小是1 GOP,但是,如果任意两个关键帧之间的距离大于限制,则限制可能会超过。如果视频流可用,则分割过程由视频流内容驱动,视频流必须包含关闭的GOPs,以便输出文件的部分能够正确地单独播放。
2023-02-16 14:25:36
1215
1
原创 二十五、Gtk4-多线程分析
首先回顾一下GLib,GObject,GIO,Gtk的不同,因为下面会涉及到这些概念里面的函数。所有这些都是由Gnome项目开发的库,一般都用于Gnome环境相关的应用程序。
2023-02-15 20:34:49
1121
原创 十二、GIO GSettings
GSettings类提供了一个方便的API来存储和检索应用程序设置。读写可以被认为是非阻塞的。使用GSettings读取设置通常是非常快的:在大致相同的数量级上(但比)GHashTable查找要慢。写入设置在返回应用程序的时间方面也非常快,但对于其他线程和其他进程来说可能非常昂贵。许多设置后端(包括dconf)具有延迟初始化,这意味着在通常情况下,用户使用他们的计算机而不修改任何设置,可以避免许多工作。对于dconf,在这种情况下甚至不需要启动D-Bus服务。
2023-02-12 17:47:50
670
原创 二十四、Gtk4-GtkExpression
GtkExpression是一种基本类型。它不是GObject的后代。GtkExpression提供了一种描述对值的引用的方法。GtkExpression需要求值才能获得值。它类似于算术计算。1 + 2 = 31+2是一个表达式。给出了计算的方法。3是来自表达式的值。求值是计算表达式并得到值。GtkExpression是一种获取值的方法。Evaluation类似于计算。值是通过计算表达式得到的。
2023-02-10 19:31:44
756
原创 二十二、Gtk4-ListView
GTK 4添加了新的列表对象GtkListView、GtkGridView和GtkColumnView。这个新特性在Gtk API参考—列表小构件概述中有描述。GTK 4还有其他实现列表的方法。它们是GtkListBox和GtkTreeView,它们是从GTK 3接管的。在Gtk开发博客中有一篇关于Matthias Clasen所写的列表小构件的文章。他描述了为什么开发GtkListView来取代GtkListBox和GtkTreeView。
2023-02-10 15:58:31
1303
原创 二十二、Gtk4-自定义图标
只需要在GtkIconTheme对象下,添加资源路径,就可以直接icon-name属性使用图标。例如:icon-name=vpf-update-symbolic。
2023-02-09 19:15:49
375
原创 四、AdwViewStack、AdwViewStackPage
能够切换AdwViewStackPage页面,切换器有两种样式,一种是图标和标签平行,另一种是图标在上和标签在下。可以通过policy属性进行选择。还可以选择其他切换器AdwViewSwitcherBar和AdwViewSwitcherTitle。
2023-02-06 20:49:40
103
原创 三、AdwClamp、AdwPreferencesGroup
将子构件约束为给定大小的构件。AdwClamp小构件将其包含的小构件的大小限制为给定的最大尺寸。如果是水平的,它会限制宽度,如果是垂直的,它会限制高度。child从最小尺寸到最大尺寸的扩展被缓和下来以实现平稳过渡。如果子进程需要的尺寸超过了所要求的最大尺寸,它会被分配给它能容纳的最小尺寸。
2023-02-06 20:28:52
368
原创 二、AdwaitaStatusPage
AdwBin构件只有一个子构件,用AdwBin:child属性设置。它对于派生子类很有用,因为它提供了处理单个子构件所需的通用代码。
2023-02-06 14:15:15
79
原创 二十一、Gtk4-Template XML and composite widget
前一节中的tfe程序不太好,因为很多东西都塞到了tfeapplication .c中。以及tfeapplication .c中的许多静态变量。文件tfeapplication.c应该被分成几个文件。首选项对话框由ui文件定义。它有GtkBox, GtkLabel和GtkFontButton。这样的小部件可以定义为复合小部件。子对象下一小节将展示如何构建首选项对话框。
2023-02-05 13:33:07
580
原创 十一、Gio Resource
(自gdk-pixbuf 2.32起已弃用),它将使用gdk-pixbuf-pixdata命令将图像转换为GdkPixdata格式,这允许您直接使用资源文件中的数据创建pixbufs,而不是它的(未压缩)副本。一旦创建并注册了GResource,就可以在进程中使用API调用(如g_resources_open_stream())来访问数据流或g_resources_lookup_data()来获得数据的直接指针,从而全局访问其中的所有数据。理想情况下,斜杠后面的路径应该是绝对的,但这不是严格要求的。
2023-02-05 10:57:32
597
原创 【20230204】Ubuntu系统备份与恢复
rsync(remote sync)它名称里面的r指的是 remote,rsync 其实就是"远程同步"的意思。与其他文件传输工具(如 FTP 或 scp)不同,rsync 的最大特点是会检查发送方和接收方已有的文件,仅传输有变动的部分(默认规则是文件大小或修改时间有变动)。它可以在本地计算机与远程计算机之间,或者两个本地目录之间同步文件(但不支持两台远程计算机之间的同步)。它也可以当作文件复制工具,替代cp和mv命令。
2023-02-04 10:35:43
781
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人