自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(236)
  • 资源 (12)
  • 收藏
  • 关注

原创 Linux防火墙(iptables)

Linux 防火墙 iptbales

2023-09-09 19:35:47 1193

原创 了解NAT

装有NAT软件的路由器叫做NAT路由器,它至少有一个有效的外部全球IP地址。这样,所有使用本地地址的主机在和外界通信时,都要在NAT路由器上将其本地地址转换成全球IP地址,才能和因特网连接。当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。另外,这种通过使用少量的公有IP 地址代表较多的私有IP 地址的方式,将有助于减缓可用的IP地址空间的枯竭。局域网内的终端是如何共用一个wan口来上网的?

2023-09-01 11:52:08 166

原创 Linux上配置NAT

nat Linux

2023-08-31 11:50:31 1502

原创 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 875

原创 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 555

原创 ICMP协议报文

ICMP(Internet Control Message Protocol)是一种网络协议,它用于在IP网络中传递控制信息和错误消息。它通常与IP协议一起使用,IP协议负责发送和路由数据包,而ICMP协议负责检查网络是否可达、路由是否正确、主机是否可达等网络状态的反馈信息。

2023-08-13 08:45:44 773

原创 网络协议栈-基础知识

1、OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型 ,是一个逻辑上的定义,一个规范,它把网络从逻辑上分为了7层。2、每一层都有相关、相对应的物理设备,比如路由器,交换机。OSI 七层模型是一种框架性的设计方法 ,建立七层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题,其最主要的功能使就是帮助不同类型的主机实现数据传输。

2023-08-12 18:13:16 725

原创 如何查看Linux内核中某个线程的CPU占用率

在Linux中,可以使用top、htop、ps等命令来查看进程和线程的CPU占用率。

2023-08-09 16:03:04 1639

原创 RK3568 GPIO 引脚计算

RK3568 GPIO 引脚计算

2023-07-06 11:17:51 907

原创 RTL8309M实现VLAN功能-驱动编进内核

Linux文件系统lan口实现vlan技术,通过vlan实现对单个lan口进行广播通信。

2023-07-05 19:28:55 1523

原创 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 334

原创 在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 1869 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 465 1

原创 dts pinctrl初始gpio0方法

3、函数of_get_gpio_init_config定义如下。1、在pinctrl-rockchip.c文件中添加头文件。2、 在如下函数添加红色代码。

2023-05-12 14:12:15 900

原创 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 292 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 7560 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 814 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 732

原创 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 935

原创 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 1800

原创 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 848

转载 pmap命令

pmap命令用于报告进程的内存映射关系,是Linux调试及运维一个很好的工具。语法pmap(选项)(参数)选项-x:显示扩展格式;-d:显示设备格式;-q:不显示头尾行;-V:显示指定版本。参数进程号:指定需要显示内存映射关系的进程号,可以是多个进程号。实例pidof nginx13312 5371pmap -x 53715371: nginx: worker process Address Kbytes

2021-11-12 09:31:45 1554

原创 以太网协议

TCP/IP四层模型中,以太网协议采用RFC894格式,如下图:格式如下:1、目的地址与源地址: 这里都指的是 MAC 地址。每一个主机对应唯一的一个 MAC 地址,是由网卡决定的,长度是 48 位,所以这里的目的地址与源地址都是 6 个字节,也就是 48 个比特位。2、类型: 两个字节的类型标识,这个类型字段有三种值,分别是 : IP(0800)、ARP(0806)、RAR...

2019-11-20 11:21:39 1044

原创 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 11900 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 802

转载 upd协议格式

UDP首部有8个字节,由4个字段构成,每个字段都是两个字节。源端口: 源端口号,需要对方回信时选用,不需要时全部置0。 目的端口:目的端口号,在终点交付报文的时候需要用到。 长度:UDP的数据报的长度(包括首部和数据)其最小值为8(只有首部)。 校验和:检测UDP数据报在传输中是否有错,有错则丢弃。该字段是可选的,当源主机不想计算校验和,则直接令该字段全为0。当传输层从IP层收到UD...

2019-11-18 09:23:38 2076

原创 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 161

原创 TCP协议格式

1、16位源端口号:16位的源端口中包含初始化通信的端口。源端口和源IP地址的作用是标识报文的返回地址。2、16位目的端口号:16位的目的端口域定义传输的目的。这个端口指明报文接收计算机上的应用程序地址接口。3、32位序号:32位的序列号由接收端计算机使用,重新分段的报文成最初形式。当SYN出现,序列码实际上是初始序列码 (Initial Sequence Number,ISN),而...

2019-11-15 20:45:39 2911

原创 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 658

转载 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 3341

转载 关于RTP时间戳以及播放器对时间戳的处理

首先,了解时间戳几个基本概念:时间戳单位:时间戳计算的单位不是秒之类的单位,而是由采样频率所代替的单位,这样做的目的就是为了是时间戳单位更为精准。比如说一个音频的采样频率为8000Hz,那么我们可以把时间戳单位设为1 / 8000。时间戳增量:相邻两个RTP包之间的时间差(以时间戳单位为基准)。采样频率:每秒钟抽取样本的次数,例如音频的采样率一般为8000Hz...

2019-06-09 11:13:18 3584

转载 RTP/RTCP协议解析

一、简介RTP—实时传输协议,其在多点传送(多播)或单点传送(单播)的网络上,提供端对端的网络传输功能,适合应用程序传输实时数据,如:音频,视频或者仿真数据。RTP没有为实时服务提供资源预留的功能,也不保证QoS(服务质量)。RTP的数据传输功能由一个控制协议(RTCP)来扩展,通过扩展,可以用一种方式对数据传输进行监测控制,该协议(RTCP)可以升级到大型的多点传输(多播)网络,并提供最...

