自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 资源 (20)
  • 收藏
  • 关注

原创 qt 文本滚动条

开发项目中学习到的知识,记录一下。文本在qlabel控件中来回滚动。

2023-10-27 14:21:47 491

原创 makefile 自动编译

【代码】makefile 自动编译。

2023-09-21 11:44:36 180

原创 pcm转aac

【代码】pcm转aac。

2023-04-21 10:36:33 386

原创 音频 g711a和g711u转pcm

【代码】音频 g711a和g711u转pcm。

2023-04-21 10:35:12 510

原创 gdbserver简单使用方法

gdbserver的简单使用方法

2023-04-12 14:32:03 1519 3

原创 在mips平台上交叉编译libwebsocket

交叉编译libwebsocket时折腾了一天,最终终于分析出错误的原因

2022-11-08 20:09:04 325

原创 根据年月日计算当天是周几,以及当月有几周,当天属于第几周

根据年月日计算当天是周几,以及当月有几周,当天属于第几周

2022-04-06 14:48:13 521

原创 printf 封装打印

#define __TIME_ struct timeval tv; struct tm *ptm;gettimeofday(&tv, NULL);ptm = localtime(&tv.tv_sec);#define __TIME_MS__ ptm->tm_year + 1900,ptm->tm_mon + 1,ptm->tm_mday,ptm->tm_hour,ptm->tm_min,ptm->tm_sec,tv.tv_usec#define de

2022-03-07 15:02:21 360

原创 GB35114 A级过检

最近公司要求支持GB35114 A级过检,折腾了两周,终于验证通过,在此记录一下,方便以后自己查看。GB35114 A级过检单向认证,设备需要发送签名信息给服务器验证签名信息的组装注意事项:a) 按照GB协议规则组装待签名的字符串.b) 对组装好的字符串进行sm3杂凑算法,这里使用sm3杂凑算法时要使用设备自己的公钥,用户id是1234567812345678,长度为16.c) 对32字节sm3杂凑值进行签名,使用设备私钥.d) 对签名算出来的 r和s值进行ans.1(der)编码.e)

2021-09-22 14:07:39 2288 3

原创 rtp负载mp3音频

最近有客户要求在进行rtsp拉流时希望音频是mp3,而我们常规支持的只有常用的g711a,u这些。所以开始查找资料进行探索,目前rtp负载mp3有两种方式,一种是 rfc3119文档描述的方法把音频数据累积,然后提取出ADU数据作为一帧音频数据通过rtp发送出去,第二种就是 rfc2250文档描述的在每帧音频头前再加4个字节的头,两种方法的差异性在我看来是rfc2250文档描述的方法较简单,实现比较容易,rfc3119文档描述的方法较麻烦,优点是丢包后带来的音频解码影响相对较小. 经过两周的折腾,终于把..

2021-09-22 09:47:09 991

原创 交叉编译S3库

s3库是用于亚马逊云存储的访问接口封装库,可以直接使用其封装好的接口去访问云存服务器,实现上传和下载文件。下载libS3源码,解压后进入其中,打开GNUmake文件,修改编译器。1. 根据依赖关系先编译好libcurl,libxml2,openss两个库 2.修改makefile 替换成自己的编译器 修改如下# GNUmakefile## Copyright 2008 Bryan Ischo <[email protected]>## This file is part of

2021-05-17 19:48:23 468

原创 关于ffmpeg 指令使用

mp3文件转g711a: ffmpeg -i audio.mp3 -acodec pcm_alaw -f alaw -ac 1 -ar 8000 -vn g711a.pcmbat脚本拉取rtsp流存为mp4:@echo ===============start test ===============:loop@echo testingffmpeg -rtsp_transport tcp -i rtsp://192.168.2.33/snl/live/1/1/ -y -an -ss 1..

2021-04-27 15:39:01 824

原创 linux下sd挂载

查看驱动是否识别了sd卡~ # cat /proc/partitions major minor #blocks name 31 0 256 mtdblock0 31 1 3072 mtdblock1 31 2 10752 mtdblock2 31 3 64 mtdblock3 31 4 1024 mtdblock4 31

2021-03-24 09:46:11 464 1

原创 简单日志记录模块

