完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
首先感谢发烧友论坛和Sipeed举办的本次活动,我已经收到了Longan Pi 3H开发板了,Sipeed也是老朋友了,再次感谢对我的信任,感谢感谢。 项目计划1.完成开箱报告,了解板子外设和操作系统,主要研究Debian系统。 开箱报告依旧是顺丰快递到了的,打开以后泡沫袋保护的很好,然后就是熟悉的标志Sipeed,真的是太喜欢这家公司的板子了,外壳真的简约又大方。 上面写着板子的型号Longan Pi 3H,根据官方的介绍可知目前官方在Linux SBC主要有两个产品线,Lichee荔枝和Longan龙眼,荔枝系列是RISCV架构,龙眼是ARM架构,不过这是最近定的,因为有两个早期的叛徒 打开以后还有一层气泡袋进行了减震,更好的保护了板子,板子是分离的,核心板和底板都很小巧,做工都很不错,底板可以分为两组排针,一个Type C接口,两个USB接口,一个RJ45接口,一个HDMI接口,还有一个TL8800TCUA的WIFI模块,两个LED灯,具体的可以查看LPi3H_33081的原理图,在图上和介绍里其实你还会发现有TF卡,其实TF卡的插槽就在HDMI的背面,这也是为什么外壳的HDMI开口的上面还有一个开口的原因,如果不仔细看估计会不好找到。 接下来再详细说说两组接口一组是DEBUG TTL的RX/TX/5V/GND,另外一组是GPIO口,具体的如上图所示。Type C是不仅仅有供电功能,还拥有OTG功能,两个USB-A口不用多说可以连接鼠标键盘,千兆网口使用的是自带变压器的,以前用的MilkV Duo和LuckFox Pico两款开发板自己增加网口的时候也是采用的HanRun的,只不过哪个是百兆的,最后还拥有HDMI接口。 翻过来背面就可以看到核心板了,最直接映入眼帘的就是三款芯片,分别是rs70b32g4,是一块容量为32G的EMMC芯片,接下来是全志的H618芯片,再下面就是RS1G32LO4,是一块DDR4的4G内存,资源给的是相当的丰厚。 先采用Type C进行供电,然后直接使用有线网络进行连接,然后连接鼠标、键盘和显示器。 然后就成功进入系统了,系统是我最喜欢的Debian系统,为了编码方便我的显示器是2K的显示器,但是可以看到系统成功识别正确,同样是采用的2K分辨率进行了显示,效果相当不错。 查看了一下内核版本,使用的是6.7,Debian系统采用的是最新的Debian 13系统,可以看到是sid,也就是所谓的不稳定版本,感觉有些激进了,查看了下源,已经使用了国内源,这下也省得自己进行改源了,还是不错的。 接下来输入htop,这个命令也已经自己带了,可以看到4核4G的配置。 使用df -h命令进行查看,可以看到32G的容量与我们所看到的芯片也保持了一致。 4核A53加4G内存,完全就是一台电脑的配置,关键是体积还这么小,功耗这么低,真的是退可以撸代码,进可以充当小型服务器,真的牛! |
|
相关推荐
11 个讨论
|
|
其实,早在我知道自己获得了Longan Pi 3H后,我就已经开始着手打印外壳了,Sipeed家的大部分板子都自己带有3D文件,所以,可以打开Sipeed家的官方下载站进行下载,Longan Pi 3H的下载站在这里,然后在里面选择05_3D_file就可以下载了,然后进行解压文件。文件解压完成后,里面其实是STEP文件,这个文件有的3D打印机会认,有的则不认,我的那个打印机就属于不认的那种,于是我用SW2020转换成了STL格式进行切片后进行了打印。 打印很快就完成了,因为当时我还没有收到开发板,所以当我拿到打印完成后的壳子真的感觉太厉害了,开发板竟然做到了这么小,真的是太棒了。 然后,翻到正面就可以看到外壳上面写的LonganPI-3H,真的很小巧,不过在我要安装的时候就给把壳子弄坏了,大概是因为我的打印机采用的是FDM打印机,所以抗形变能力真的很差,不过后来我用3D Builder稍微进行了一些修改,然后就安装成功了。 板子从上面查看的样子,里面的内容一览无遗,板子其实最主要怕的就是短路和静电了,所以弄个板子还是一个非常不错的选择,上面其实是有一个固定的边框的,即可以固定,又可以保证散热。 接口这面还是非常不小心的把网口和USB口之间的立柱碰掉了,自己动手能力不好,所以美观方面大打折扣。不过我最近在发烧友论坛看到另外一个大神自己做了个STL,那个就比较适合FDM打印机去打印了,如果手里有FDM的,又不在意全包住的可以看一看他的,链接在这里。 外壳就先说到这里,再说说轻办公,轻办公的定义我觉的可以简单的编写一些小程序,写个文档,使用chromium浏览个网页就OK了,这些龙眼派都可以轻松做到,更加繁重的工作就不要难为他了。但是如果有一台云电脑,或者你办公室的电脑24小时不关机又恰好有公网IP,那么,这个问题就可以轻松解决了,作为一个写代码画板的,你的电脑不会每天都开关机吧?既然需要远程,那么就可以看看Remmina这个软件咯,首先使用APT来搜索一下remmina,然后就可以找到一个RDP的插件了,如果要远程Windows,那么就需要这个协议插件了。
输入以上代码就可以轻松进行安装了。 打开软件后,首先输入Server,其实就是IP地址和端口号。 然后往下翻翻选择分辨率,这里的分辨率最好选择成Use client resolution,就是跟随客户端的分辨率,就像客户端的分辨率如果是2560x1440,那么我们远程的分辨率也就是2560x1440了,看起来就非常舒服了。 然后选择Advance,在Advance中的Quality中选择Good,这个其实是选择质量,质量越高需要的流量越高,画面越好看,因为不差流量,所以不要折磨自己的眼睛了,直接选择GOOD就好了。 这就是最后的效果了,可以看到在派上已经成功连接上我的主机了。分辨率就是我显示器的分辨率2560x1440,还需要注意的一个地方,如果打开以后没有自动全屏,需要自己进行点击一下按钮才会全屏的。 |
|
|
|
|
|
本帖最后由 dutong0321 于 2024-4-17 10:30 编辑 我突然发现,我还没有写板子的初始用户名和密码,其实这个可以从官网上面可以找到的,用户名是sipeed,密码是licheepi,虽然使用图形界面不需要每次输入密码,但是使用sudo命令时肯定是难免需要的,这次的主要更新是要在板子上搭建好ffmpeg的开发环境,并测试接收RTSP流,推RTMP流,采用SSH来进行远程登录,后期呢,主要的研究方向在硬解和硬编两方面。 首先还是需要安装软件,输入命令:
安装完软件以后,接下来就要进行的是写代码,测试代码还是我在爱芯派评测中的代码:
代码一会儿我以附件的方式再传一下哈。 接下来就可以通过命令来编译了,只有一个文件也没有必要整makefile了。
一个警告都没有的执行完毕了,接下来试试执行! 然后就开始进行执行,执行文件后就可以看到编解码信息了。 最后,来看看执行的效果,使用VLC来查看rtmp流的信息。 可以看到也是可以正常播放的,这就代表FFMPEG的开发环境已经安装无误了,这种方式是使用板子进行安装编译的,这也说明板子的性能还是非常不错的,在上一期我就说过板子上进行一些简单的代码开发也是没有问题的,下次的研究方向就是硬解码硬编码! 对了,还有代码的附件。
ffmpeg.zip
(1.56 KB, 下载次数: 0
)
|
|
|
|
|
|
代码可以通过下载附件进行解压后查看,我查看了一下刚刚写好的代码发现只有一行,可能有的大佬懒的下载附件,所以,我重新传一下代码。
|
|
|
|
|
|
上次传完代码后,发现开始的三个头文件还是没有上传成功,反正也就是stdio之类的头文件,也就懒的补了,不然感觉在水帖子,然后再说说这次遇到的问题,本来这次打算做H618的硬编码的,但是失败了。 我在上次研究全志、瑞星微的硬编码时,收集到了全志的一个“V40, A31s, A80, A33, H3, H8 全志H264硬编码资料”的一个资料包,一般来讲同一个厂家的硬件编解码一般是差不多的,所以我就依托这个资料包试着对H618进行了开发,但是在开发以后发现打不开编解码的硬件加速设备,然后我就查看了一下/dev下的设备发现并没有注册编解码的硬件加速设备,我开始怀疑是不是固件有些老,或者Linux主线有些太新或太久,于是我打开了全志的H618网站H616,虽然写的是H616,但其实H618是H616的升级,所以这个可以完全当成是H618的网站,然后我就看到了令我头皮炸裂的消息: 是的,你没有看错,在video engine处写着patches exist somwhere?,那个灵动的问号代表了这句话的意思是可能在某些地方拥有补丁,然后我抱着不死心的想法,去友商那里看了一下,同样太难受了: 也就是说,目前来讲,视频的硬编解码只能再稍微等等了,所以接下来,我的开发重点可能会转到QT上面,然后硬编解码这块会等待全志支持后继续进行。 顺便提一下全志的H3硬编码的例子可以参考:h264_encoder_H3 还有这个:cedrus |
|
|
|
|
|
接着搞起来,上次在搞全志的硬编码时没有搞成功,所以只能选择放弃,所以,决定先转向QT的开发,就目前来讲,玩C语言最容易上手的应该就是QT了,MFC有点老了, Windows API编程用的也不多,至于GTK更加用的人少吧,像现在很多直播伴侣都是使用的QT,而且当年玩嵌入式图形界面的,估计都是用的QT吧?现在QT也从4的时代一路干到6的时代了(不过我给公司选型的时候选择了QT5,开发项目别太激进)。
在x86的PC平台如何进行安装,这里就不在赘述了,今天要聊的是在龙眼派上面的安装方法。 众所周知,Linux下进行安装软件一共有三种方法: 第一种就是采用源代码自己进行编译,QT目前是给提供源代码,包括当年大家玩QT的嵌入式图形界面,裁剪库,交叉编译,移植,不过自从进入QT5的时代以后,貌似这样做就有可能违反开源协议,小心律师函咯,这里我也不懂,希望懂的大大们可以不吝赐教,所以抛弃这种方式! 第二种就是使用自带的软件库进行安装,这种方式有时候的确可行,我记得我在树莓派上安装过QT5,几行APT代码下去,然后就可以安装成功了,我在派上搜索了包,发现QT5 QT6 QTCreator这几个包都存在,不过安装的时候发现QT Creator的安装很轻松,但是QT5 QT6的整合开发包确并不容易,所以这种方案我也放弃了。 那就没招了,只能选择最后一种安装方法吧,就像是在Windows下面安装一样,我们需要去官网去下载安装包,然后进行安装,但是当我打开官网,选择开源,然后发现要命的来了,有Linux但是并没有ARM架构! 难道又要放弃了么?想想真的不甘心啊,然后我想着正好看看现在镜像源的版本有哪些,为什么要看呢,主要还是因为要看看官方不维护的版本到了多少了,而我最喜欢的是USTC的源,所以,打开看一看,链接在这里QT的USTC源。这个里面是帮助页面,然后就看到令人喜出望外的一幕,QT的在线安装源是支持ARM64的,对的,你没有看错,虽然她不支持ARM32位,但是支持ARM64位。 现在我们试着打开上面的链接,就可以看到里面真的有arm64位的在线安装程序了。 可以直接打开这个链接进行下载:https://mirrors.ustc.edu.cn/qtpr ... ux-arm64-online.run,下载以后安装的时候一定要做上面的操作,我把命令放在下面供参考,第一行是进行下载,第二行是增加执行权限,第三行是执行程序,并且修改源为USTC的源!
然后就打开了安装程序,首先需要登录QT的账号,我因为以前就用过所以早就注册了,这里就不放第一张图了,输入以后直接点击下一步。 这张图是需要同意协议的过程,第一个勾表示同意,第二个勾表示咱们是个人开发者,没有公司,然后继续下一步! 然后就是访问软件源,等待进度条走完进行下一步。 选择隐私协议,我选择的是第二个,不让上传数据,然后,点击下一步。 这个地方是选择要安装的软件有哪些,第一个是自定义的软件,进去以后可以选择软件组件的安装,第二个和第三个是推荐的安装,不同的是第二个安装的是桌面程序,第三个安装的是移动程序,桌面程序的意思是开发出来的软件要在龙眼派上使用,移动程序的意思是开发出来的软件要在安卓和IOS上面进行使用,我们直接选择第二个就行,然后记的修改安装目录,推荐就在用户根目录下的Qt目录就行。 然后又是同意开源协议的过程,把勾勾勾上,然后继续点击next,剩下的就不截图了,基本上就是一路下一步的事情了。 安装以后,就可以看到Development下面有两个程序,一个Qt Creator,另外一个是Qt Maintenance Tool,然后我们打开Qt Creator,就会发现打不开,哈哈! 看看提示吧,大概意思就是说从6.5开始,需要xcb组件,那就按照提示进行安装呗,输入以下命令:
安装完毕后,再次试着打开就没啥问题了。 打开以后,点击Create Project,新建一个程序! 然后选择Application(Qt),选择Qt Widgets Application,然后选择choose。 接下来选择安装目录,输入工程的名字。 在Build System中选择默认的CMake就可以了,继续Next。 创建主页面,也直接默认就可以了! 选择语言,就是说咱们的软件要不要支持多语言系统,这个地方就也按照默认选择None就好。 再继续进行下一步,在这里可能没有出现了Desktop Qt后面加上版本号,那就继续下一步就可以,如果没出现,那就需要点击options进行配置一下。 首先打开Qt Versions,点击Add,然后在qmake path中点击Brower,在这个地方选择qt的安装目录,版本号,架构,bin目录,然后qmake6就可以了。 然后再点击回Kits,在这里面选择Qt Version,在这里里面选择Qt的版本号就行,点击Apply,然后Ok,就可以看到里面有Desktop了,继续下一步吧! 然后过一小会儿,所有的工程文件就都创建好了! 我们修改一下主界面,把状态栏和菜单栏都删掉,加上一个Label,然后,点击运行! 然后,编译完成以后,我们的程序就可以正常运行了! 这里还要说一下,其实挺幸运的,应该Arm64是最近才开始支持的,因为我打开看了一下online/qtsdkrepository的目录,发现x86下面qt5 qt6的版本有很多,但是arm64下面却只有qt670 qt671,所以官网上面还没更新上去,对于我们的派来讲,这种安装方式,包括运行方式,因为我们都不是静态编译,所以不需要将我们自己的代码开源也不会违反LGPL,虽然我们是在开发板上面运行的,但是实际上我们的开发板并不是像以前那种方法编译运行的,而是类似于在X86的PC上面运行的一样,所以在安装的时候,我们选择的也是Desktop而不是Embedded。 |
|
|
|
|
|
刚刚上传以后发现不知道为啥图片没有上传上来,重新再发一下。 接着搞起来,上次在搞全志的硬编码时没有搞成功,所以只能选择放弃,所以,决定先转向QT的开发,就目前来讲,玩C语言最容易上手的应该就是QT了,MFC有点老了, Windows API编程用的也不多,至于GTK更加用的人少吧,像现在很多直播伴侣都是使用的QT,而且当年玩嵌入式图形界面的,估计都是用的QT吧?现在QT也从4的时代一路干到6的时代了(不过我给公司选型的时候选择了QT5,开发项目别太激进)。 在x86的PC平台如何进行安装,这里就不在赘述了,今天要聊的是在龙眼派上面的安装方法。 众所周知,Linux下进行安装软件一共有三种方法: 第一种就是采用源代码自己进行编译,QT目前是给提供源代码,包括当年大家玩QT的嵌入式图形界面,裁剪库,交叉编译,移植,不过自从进入QT5的时代以后,貌似这样做就有可能违反开源协议,小心律师函咯,这里我也不懂,希望懂的大大们可以不吝赐教,所以抛弃这种方式! 第二种就是使用自带的软件库进行安装,这种方式有时候的确可行,我记得我在树莓派上安装过QT5,几行APT代码下去,然后就可以安装成功了,我在派上搜索了包,发现QT5 QT6 QTCreator这几个包都存在,不过安装的时候发现QT Creator的安装很轻松,但是QT5 QT6的整合开发包确并不容易,所以这种方案我也放弃了。 那就没招了,只能选择最后一种安装方法吧,就像是在Windows下面安装一样,我们需要去官网去下载安装包,然后进行安装,但是当我打开官网,选择开源,然后发现要命的来了,有Linux但是并没有ARM架构! 难道又要放弃了么?想想真的不甘心啊,然后我想着正好看看现在镜像源的版本有哪些,为什么要看呢,主要还是因为要看看官方不维护的版本到了多少了,而我最喜欢的是USTC的源,所以,打开看一看,链接在这里QT的USTC源。这个里面是帮助页面,然后就看到令人喜出望外的一幕,QT的在线安装源是支持ARM64的,对的,你没有看错,虽然她不支持ARM32位,但是支持ARM64位。 现在我们试着打开上面的链接,就可以看到里面真的有arm64位的在线安装程序了。 可以直接打开这个链接进行下载:https://mirrors.ustc.edu.cn/qtpr ... ux-arm64-online.run ,下载以后安装的时候一定要做上面的操作,我把命令放在下面供参考,第一行是进行下载,第二行是增加执行权限,第三行是执行程序,并且修改源为USTC的源!
然后就打开了安装程序,首先需要登录QT的账号,我因为以前就用过所以早就注册了,这里就不放第一张图了,输入以后直接点击下一步。 这张图是需要同意协议的过程,第一个勾表示同意,第二个勾表示咱们是个人开发者,没有公司,然后继续下一步! 然后就是访问软件源,等待进度条走完进行下一步。 选择隐私协议,我选择的是第二个,不让上传数据,然后,点击下一步。 这个地方是选择要安装的软件有哪些,第一个是自定义的软件,进去以后可以选择软件组件的安装,第二个和第三个是推荐的安装,不同的是第二个安装的是桌面程序,第三个安装的是移动程序,桌面程序的意思是开发出来的软件要在龙眼派上使用,移动程序的意思是开发出来的软件要在安卓和IOS上面进行使用,我们直接选择第二个就行,然后记的修改安装目录,推荐就在用户根目录下的Qt目录就行。 然后又是同意开源协议的过程,把勾勾勾上,然后继续点击next,剩下的就不截图了,基本上就是一路下一步的事情了。 安装以后,就可以看到Development下面有两个程序,一个Qt Creator,另外一个是Qt Maintenance Tool,然后我们打开Qt Creator,就会发现打不开,哈哈! 看看提示吧,大概意思就是说从6.5开始,需要xcb组件,那就按照提示进行安装呗,输入以下命令:
安装完毕后,再次试着打开就没啥问题了。 打开以后,点击Create Project,新建一个程序! 然后选择Application(Qt),选择Qt Widgets Application,然后选择choose。 接下来选择安装目录,输入工程的名字。 在Build System中选择默认的CMake就可以了,继续Next。 创建主页面,也直接默认就可以了! 选择语言,就是说咱们的软件要不要支持多语言系统,这个地方就也按照默认选择None就好。 再继续进行下一步,在这里可能没有出现了Desktop Qt后面加上版本号,那就继续下一步就可以,如果没出现,那就需要点击options进行配置一下。 首先打开Qt Versions,点击Add,然后在qmake path中点击Brower,在这个地方选择qt的安装目录,版本号,架构,bin目录,然后qmake6就可以了。 然后再点击回Kits,在这里面选择Qt Version,在这里里面选择Qt的版本号就行,点击Apply,然后Ok,就可以看到里面有Desktop了,继续下一步吧! 然后过一小会儿,所有的工程文件就都创建好了! 我们修改一下主界面,把状态栏和菜单栏都删掉,加上一个Label,然后,点击运行! 然后,编译完成以后,我们的程序就可以正常运行了! 这里还要说一下,其实挺幸运的,应该Arm64是最近才开始支持的,因为我打开看了一下online/qtsdkrepository的目录,发现x86下面qt5 qt6的版本有很多,但是arm64下面却只有qt670 qt671,所以官网上面还没更新上去,对于我们的派来讲,这种安装方式,包括运行方式,因为我们都不是静态编译,所以不需要将我们自己的代码开源也不会违反LGPL,虽然我们是在开发板上面运行的,但是实际上我们的开发板并不是像以前那种方法编译运行的,而是类似于在X86的PC上面运行的一样,所以在安装的时候,我们选择的也是Desktop而不是Embedded。 |
|
|
|
|
|
咱们继续往下聊,上次聊到了,终于把QT的环境搭建好了,并且写了一个英文的Hello World!,接下来,咱们继续往下走。 问:Linux最难的地方有啥?1.VIM退不出去2.没有中文输入法 虽然真的是在开玩笑,但是说实话对于刚接触Linux的新手来讲,这两个问题真的可能劝退用户,先说第一个VIM退不出去,其实对于新手来讲可以用nano或者emacs是个不错的选择,我在刚开始接触Linux时就是使用的emacs进行的过度,当然现在用习惯VIM后,基本上就用VIM来作为主力了,这个地方就不多讲了,现在要讲的是安装中文输入法。 Linux其实默认大多都没有默认安装输入法,除非像deepin,像是在Debian下,一般是不会安装的,尤其当年刚接触时好像是Debian6的时候,真的用的很难,那时网络上面的资料又比较少。对于Linux来讲,一般的输入法有两种,一种是fcitx,一种是ibus,相对来讲,其实ibus是更加好用一些,所以我推荐大家在龙眼派上安装ibus。 安装起来也很简单,三行命令:
前两行就不解释了,第三行就是安装ibus的pinyin插件,安装上以后ibus也就默认依赖安装了。安装完毕后,就会惊奇的发现,啥用都没有!!! 选择设置,然后选择IBus选项,然后点击OK就可以进行设置了。 首先在General中进行设置,首先设置快捷键,我一般喜欢用Ctrl+space,默认的好像是Super+Space,好像是徽标键+空格键,会改的自己改一下,不会改的就别纠结了,其实挺好改的,但我有点懒的描述了,大概就是按一下后面的那三个点的按钮,然后在里面进行设置,每改一下记的点一下Apply。 然后把Panel改成Always就可以了。 然后选择输入法,默认只有1个,我们把刚刚安装好的那两个添加进来,先点击Add,然后选择Chinese,再选择我们要的两个Pinyin输入法,接下来就Close,然后我们就发现:还是不能用啊!!! 没事,接下来就轻松了,重启一下就OK了,不过重启以后,以后就需要输入用户名和密码了,想改的自己再改回来吧! 接下来我们就可以正常的使用了! 下一步,我们就开始中文编程吧! |
|
|
|
|
|
接下来我们把之前在Qt工程中,把界面上面的那句话改成中文的: 然后进行编译,编译后运行: 可以看到可以正常显示,没有乱码! 接下来,我们在代码里面输入中文: 然后继续编译,运行! 运行后,点击确定,就可以看到我们的效果了,可以看到也是可以正常运行的,没有乱码! |
|
|
|
|
|
首先,令我感到惊喜的是发烧友的回帖也可以使用Markdown来进行书写了,真的是太开心了,用Markdown来写技术文档是真的很舒服,希望发烧友越来越好! 在上次回帖中终于把QT的中文编程环境搭建完毕,这次继续来使用QT进行编程,这次的主要目的有二,一个是对QT的日常使用的类和特色功能进行一个简单的使用,另外一个是集成一些非QT的库的使用方法。首先,打开QT creator,然后在creator中再次进行新建一个项目,选择好项目路径,点击下一步。 接下来,在选择编译系统中,我们不再选择cmake,而是选择QT专属的qmake,选择qmake的原因是因为如果想要移植到其他平台使用qmake会更加方便,比如Windows,另外一方面的原因也是我用习惯qmake了,如果平时就在Linux下使用cmake的大佬可以自行选择。 然后一路下一步就行,一直等到选择kits的时候,记的勾选桌面环境,然后就继续下一步,一直完成就行! 代码还是以前写的ffmpeg.c的代码,不过肯定还是有些地方需要进行一些修改,先来看看效果图! 然后接下来进行介绍具体的编写方法,顺便把代码附上来:
这里主要增加了一个点击按钮事件,然后又增加了一个ffmpeg_thread的slot事件,最后还新增了一个FfmpegThread的类,这个类是我们自己写的,一会儿再具体说。
在这里第一个构造函数里,我们需要实例化FfmpegThread,然后就是用了connect,可以说这个就是QT的一个特点,就是通过connect把一个对象的信号和另外一个对象的槽进行连接,是的对象只要发送信号,另外一个对象执行槽函数就进行响应就行了,例如,点击按钮事件,点击以后执行对应的槽函数,发送网络请求事件,网络请求收到回复就去执行对应的槽函数,这里恕我口拙就不再细说,主要目的还是介绍龙眼派。
然后就是创建一个FfmpegThread的类,为什么要创建一个线程呢?是因为主线程要做的事情有很多,比如说更新UI等,如果把耗时长的线程交给主线程的话,软件就会卡死,所以一般把耗时长的线程比如网络响应等就要另外创建一个线程来进行执行!其实对于我们一般的程序员来讲,大部分是不会考虑多线程在软件运行速度上面的考量的,并不是因为现在现在是多核CPU才会用到多线程,就像在单片机里面,只有一个核心,有时候也需要多线程,所以才引入实时操作系统的,当然用中断也可以实现,这里也不详细解释了。在不同的操作系统下,有着不同的多线程方法,而如果使用QT的话,那就有福了,不管是Windows还是Linux,都只需要继承QThread就可以了。我们在这里要先引入ffmpeg的头文件,然后还要写一个signal与主函数进行通信,剩下就需要一个run函数了,我们主要在run中写线程的逻辑,然后在MainWindow中,执行对象的start函数就可以启动线程了!
这个就是我们使用ffmpeg.c进行改写的线程逻辑了,其实里面也没有什么别的,一方面我们引入了调试的qDebug(),另外一方面就是使用emit发送信号!
最后,把pro文件也附上来,qmake就是根据这个文件进行的,理解起来也不难,比如第一个地方代表要包含QT的哪些库,SOURCES 就是工程包含的cpp文件,HEADERS 就是工程包含的头文件,FORMS 就是工程包含的UI文件,这里要着重说一下LIBS ,这个LIBS 就是我们要包含的库文件,在这里我们可以看到包含了ffmpeg的库文件,注意这里并没有写路径,是因为我们使用apt安装的ffmpeg,所以不用写库文件的路径,ffmpeg的头文件也不用写,但是如果是自行编译的库,那就需要这样写了:
这个地方我也就是简单说明一下,最后来看看效果图吧! 完成的工程代码放在附件里了! |
|
|
|
|
|
对了,还要麻烦发烧友的审核大大帮忙修改一下标题: |
|
|
|
|
|
如果大家在使用我这套代码时发现有什么问题,或者有什么意见,欢迎回帖讨论哈!
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
216个成员聚集在这个小组
加入小组【Longan Pi 3H 开发板试用连载体验】给ChatGPT装上眼睛,并且还可以语音对话:7,图像采集与物体识别
1240 浏览 0 评论
【Longan Pi 3H 开发板试用连载体验】给ChatGPT装上眼睛,并且还可以语音对话:6,FastAPI服务器搭建与TTS播放
1262 浏览 0 评论
【Longan Pi 3H 开发板试用连载体验】给ChatGPT装上眼睛,并且还可以语音对话:5,音频采集
954 浏览 0 评论
【Longan Pi 3H 开发板试用连载体验】给ChatGPT装上眼睛,并且还可以语音对话:4,项目开发环境搭建
968 浏览 1 评论
【Longan Pi 3H 开发板试用连载体验】给ChatGPT装上眼睛,并且还可以语音对话:3,系统基础配置
1741 浏览 0 评论
【Longan Pi 3H 开发板试用连载体验】轻办公和直播开发研究
1075浏览 11评论
【Longan Pi 3H 开发板试用连载体验】给ChatGPT装上眼睛,还可以语音对话
2060浏览 7评论
【Longan Pi 3H 开发板试用连载体验】基于 Longan Pi 3H 开发板完成智能家居控制小型项目
1716浏览 6评论
【LicheeRV-Nano开发套件试用体验】【更新主贴】高频电力计算终端开发
813浏览 4评论
【LicheeRV-Nano开发套件试用体验】+ 实现三麦克纳姆轮小车自主导航
1073浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-19 14:08 , Processed in 0.714174 second(s), Total 61, Slave 54 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号