自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(61)
  • 资源 (1)
  • 收藏
  • 关注

原创 字符串转时间

unix下,以下可以将字符串转成时间,也可以将时间转成字符串(注意,字符串转时间,数据不能非法,非法数据转换得到错误的数据)tm tm1,tm2; char buf[128]= {0}; strcpy(buf, "2022-05-11 14:01:02"); strptime(buf, "%Y-%m-%d %H:%M:%S", &tm1); tm1.tm_isdst = -1; strcpy(bu...

2022-05-13 11:48:29 2865

原创 明厨视频处理模块分析

1、收到init_ok的初始化和重新初始化:1.1、初始化:newhisiVideoRender调用init里面有10个ffmpeg线程,主要是用ffmpeg读取输入源的视频包,发给海思解码,或发给平台里面还有10个FfmpegPackage线程,主要是用来保存各路视频文件用一个SnapshotThread线程,用来定时截图,截图后的ftp任务添加到UpdateSnapshotfileThreadBuildVideoRender过程:QueryEquipmentInfo从数据查输入.

2021-11-09 09:32:15 245

原创 用opencv和qt将文字生成图片

用opencv将文字生成图,但不能是中文,中文输出要用到freetype Mat dstImage=Mat::zeros(300,400,CV_8UC3); String text="opencv生成的图片"; putText(dstImage,text,Point(100,200),FONT_HERSHEY_SIMPLEX,1,Scalar::all(255)); imwrite("testopencv.jpg", dstImage);qt的代码如下: QString

2020-08-12 11:45:30 729

原创 servernet网络出错问题总结

在外网上运行平台,通信模块经常会出现网络错误110,一直触发accept事件,accept时阻塞5秒,影响数据的收发。通过打日志发现,CTCPSessionMgr2::handle_input(ACE_HANDLE fd)过来的fd,已经不是注册时的fd了CTCPSessionMgr2::Connect时会向m_pReactor->register_handler(m_listener.get_handle(), this, ACE_Event_Handler::ACCEPT_MASK).

2020-08-05 13:35:44 438

原创 程序运行时输出编译时间

__DATE__ __TIME__(这两个是ISO C99 和 ISO C + + 14 标准预定义的宏)编译时会换成当前日期和时间,这样可以取得编译时间C/C++提供了三个宏__FUNCTION__,__FILE__和__LINE__来定位程序运行时的错误。程序预编译时预编译器将用所在的函数名,文件名和行号替换。当运行时错误产生后这三个宏分别能返回错误所在的函数,所在的文件名和所在的行号...

2020-07-31 14:34:50 392

原创 测试博文中发图片

这是我的测试博文发二个图看下第一个图 第二个图 好的,我也知道如何在博文中上传图片了

2018-09-14 11:19:10 140

原创 ace库学习--Reactor

为高效的事件多路分离和分派提供可扩展的面向对象框架。对基于定时器的事件、信号事件、基于 I/O 端口监控的事件和用户定义的通知进行统一地处理。反应器框架检测事件的发生(通过在 OS 事件多路分离接口上进行侦听),并发出对预登记事件处理器(event handler)对象中的方法的“回调”(callback)。用户(也就是,应用开发者)必须:1. 创建事件处理器,以处理他所感兴趣的某事件。2. 在反...

2018-07-12 10:41:26 1168

原创 ace库学习--安装编译

https://www.oschina.net/p/ace从这里可进入软件首页、软件文档、源码下载1、安装请参考http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/ACE-INSTALL.html#installpre主要这几步:1.1下载源码,可以下载解包,也可以用git clone下载git clone https://github.com/...

2018-07-09 15:22:40 2413

原创 录播模拟器链接错误处理

Debug版本是正常的,但转到Release版本时出现错误error LNK2001: 无法解析的外部符号 "public: void __thiscall CSocket::Attach(unsigned int)" (?Attach@CSocket@@QAEXI@Z)查得将全程序优化 项设置为无 就可以了前面发生过公共库取时间的错误,是没有增加#pragma comment( lib,"win...

2018-06-25 14:51:19 163

原创 tcp服务端处于SYN_RECV而不向程序提交响应调查

测试时,服务端ip是192.168.4.11,2个同类型的客户端分别是192.168.6.10和192.168.6.1766.10连接4.11是正常的,但6.176连接到4.11时,在4.11用netstat查看,与6.176有一个连接,但总是处于SYN_RECV,然后消失,然后又是SYN_RECV,再消失,这样反复。为什么服务端收到SYN不向应用层提交消息,经过检查,这是跨网段访问,4.11的子...

2018-06-25 11:56:34 1996

转载 error

最近在网络编程使用的过程中,发现errno会经常使用。因此决定在此做个留用,以备以后使用。。。 虽然errno是非线程安全的,但是可以通过几种机制保证其安全。。 最近在使用的过程中获得了errno,程序无法执行,也不知道如何解决问题。因此,理解每一个返回的errno整数值的含义是很重要的。。这个我们可以通过strerror函数来实现。。strerror(返回整数errno对应的错误原因的描述字符串...

2018-06-20 18:24:44 1043

原创 64位linux下md5加密出错的调查

工作时遇到平台注册机生成的序列号注册时提示序列号不合法。跟踪发现注册机与库对字符串进行md5加密不对,但32位的linux平台是可以的。问题的关键是检测注册的md5的头文件中字义了typedef unsigned long int UINT4;md5检测的结构中用到了UNIT4的变量,在32位下这是32bit(4字节)长,但到了64位下这是64bit(8字节)长了。要在这个结构前加上 #ifnde...

2018-05-07 15:53:54 378

原创 fopen对fread的影响

录制了一个pcm音频文件,长度是14400,用fread总是只能读取538字节。查了一下原因,是fopen是使用的是"r",改为"rb"后,能读出14400了。应该是里面进行了转换了,只能读538,使用rb方式不会转换。...

2018-04-26 10:14:01 295

原创 备忘

备忘

2018-02-05 12:12:28 171

原创 hidapi在linux下编译总结

在linux下使用usb设备,比如usb导播键盘,可以使用hidapi编译的库进行访问源码下载地址:https://github.com/signal11/hidapi这个地址下有详细介绍各种系统下的编译情况。以下是简单的步骤:1、下载源码2、sudo apt-get install libudev-dev libusb-1.0-0-dev libfox-1.6-d

2017-12-06 16:44:01 3549

转载 小故事,大道理

1【班花】女生公开投票选班花,相貌平平的小梅发表演说:如我当选,再过几年,在座姐妹可以向自己先生骄傲的说,我上大学时候,比班花还漂亮!结果,她全票当选——启示:说服别人支持你,不一定要证明比别人都优秀,而是让别人觉得,因为有你,他们变得更优秀更有成就感。2【试错比前进更重要】一位年轻人曾问乔布斯:你的智慧从哪里来? 乔布斯答:来自精确的判断力。年轻人又问:精确的

2017-10-09 16:03:20 232

原创 ffmpeg推送AAC音频处理ADTS

原来取rtmp流如:rtmp://live.hkstv.hk.lxdns.com/live/hks或者录播保存的文件,它们的aac音频包都没有ADTS头部,但客户提供的一个http流:http://cntv.hls.cdn.myqcloud.com/asp/hls/850/0303000a/3/default/1ee473b960054ae29256751f50033d34/850.m3u

2017-08-25 16:24:33 4174 1

原创 linux下拷贝某一时间段的文件

拷贝某个目录下指定时间段的文件到另一个目录下1、用ls -ltr进行排序2、选择二个文件作为时间的开始和结束点3、用这个命令find ./ -type f -newer file_start ! -newer file_end -exec cp {} newdir \;{}相当于前面查找的结果,后面的 \ 前要有空格4、可以用touch -t yyyymmddttm

2017-08-23 15:11:07 12704

原创 根据backtrace_symbols查错误代码行号

在程序的开始加上这个struct sigaction myAction;myAction.sa_handler = mySigHandler;sigemptyset(&myAction.sa_mask);myAction.sa_flags = SA_RESTART | SA_SIGINFO;int nRet = sigaction(SIGSEGV, &myAction, NUL

2017-07-19 18:44:20 3125

原创 32位程序转64位记录

工作中要将原来的32位程序编译到64位系统下运行,现记录工作事项:查看linux是32位的还是64位的,可用file /sbin/init 或者 file /bin/ls,uname -a,getconf LONG_BIT一般i386是的32,x86_64就是641、安装64位unbantu问题1:在虚拟机上设置安装64位unbantu,启动时提示This host

2016-11-29 17:52:22 2446

原创 avframe中的linesize与width的关系

在看别人的代码时,发现有这个for (int i=0; i < nheight; i++) { memcpy(m_pYUVBuffer + nYUVBufsize , m_pYUVFrame->data[0] + i * m_pYUVFrame->linesize[0], nwidth); nYUVBufsize

2016-11-23 11:40:23 6439

原创 tcpdump抓包保存文件的结构分析

这种文件可以直接用wireshark来分析,也可用16进制打开来分析1、文件的前24字节,不要管2、接下来的16字节是:8字节的时间戳(前4位高低位的互换再乘1000可得到当前的时间精确到秒,后4位是微妙,算法同前面),4字节的软件抓包帧长度,4字节的网络中实际数据长度(比如42 00 00 00 表示后面帧的长度为66字节)3、具体的帧(也就是在wireshark中能看到的数据)

2016-11-04 14:08:40 1863

转载 h264 NAL头解析

NAL全称Network Abstract Layer,即网络抽象层。在H.264/AVC视频编码标准中,整个系统框架被分为了两个层面:视频编码层面(VCL)和网络抽象层面(NAL)。其中,前者负责有效表示视频数据的内容,而后者则负责格式化数据并提供头信息,以保证数据适合各种信道和存储介质上的传输。NAL单元是NAL的基本语法结构,它包含一个字节的头信息和一系列来自VCL的称为原始字节序列载荷(R

2016-10-26 16:08:20 418

原创 作自己

在这纷繁复杂的世界,有太多的诱惑,太多的无赖,太多的不如意。更多的时候,很迷茫,不知路在何方,不知向哪里行走,于是,随波逐流。总是羡慕别人的成功,感叹自己的无为。到底我们要活在别人的认为幸福的眼光里,还是作一个真正的自己。幸福是什么?是别人得不到,或者很难得到,自己很容易得到?作自己,作一个真正的自己,无愧于心的自己。静下心来,作自己最应该作的事,就象围棋中的急所。

2016-09-28 17:10:36 221

转载 select学习

1、基本概念  IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。IO多路复用适用如下场合:  (1)当客户处理多个描述字时(一般是交互式输入和网络套接口),必须使用I/O复用。  (2)当一个客户同时处理多个套接口时,而这种情况是可能的,但很少出现。  (3)如果一个TCP服务器既要处理监听套接口,又要处理已连接套接口,一般也要用

2016-09-22 16:02:47 271

原创 音乐文件夹下看不到修改时间的属性处理

有时目录下详细信息看不到文件的修改时间,也就不好用时间来对文件进行排序。比如目录显示是这样的:1、可以点菜单的查看/排序方式/更多将时间选择出来2、可以在目录右键点属性,选择自定义,在优化此文件夹下,将音乐改为常规项,也可以将时间显示出来。

2016-08-31 09:37:00 3037

原创 linux查看svn用户名和密码

在linux中,有时忘记自己的svn的用户名和密码,可以这样查看。cd cd ~/.subversion/auth/svn.simple在这个目录下可以看到类似a2dc58b7668dba51b692081cc32ac86e的文件vim打开这样的文件就可以看到用户名和密码这样可以指定用户名和密码进行下载svn co 地址 --username xxx --passwor

2016-08-29 10:41:19 25017

原创 ffmpeg封装本公司的h264编码库

由于工作需要,要将本公司的h264编码库,封装到ffmpeg中,替换正式的x264编码库,1、使用公司svn上的2.6.2的版本,总是libpostproc出错,后来想从官网上下载,但在http://ffmpeg.org/download.html是没有2.6.2的版本的,它是从2.5.11跳到2.6.9,要在http://ffmpeg.org/releases/可以找到各种版本的原码。

2016-08-10 11:11:52 598

转载 ffmpeg-sws_scale

转自:http://guguclock.blogspot.com/2009/12/ffmpeg-swscale.html        如果想將某個PixelFormat轉換至另一個PixelFormat,例如,將YUV420P轉換成YUYV422,或是想變換圖的大小,都可以使用swscale達成。其中,PixelFormat 的列表在 libavutil/pixfmt.h

2016-08-02 16:56:48 214

原创 ffmpeg学习:avformat_alloc_context

AVFormatContext *avformat_alloc_context (libavformat/options.c)AVFormatContext *ic;ic = av_malloc(sizeof(AVFormatContext));(libavutil/mem.c:77)void *av_malloc(size_t size)if (size >

2016-07-21 09:11:09 316

原创 重定向标准输出到文件有时看不到文件的内容

作转码测试程序时,将输出保存到文件。开始时可以。将打印的音、视频的pts删除后,就看不到文件的内容了,还以为是程序出问题了。查了一下,是缓冲地区的问题。原来有很多的printf,缓冲地区满了,就会写到文件。可以使用fflush(stdout)解决。也可以用setvbuf

2016-07-15 16:40:57 1915

原创 servermain启动过程

1 int main/int startso ACE::init();ServiceStart(argc,argv);McuInitCModules::initModules()CModules::initialize(RSString filename)CModules::InitConfig(RSString filename)CModules:

2016-07-07 13:45:23 1149

原创 备忘

q1、编译facc-1.28,提示与string的函数定义冲突mpeg4ip.h:126:58: error: new declaration ‘char* strcasestr(const char*, const char*)’In file included from mpeg4ip.h:107:0,                 from mp4common.h:29,

2016-07-04 23:14:00 235

原创 top命令学习

1、取得cpu的占用率,可以取得cpu的空闲的值top -n 1 |grep Cpu | cut -d "," -f 4其中4是指第4列2、取得内存 top -n 1 |grep Mem | cut -d "," -f 2

2016-06-23 13:49:16 198

转载 励志小故事

励志小故事一:抉择  一个农民从洪水中救起了他的妻子,他的孩子却被淹死了。事后,人们议论纷纷。有的说他做得对,因为孩子可以再生一个,妻子却不能死而复活。有的说他做错了,因为妻子可以另娶一个,孩子却不能死而复活。我听了人们的议论,也感到疑惑难决:如果只能救活一人,究竟应该救妻子呢,还是救孩子?  于是我去拜访那个农民,问他当时是怎么想的。他答道:“我什么也没想。洪水袭来,妻子在我身过,我抓住

2015-11-24 17:18:00 536

原创 ftp上传

项目中要使用ftp上传文件,在linux下运行,思路是由加一个模块,定时读取上传任务,然后调用脚本上传文件将工作中遇到的问题备忘一下。1、linux下安装ftp服务网上有很多方法,我用的是unbantu,用全新安装:apt-get install vsftpd,重新安装:apt-get --reinstall install vsftp,卸载并清除配置文件:apt-get -p

2015-11-20 18:20:10 446

原创 linux下安装fms服务器

1、下载安装包FlashMediaServer4.tar.gz,将包解压tar -zxvf FlashMediaServer4.tar.gz2、cd到解压目录运行:./installFMS -platformWarnOnly说明:-platformWarnOnly,忽略安装平台,因为有些系统会安装不了,所以这个一定要加上。3、安装时如果报错:缺少libcap动态库(A

2015-11-13 17:57:38 2298

原创 linux中scp保存密钥信息的文件

linux中scp保存密钥信息的文件是~/.ssh/known_hosts如果原来某个ip的密钥保存了,对方重新安装了,密钥就会改变,此时使用scp就会有这样的提示:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED

2015-11-12 09:30:02 1638

转载 hexdump

-n length只格式化输入文件的前length个字节-C 输出十六进制和对应字符-s 从偏移量开始输出hexdump高级用法:-e 指定格式字符串,格式字符串包含在一对单引号中,格式字符串形如:'a/b "format1" "format2"'每个格式字符串由三部分组成,每个由空格分隔,第一个形

2015-10-30 18:18:32 344

原创 tcpdump

本来在linux中可以直接运行tcpdump进行抓包的,但是tcpdump也有限制我在192上可以抓包保存文件(源是154的包)tcpdump tcp and src 192.168.4.154 -w mydump想在154上抓目的是192的包就不行tcpdump tcp and dst192.168.4.192说是eth0: no IPv4 address assig

2015-08-14 11:44:34 311

boost程序库完全开发指南

boost程序库完全开发指南,boost程序的编译、使用技术文档资料

2015-06-17

空空如也

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

TA关注的人

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