typedef struct _protocol_log{ int m_flag; /*已使用*/ char m_log_str[STR_LEN_256]; /*日志信息*/ struct _protocol_log *m_next;}protocol_log_t;typedef struct{ int m_log_num; protocol_log_t *m_log_list_head;}log_list_t;/****.

2020-12-21 17:35:41 190

原创 内存记录模块,记录所有使用的内存,实时查看哪里出现了内存泄漏

在大型项目开发时使用这个模块实时监控内存使用情况,解决出现内存泄漏时不容易定位的问题文件:MemoryManage.h#ifndef _MEMORYMANAGE_H_#define _MEMORYMANAGE_H_#include <stdio.h>#include <stdlib.h>#include <string.h> #define MAX_NODE_NUM (15)#define FILE_NAME_STR (

2020-08-26 09:55:59 303

原创 固定内存的队列+curl发送文件和https消息

为了节省内存,写了一个固定内存不限长度的队列,原理是最开始申请一片大的内存,后面队列使用的内存都从大内存中取得。解决了频繁申请内存的问题和控制队列使用内存大小的问题。文件: ydzj_cloud_queue.h#ifndef _CLOUD_QUEUE_H_#define _CLOUD_QUEUE_H_#include "ydzj_cloud_common.h"#include "sys/sys_pthread.h"typedef enum queue_mode{ BLOCK_MODE =

2020-08-26 09:50:54 162

原创 ps封装h264和h265

最近完成了ps封装h264和h265视频。文件: ydzj_cloud_package_ps.cpp#include "ydzj_cloud_package_ps.h"#include "ydzj_cloud_common.h"int create_ps_header(char *p_data, uint32 n_dts, uint32 n_bit_rate){ //时间戳需要处理,27 MHz,dts ms uint32 n_scr_ext = 0; uint32 n_scr_base

2020-08-26 09:17:25 921 1

转载 H264码流的 ps封装

1、写在开始之前: 最近因为新工作要维护别人留下的GB模块代码,先熟悉了流程,然后也试着封装了下ps流,结果也能通过测试正常预览了,当然,其中开发读文档的头疼,预览花屏,卡帧的事情都有遇到,当时慢慢的看文档,整理逻辑,也就都顺利解决了,下面把大致的一些流程代码贴出来分享下。既然是对接国标,自然少不了通读它的标准文档和相关的RFC文档了!具体的我就不说了,可以用百度google下的。注意:因为是GB要求ps封装后再加上rtp头的格式来的, 所以下面代码中我也加上了rtp头,如果不需...

2020-08-07 08:44:54 2055 4

转载 shell脚本判断包含关系

Shell脚本中判断字符串包含的集中方式2018年08月29日 13:44:49 季检察官 阅读数:173 1.字段 grep:案例: str1="abcdefgh"str2="def"result=$(echo $str1 | grep "${str2}")if [[ "$result" != "" ]]then echo "包含"else ech...

2019-03-18 19:15:35 1989

转载 HTTPS 建立连接过程

SSL协议通信过程(1) 浏览器发送一个连接请求给服务器;服务器将自己的证书(包含服务器公钥S_PuKey)、对称加密算法种类及其他相关信息返回客户端;(2) 客户端浏览器检查服务器传送到CA证书是否由自己信赖的CA中心签发。若是,执行4步;否则,给客户一个警告信息:询问是否继续访问。(3) 客户端浏览器比较证书里的信息,如证书有效期、服务器域名和公钥S_PK,与服务器传回的信息是否...

2019-02-20 15:54:58 973

转载 搭建samba服务

-- 你知道什么是天才的诀窍吗? 那就是永远只做一件事。Linux中samba服务器的搭建 使用的vmware12虚拟机安装的centos6.8和物理机上的windows10,实现在windows10 上访问CentOs上的samba服务。一、先查看系统中是否安装有samba服务相关的软件包。  查看到我的linux中没有安装samba相关的软件包,接下来进行安装...

2019-01-18 11:39:03 165

原创 shell 命令一些应用

find -name *.sh | xargs dos2unix 这里是把find 找到的文件作为参数 传给 dos2unix 指令 ,xargs 在这里起到的作用是接收find的返回值传入dos2unix作为参数相信到这里应该都知道xargs的作用了,那么我们看看xargs还有一些有用的选项:1. -d 选项默认情况下xargs将其标准输入中的内容以空白(包括空格、Tab、回车换行...

2019-01-11 18:55:45 445

原创 各种开源库交叉编译

#交叉编译openssl库./config no-asm no-shared --prefix=/test/openssl-1.0.1u/Demo (--prefix=/usr/local)然后修改makefile文件 把CC=gcc 改为CC= arm-hisiv600-linux-gcc,然后make ,make install,这里编的是静态库,如果要编动态库则把no-share...

2019-01-10 10:53:13 1480 1

原创 内存开销记录模块

利用hash表来记录 在程序中malloc和free内存的情况MemoryManage.h#ifndef _MEMORYMANAGE_H_#define _MEMORYMANAGE_H_#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include &lt;string.h&gt; #define MAX_NODE_NUM ...

2018-12-07 19:17:49 226

原创 base64编解码

以前写的编解码代码现在在项目中用上了,改了一些问题,由于以前的博客现在貌似不好修改了,所以重发一次#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include &lt;string.h&gt;#include &lt;assert.h&gt;#define SN_SUCCESS (0)#define SN_ERROR...

2018-11-26 10:33:26 638

原创 c语言实现签名和签名验证

#include &lt;openssl/rsa.h&gt;#include &lt;openssl/pem.h&gt;#include &lt;openssl/err.h&gt;#include &lt;openssl/sha.h&gt; #include &lt;openssl/crypto.h&gt;void print_Hash(unsigned char *md, int ...

2018-11-08 15:57:01 8421 11

转载 openssl签名

#include &lt;string.h&gt;#include &lt;openssl/rsa.h&gt;#include &lt;openssl/pem.h&gt;#include &lt;openssl/err.h&gt;#include &lt;openssl/sha.h&gt; #include &lt;openssl/crypto.h&gt; #include &lt;...

2018-09-25 18:58:30 1134

转载 curl使用方法

curl命令是一个利用URL规则在命令行下工作的文件传输工具。它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。作为一款强力工具,curl支持包括HTTP、HTTPS、ftp等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征。做网页处理流程和数据检索自动化,curl可以祝一臂之力。语法cu...

2018-09-21 15:09:50 1219

原创 openssl 指令使用心得

工作中用到的一些指令 记录一下,方便以后用创建私匙:openssl genrsa -out rsa_private.key 2048创建公匙:openssl rsa -in rsa_private.key -pubout -out rsa_public.key进行摘要,其中摘要算法可以指定此处指定sha512摘要算法openssl dgst -sha512 file.txt ...

2018-09-21 10:20:15 563

原创 十六进制数据原样转换成字符串

把16进制数据原样转成字符串。比如0XAB 0X45 0X D5  0XEE 转换成 “AB45D5EE”void Sdk_Int2Char(int p_nNum, char *p_Ch){ if(p_nNum &lt;= 9) { *p_Ch = p_nNum + '0'; } else { /*0 - 9 是十个数*/ *p_Ch = (p_nNum -10)...