2019-06-09 10:13:08 941

转载 RTP over TCP

通常来说,RTSP提供UDP方式发送RTP流。当然,发送流媒体时,UDP往往是更好的选择。下面是使用UDP时的一些问题:UDP协议上的RTSP/RTP需要打开许多UDP端口(每一路流媒体都需要2个UDP端口,一个用于接收数据,一个用于接收控制信息); 当因特网上的路由器没有打开这些端口的时候,第一点将会存在问题; 中间网络路由器很容易就过滤或者忽略掉UDP数据包; UDP是不可靠传输...

2019-06-08 13:14:25 1602

转载 AVI文件格式详解

一、文件格式简介 AVI是音频视频交错(Audio Video Interleaved)的英文缩写,它是Microsoft公司开发的一种符合RIFF文件规范的数字音频与视频文件格式,原先用于Microsoft Video Windows(简称VFW)环境,现在已被Windows95/98,OS/2等多数操作系统直接支持。AVI格式允许视频和音频交错在一起同步播放,支持2...

2019-05-29 09:24:56 9854 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 1424

转载 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 3253

转载 流媒体传输协议之---RTSP认证

Rtsp认证主要分为两种:基本认证(basicauthentication)和摘要认证(digestauthentication )。基本认证是http 1.0提出的认证方案,其消息传输不经过加密转换因此存在严重的安全隐患。摘要认证是http 1.1提出的基本认证的替代方案,其消息经过MD5哈希转换因此具有更高的安全性。1.基本认证 (basic 认证)流程如下:...

2019-05-26 18:07:09 666

转载 网络流媒体协议之——RTSP协议

RTSP(Real-Time Stream Protocol)协议是一个基于文本的多媒体播放控制协议,属于应用层。RTSP以客户端方式工作,对流媒体提供播放、暂停、后退、前进等操作。该标准由IETF指定,对应的协议是RFC2326。RTSP作为一个应用层协议,提供了一个可供扩展的框架,使得流媒体的受控和点播变得可能,它主要用来控制具有实时特性的数据的发送,但其本身并不用于传送流媒体数据,而必须...

2019-05-26 16:41:33 524

原创 h264 三种封包方式

网络抽象层单元类型 (NALU):NALU头由一个字节组成,它的语法如下:F: 1个比特.forbidden_zero_bit. 在 H.264 规范中规定了这一位必须为 0.NRI: 2个比特.nal_ref_idc. 取00~11,似乎指示这个NALU的重要性,如00的NALU解码器可以丢弃它而不影响图像的回放.Type: 5个比特.nal_unit_t...

2019-05-12 21:56:14 2683

转载 RTP 上封装H264 数据包

原文链接:https://www.cnblogs.com/Jade2009/p/5654650.html1. 引言 随着信息产业的发展,人们对信息资源的要求已经逐渐由文字和图片过渡到音频和视频,并越来越强调获取资源的实时性和互动性。但人们又面临着另外一种不可避免的尴尬,就是在网络上看到生动清晰的媒体演示的同时,不得不为等待传输文件而花费大量时间。为了解决这个矛盾,一种新的媒体...

2019-05-12 21:05:06 1280

基于Linux AT指令收发PDU短信

基于Linux AT指令收发PDU短信

2023-08-30

lan口通过使用vlan技术实现摄像头即插即用

实现网络摄像头接到lan口自动获取ip,实现次功能使用到vlan技术

2023-07-05

rtl8309m vlan

使用网口芯片rtl8309m实现vlan功能

2023-07-05

4g 拨号测试程序,dialte 目录拨号 ,onlinedet,检测是否连接正常

4g 拨号测试程序

2023-06-15

nl660 4G模块驱动

Linux nl660 4G模块驱动

2023-06-15

wpa-supplicant-hostapd

wifi hostapd

2023-05-23

驱动rtl8723du

wifi 驱动 rtl8723du

2023-05-23

Linux 运用nvram 代码

Linux 运用nvram 代码

2023-05-15

Linux nvram驱动

Linux kernel nvram 驱动代码

2023-05-15

EasyPlayer 无插件视频

使用EasyPlayer 无插件视频播放器,包含html 文件 flvlib 库文件,还有分屏实现

2021-07-22

avilib c语言编成

avilib 是c语言编成的库,包含读写音频和视频

2021-07-22

MP4分析工具与测试文件

MP4分析工具与测试文件

2021-07-22

H264测试工具与测试文件

分析h264视频工具与测试文件

2021-07-22

flv测试工具与测试文件

分析flv格式工具与测试flv文件

2021-07-22

DIAL_LIB.zip

stm32f103通道串口与4g模块通信,ppp拨号,uip库封装

2020-12-29

tcp握手和挥手.pcap

tcp格式的分析 tcp三次握手和四次挥手,客户端发送数据和服务器应答,服务器发送数据客户端应答。

2019-11-15

avi文件分析工具和测试文件.zip

内容包含avi文件分析工具和测试avi格式文件

2019-05-29

简单实现c语言md5加密

简单实现c语言md5加密,包括三个文件,依次如下、md5.c、md5.h、main.c

2019-05-26

ppp-2.4.4-mppe-mppc.1.1.patch

ppp-2.4.4补丁 ,补丁的版本必须和ppp版本一致,且该补丁为必须

2018-05-29

MP4v2简化版只分析文件信息

MP4v2简化版只分析文件信息,可以提取音频和视频信息。

2017-12-07

aac 音频测试文件

这是一个音频文件,AAC格式的 44100hz 双通道,主要用于测试使用。

2017-12-05

空空如也

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

TA关注的人

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