- 博客(240)
- 资源 (12)
- 收藏
- 关注
原创 yolov8 安装步骤说明
是一款尖端的最先进的模型,它在先前的 YOLO 版本成功的基础上,引入了新的特性和改进以进一步提升性能和灵活性。YOLOv8 设计得既快速又准确,易于使用,使其成为广泛应用于对象检测与跟踪、实例分割、图像分类及姿态估计任务的理想选择。我们希望这里的资源能帮助您充分利用 YOLOv8。请浏览 YOLOv8 的。提出问题获取支持,并加入我们的。
2024-06-19 19:50:17
160
原创 三种方式实现人车流统计(yolov5+opencv+deepsort+bytetrack+iou)
运用yolov5目标检测、deepsort、bytertrack、opencv、iou等算法实现三种方式统计人流或车流。
2024-06-18 15:09:36
1272
原创 了解NAT
装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址。这样,所有使用本地地址的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。另外,这种通过使用少量的公有IP 地址代表较多的私有IP 地址的方式,将有助于减缓可用的IP地址空间的枯竭。局域网内的终端是如何共用一个wan口来上网的?
2023-09-01 11:52:08
173
原创 C语言网络编程实现组播(多播)
因为网卡可能接收到主机不想接收的多播数据帧,如下图,假如主机 1 加入的多播为 224.128.64.32,主机 2 加入的多播为 224.0.64.32,我们想给 224.0.64.32 所在的多播组 ( 主机 2 ) 发送信息,数据经过网卡时,224.128.64.32 (主机 1 ) 和 224.0.64.32 (主机 2 ) 所在多播组的网卡都会收到数据,因为它们的 MAC 地址都是 01:00:5e:00:40:20。/*设置多播IP地址*//*设置多播端口*//*初始化IP多播地址为0*/
2023-08-30 16:14:09
1155
原创 C语言网络编程实现广播
因为广播的数据包比较特殊,他的目的mac地址全是f(ff:ff:ff:ff:ff:ff) 这个数据包会发给交换机,交换机是工作在链路层的,交换机看到这样目的mac全是f的数据包,就会将该数据包发给局域网内的所有主机。到达网络层一看IP地址是广播的IP地址,则可以通过。以192.168.1.0 (255.255.255.0) 网段为例,最大的主机地址192.168.1.255代表该网段的广播地址(具体以ifconfig 命令查看到的 broadcast 后面的为准)发到该地址的数据包被所有的主机接收。
2023-08-29 15:11:09
649
原创 ICMP协议报文
ICMP(Internet Control Message Protocol)是一种网络协议,它用于在IP网络中传递控制信息和错误消息。它通常与IP协议一起使用,IP协议负责发送和路由数据包,而ICMP协议负责检查网络是否可达、路由是否正确、主机是否可达等网络状态的反馈信息。
2023-08-13 08:45:44
1222
原创 网络协议栈-基础知识
1、OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型 ,是一个逻辑上的定义,一个规范,它把网络从逻辑上分为了7层。2、每一层都有相关、相对应的物理设备,比如路由器,交换机。OSI 七层模型是一种框架性的设计方法 ,建立七层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题,其最主要的功能使就是帮助不同类型的主机实现数据传输。
2023-08-12 18:13:16
988
原创 Linux 4g模块NL660驱动
在目录 drives/net/usb 添加Fibocom_Linux_GobiNet_Driver文件夹。option.c option_ids 添加如下。udhcpc 分配不到ip出现如下情况。编译生成 GobiNet.ko。解决办法 找到下面进程杀死。修改makefile。能成功ping 外网。
2023-06-15 11:56:29
426
原创 在rk3568移植rtl8723du,配置成wifi ap模式
在文件buildroot/output/rockchip_rk3568/build/busybox-1.34.1/.config中也增加了个宏定义。添加 source "drivers/net/wireless/rockchip_wlan/rtl8723du/Kconfig"最终在目录buildroot/output/rockchip_rk3568/target/usr/sbin中有了udhcpd。拷贝到目录buildroot/output/rockchip_rk3568/target/usr/sbin。
2023-05-23 10:29:00
2309
1
原创 nvram 驱动和应用
3、或者直接修改 /kernel/arch/arm64/configs/rockchip_linux_defconfig。2、修改/kernel/drivers/mtd/maps/makefile。3、修改/kernel/drivers/mtd/maps/kconfig。1、/kernel/drivers/mtd/maps添加文件。添加CONFIG_MTD_NVRAM=y。
2023-05-15 19:43:54
574
1
原创 dts pinctrl初始gpio0方法
3、函数of_get_gpio_init_config定义如下。1、在pinctrl-rockchip.c文件中添加头文件。2、 在如下函数添加红色代码。
2023-05-12 14:12:15
968
原创 http协议格式
HyperText Transfer Tansfer Protocol 超文本传输协议,是一种基于TCP的应用层协议,也是目前为止最为流行的应用层协议之一,可以说HTTP协议是万维网的基石。历经了0.9、HTTP/1.0、HTTP/1.1、HTTP/2几个版本(关于HTTP协议的历史,这里有一片文章介绍的比较详细),目前流行的还是HTTP1.1这个版本,HTTP2还在推广中,我这里复习的也仅仅是H...
2023-05-12 11:49:56
323
1
原创 MII、 RMII、 GMII、 RGMII 接口介绍
ETH_TXCTL 和 ETH_RXCTL 控制信号同样采用 DDR 的方式在一个时钟周期内传输两位控制信号,即上升沿发送/接收数据使能(TX_EN/RX_ DV)信号,下降沿发送/接收使能信号与错误信号的异或值(TX_ERR xor TX_EN、 RX_ERR xor RX_DV)。即简化千兆比特媒体独立接口,数据位宽为4 位,1000Mbps 速率下,时钟频率为 125MHz;即媒体独立接口,数据位宽为 4 位,100Mbps 速率下,时钟频率为 25MHz;
2023-04-23 16:26:15
8757
3
原创 PS封装格式:GB28181协议RTP传输
首先,我们来看看I帧的PS流格式,这里需要注意的是SPS、PPS之前要加上PES头部。如下图所示,其中绿色部分就是我们拿到的H.264裸流数据,须将它拆分成三段并在前面加上PES头部。一般情况下IDR帧很大,超过了RTP的负载长度限制(1400字节),所以上面这一个I帧要拆分成若干包RTP分多次发送。在安防行业,有个协议是无论如何都要适配的,因为公安监控网络用的就是它,它就是:GB28181。上面提到的是I帧的情况,相比它,P/B帧的帧格式真是太简单了,因为它既没有SYS、PSM,也没有SPS、
2023-04-15 14:03:26
864
1
原创 GB28181 协议 SIP
传输方式采用“RTP/AVP”标识传输层协议为 RTP over UDP,采用“TCP/RTP/AVP”标识传输层协议为RTP over TCP;a字段:a=rtpmap: / [/] 中的,利用该属性携带编码器厂商名称。s字段:表示请求媒体流的操作类型,“Play”标识为点播请求 “Playback”标识回播请求 “Download”表示文件下载 “Talk”表示语音对讲;f字段:f=v/编码格式/分辨率/帧率/码率类型/码率大小 a/编码格式/码率大小/采样率 其中v表示video a表示audio。
2023-04-13 14:47:42
802
原创 H.264 编码中, I 帧、B 帧、P 帧、IDR 帧的区别
在H.264协议里定义了三种帧,完整编码的帧叫 I 帧,参考之前的 I 帧生成的只包含差异部分编码的帧叫 P 帧,还有一种参考前后的帧编码的帧叫 B 帧。B 帧的预测与重构:B 帧以前面的 I 或 P 帧和后面的 P 帧为参考帧,“找出”B 帧“某点”的预测值和两个运动矢量,并取预测差值和运动矢量传送。P帧的预测与重构:P 帧是以 I 帧为参考帧,在 I 帧中找出 P 帧“某点”的预测值和运动矢量,取预测差值和运动矢量一起传送。I 帧:帧内编码帧 ,I 帧表示关键帧,你可以理解为这一帧画面的完整保留;
2023-04-13 10:20:43
1082
原创 H264码流中 SPS PPS SEI 详解
对于部分语法元素,在不同的编码配置下,选择的熵编码方式不同。根据该标识位取值不同,PicHeightInMapUnits的含义也不同,为0时表示一场数据按宏块计算的高度,为1时表示一帧数据按宏块计算的高度。标识位,用于表示另外条带头中的两个语法元素delta_pic_order_cnt_bottom和delta_pic_order_cn是否存在的标识。slice的语法元素num_ref_idx_l0_active_minus1和num_ref_idx_l1_active_minus1的默认值。
2023-04-12 19:59:40
2106
原创 H264裸码流 I/P/B帧对应NAL类型
从nal_header可以容易找到I帧(0x65),但却无法分辨出P帧和B帧,因为nal_header都是0x41(对应于nal_unit_type的1)。因此,用winhex看裸流的二进制数据时,通常看到start_code后的nal_header为:0x67, 0x68, 0x65,nal_header结构为:F(1bit) + NRI(2bits) + NAL_Type(5bits)。较常用nal类型包括:SPS(7)、PPS(8)、IDR(5)、SLICE(1)。,其分别对应SPS、PPS、I帧、
2023-04-12 19:23:22
935
转载 pmap命令
pmap命令用于报告进程的内存映射关系,是Linux调试及运维一个很好的工具。语法pmap(选项)(参数)选项-x:显示扩展格式;-d:显示设备格式;-q:不显示头尾行;-V:显示指定版本。参数进程号:指定需要显示内存映射关系的进程号,可以是多个进程号。实例pidof nginx13312 5371pmap -x 53715371: nginx: worker process Address Kbytes
2021-11-12 09:31:45
1686
原创 以太网协议
TCP/IP四层模型中,以太网协议采用RFC894格式,如下图:格式如下:1、目的地址与源地址: 这里都指的是 MAC 地址。每一个主机对应唯一的一个 MAC 地址,是由网卡决定的,长度是 48 位,所以这里的目的地址与源地址都是 6 个字节,也就是 48 个比特位。2、类型: 两个字节的类型标识,这个类型字段有三种值,分别是 : IP(0800)、ARP(0806)、RAR...
2019-11-20 11:21:39
1096
原创 IP协议头格式
IP协议在协议栈中位于网络层,网络数据传输封装方式如下:IP报文格式如下:1、版本:IP报文版本号 IPV4:4,IPV6:62、首部长度:IP header 长度,没有选项,则一般为5(5x32bit=20B)3、8位服务类型:一般没有使用,详细参考RFC 3位优先权字段(已经弃用) 4位TOS字段:最小延时,最大吞吐量,最...
2019-11-19 09:33:18
12594
2
原创 upd协议测试
/**********************客户端 发数据到 服务端***************************************/upd 协议0000 27 10 23 2d 00 0d dd 32data:0000 68 65 6c 6c 6f hello/*******************************************...
2019-11-18 17:16:56
816
转载 upd协议格式
UDP首部有8个字节,由4个字段构成,每个字段都是两个字节。源端口: 源端口号,需要对方回信时选用,不需要时全部置0。 目的端口:目的端口号,在终点交付报文的时候需要用到。 长度:UDP的数据报的长度(包括首部和数据)其最小值为8(只有首部)。 校验和:检测UDP数据报在传输中是否有错,有错则丢弃。该字段是可选的,当源主机不想计算校验和,则直接令该字段全为0。当传输层从IP层收到UD...
2019-11-18 09:23:38
2113
原创 tcp三次握手和tcp四次挥手过程详解
TCP三次握手所谓三次握手(Three-Way Handshake)即建立TCP连接,就是指建立一个TCP连接时,需要客户端和服务端总共发送3个包以确认连接的建立。在socket编程中,这一过程由客户端执行connect来触发,整个流程如下图所示:TCP三次握手.png(1)第一次握手:Client将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给Server,Cl...
2019-11-17 16:12:01
169
原创 TCP协议格式
1、16位源端口号:16位的源端口中包含初始化通信的端口。源端口和源IP地址的作用是标识报文的返回地址。2、16位目的端口号:16位的目的端口域定义传输的目的。这个端口指明报文接收计算机上的应用程序地址接口。3、32位序号:32位的序列号由接收端计算机使用,重新分段的报文成最初形式。当SYN出现,序列码实际上是初始序列码 (Initial Sequence Number,ISN),而...
2019-11-15 20:45:39
2951
原创 tcp三次握手和tcp四次挥手测试
TCP 上次握手一、第一次握手/**********************第一次握手***************************************/clientA -----------> server B0000 cb 2d 23 2d 70 b1 31 4f 00 00 00 00 80 02 20 000010 2a 29 00 00 0...
2019-11-15 09:12:26
677
转载 RTP打包G711音频数据发送
G711编码,有两种G711A/G711U,主要在安防中应用,是一帧波形编码的音频数据,只是将PCM压缩一半数据量。一般G711,采样率8000,通道数1。所以G711中1B就是一个样本数据。G711打包RTP非常简单,只要在G711数据前加上RTP头即可。G711没有想AAC那样,按照帧一帧一帧发送,而是设定一个打包频率,打包频率有10ms,20ms,30ms,40ms 等。如40ms的打包频率...
2019-07-14 10:35:25
3471
转载 关于RTP时间戳以及播放器对时间戳的处理
首先,了解时间戳几个基本概念:时间戳单位:时间戳计算的单位不是秒之类的单位,而是由采样频率所代替的单位,这样做的目的就是为了是时间戳单位更为精准。比如说一个音频的采样频率为8000Hz,那么我们可以把时间戳单位设为1 / 8000。时间戳增量:相邻两个RTP包之间的时间差(以时间戳单位为基准)。采样频率:每秒钟抽取样本的次数,例如音频的采样率一般为8000Hz...
2019-06-09 11:13:18
3744
转载 RTP/RTCP协议解析
一、简介RTP—实时传输协议,其在多点传送(多播)或单点传送(单播)的网络上,提供端对端的网络传输功能,适合应用程序传输实时数据,如:音频,视频或者仿真数据。RTP没有为实时服务提供资源预留的功能,也不保证QoS(服务质量)。RTP的数据传输功能由一个控制协议(RTCP)来扩展,通过扩展,可以用一种方式对数据传输进行监测控制,该协议(RTCP)可以升级到大型的多点传输(多播)网络,并提供最...
2019-06-09 10:13:08
975
转载 RTP over TCP
通常来说,RTSP提供UDP方式发送RTP流。当然,发送流媒体时,UDP往往是更好的选择。下面是使用UDP时的一些问题:UDP协议上的RTSP/RTP需要打开许多UDP端口(每一路流媒体都需要2个UDP端口,一个用于接收数据,一个用于接收控制信息); 当因特网上的路由器没有打开这些端口的时候,第一点将会存在问题; 中间网络路由器很容易就过滤或者忽略掉UDP数据包; UDP是不可靠传输...
2019-06-08 13:14:25
1787
转载 AVI文件格式详解
一、文件格式简介 AVI是音频视频交错(Audio Video Interleaved)的英文缩写,它是Microsoft公司开发的一种符合RIFF文件规范的数字音频与视频文件格式,原先用于Microsoft Video Windows(简称VFW)环境,现在已被Windows95/98,OS/2等多数操作系统直接支持。AVI格式允许视频和音频交错在一起同步播放,支持2...
2019-05-29 09:24:56
10548
1
转载 C语言base64编解码
#include <stdio.h>#include <string.h>const char * base64char = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";const char padding_char = '=';int base64_encode(co...
2019-05-26 22:28:46
1458
转载 C语言实现md5函数
包含三个文件头文件md5.h#ifndef MD5_H#define MD5_H typedef struct{ unsigned int count[2]; unsigned int state[4]; unsigned char buffer[64]; }MD5_CTX; #define F(x,y,z) ((x & y) | (~x & ...
2019-05-26 21:37:47
3317
yolov5+deepsort+bytertrack+iou 人车流统计
2024-06-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人