2018-09-20 16:56:01 15787

原创 交叉编译 微软物联网SDK (azure-iot-sdk-c)

因工作需要移植微软的物联网SDK,通过文档交叉编译出了sdk库,在此记录下编译方法.1. 先下载 SDK (azure-iot-sdk-c: https://github.com/Azure/azure-iot-sdk-c/tree/2018-09-11),有一点要提示下,我在下载SDK时最开始选择的是 DownLoad ZIP,这样下载下来的SDK不完整有很多依赖的文件夹内容都下载不下来,后...

2018-09-20 11:25:50 2734 1

原创 从url中解析出ip地址

static int WebSocket_Get_ServerIp(char *p_Url, char *p_Ip){ assert(p_Url); assert(p_Ip); struct hostent *objHostInfo; objHostInfo = gethostbyname(p_Url); if(objHostInfo == NULL) { printf("...

2018-09-19 17:47:51 3472

转载 字符串处理之sscanf

sscanf() - 从一个字符串中读进与指定格式相符的数据.函数原型:Int sscanf( string str, string fmt, mixed var1, mixed var2 ... );int scanf( const char *format [,argument]... );说明:sscanf与scanf类似,都是用于输入的,只是后者以屏幕(stdin)为输入源,前者...

2018-09-07 15:41:33 946

原创 c语言实现用openssl进行数据摘要和签名,sha512 with rsa

因协议要求要在https的消息头里面附带消息体的摘要信息,所以研究了下sha512散列算法和rsa加密算法,下面是用openssl实现的数据sha512算法摘要和rsa签名#include &lt;string.h&gt;#include &lt;openssl/rsa.h&gt;#include &lt;openssl/pem.h&gt;#include &lt;openssl/er...

2018-08-29 14:03:33 4978 3

转载 关于basic认证和digest认证的初步理解

1.  basic认证是把用户和密码通过base64加密后发送给服务器进行验证2.  digest认证则是把服务器响应的401消息里面的特定的值和用户名以及密码结合起来进行不可逆的摘要算法运算得到一个值,然后把用户名和这个摘要值发给服务器,服务通过用户名去 在自己本地找到对应的密码,然后进行同样的摘要运算,再比较这个值是否和客户端发过来的摘要值一样。TTP协议规范的另一种认证模式是Dige...

2018-07-31 11:12:44 11574

原创 从域名中解析出ip地址

static int WebSocket_Get_ServerIp(char *p_Url, char *p_Ip){ assert(p_Url); assert(p_Ip); struct hostent *objHostInfo; objHostInfo = gethostbyname(p_Url); if(objHostInfo == NULL) ...

2018-07-10 20:00:52 3321 1

转载 进制转换

#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include &lt;string.h&gt;#include &lt;locale.h&gt;int main() {    int i,v;    char bs[33];    char b[33];    char hs[9];    char h[9];    char s[4];   ...

2018-06-26 11:00:08 125

转载 关于时间格式

一、首先,我们要分清楚几个概念: 1、Coordinated Universal Time(UTC):协调世界时,又称为世界标准时间,也就是格林威治标准时间(Greenwich Mean Time,GMT)。比如,中国内地的时间与UTC的时差为+8,也就是UTC+8。美国是UTC-5。以年、月、日、时、分、秒表示2、Calendar Time:日历时间,是用“从一个标准时间点(如:1970年1月1...

2018-06-19 19:41:45 8087

原创 理解printf可变参数函数

了解了下可变参函数的原理,这里记录下方便自己以后看printf函数原型 int printf(const char *fmt, ...)这里写个例子方便理解 printf("%s\n","hello"); 函数传参参数压栈的方向是从右往左,也就是说当调用printf函数的时候,先是最右边的“hello”参数入栈,然后才是“%s\n”,指针也是变量,也有地址,入栈入的是这两个指针的地址,栈是从高地址...

2018-06-07 20:04:17 1198 1

原创 关于对称加密和非对称加密以及签名,认证和证书的理解

1.对称加密算法        对称加密算法的加密和解密使用的密匙是相同的,也就是说如果通讯两方如果使用对称加密算法来加密通讯数据,那么通讯双方就需要都知道这个密匙,收到通讯数据后用这个密匙来解密数据。2.非对称算法        非对称算法中用到的密匙有两个,分别是公匙和私匙,要求通讯双方都有自己的公匙和私匙,自己公匙加密的数据只有自己的私匙才能解开,自己私匙加密的数据也只有自己的公匙才能解开。...

2018-04-12 11:00:20 7313

mp3_poc-0.4.1.zip

基于rfc2250和rfc3119文档实现的rtp负载mp3和rtsp拉流

2021-09-22

rtp负载mp3参考.zip

使用rtp负载mp3音频数据,mp3数据编码格式是MPEG2.5 Layer3

2021-09-22

libs3-master-ubuntu.rar

可在ubuntu上运行的libs3库 方便做云存的验证 可以验证s3v4的签名和上传文件 分片上传sadsadsadasdas

2020-09-24

GAT 1400.7z

GAT 1400-2017 公安视频图像信息应用系统(1~4部分全)

2019-08-05

c++学习资料

c++学习笔记

2017-08-10

纯c语言 onvif编程 从搜索到rtsp取流保存视频文件

手写 onvif代码 有搜索 获取设置 网络参数 视频编码 osd rtsp 取流 只在雄迈设备上验证可以稳定收取视频

2017-04-02

onvif 设备搜索和获取能力集

onvif 客户端 搜索ipc 和获取ipc的能力集,压缩包内有下载好的gsoap工具,网上下载的例子以及我自己写的demo,和生成onvif框架时的步骤以及遇到的问题和解决方法

2017-03-22

sip协议实时音视频回放下载信息查询

在之前实时视频和回放基础上把声音也研究出来了

2017-02-28

GB28281之sip协议

sip协议的注册到看实时视频和回放的代码,已经测试完全可用使用,是我通过查资料抓包等方法研究了三个星期做出来的测试程序,希望对后面朋友有一点点帮助,测试代码和工具一整套都是齐全的

2017-02-28

sip服务器 测试专用

为了测试sip协议的注册而找的一个sip服务器

2017-02-20

音频混音算法

一个混音算法的应用实例

2017-01-17

mp4v2封装mp4+facc封装acc音频

mpv2库实现h264封装mp4,不含声音,facc库实现pcm编码acc音频

2016-08-23

c语言实现的手动封装mp4

c语言实现的手动封装mp4,附带例子

2016-08-23

c语言实现的发送邮件

c语言实现的发送邮件

2016-08-11

c语言实现base64编解码

C语言实现的base64编解码

2016-08-11

c语言编写ubuntu下 录音程序

c语言写的录音程序,在ubuntu亲测可以正常使用,附带录好音的文件,将audio.txt 放入 /home 目录下就可运行程序选择播放即可听到录音 录音文件是一首歌曲 贝加尔湖畔

2016-08-09

海思3520d的全部开发文档

海思3520d的全部开发文档,包含了从uboot到内核到应用程序开发

2015-11-13

PC端海思音频解码

在电脑端上的海思音频解码,可以解码海思编码的各种格式

2015-11-13

空空如也

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

TA关注的人

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