自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (4)
  • 收藏
  • 关注

原创 rtmp NetConnection 状态

"NetConnection.Connect.Success"  //服务器连接成功 "NetConnection.Connect.Closed"   //连接中断 "NetConnection.Connect.Failed"   //连接失败" "NetConnection.Connect.Rejected"  //没有权限" "NetStream.Play.Reset"

2016-06-03 16:58:38 2186

转载 sdp文件详细总结

转载自http://blog.csdn.net/zhangjikuan/article/details/27367437一概述:SDP目的就是在媒体会话中,传递媒体流信息,允许会话描述的接收者去参与会话。SDP基本上在internet上工作。他定义了会话描述的统一格式,但并不定义多播地址的分配和SDP消息的传输,也不支持媒体编码方案的协商,这些功能均由下层传送协议完成。

2015-11-04 11:15:40 15998

转载 C语言面试题大汇总之华为面试题

[cpp] view plaincopyprint?1、局部变量能否和全局变量重名?  答:能,局部会屏蔽全局。要用全局变量,需要使用"::"  ;局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变

2015-08-17 10:49:16 1031

转载 C++时间与字符串转换

[cpp] view plaincopyprint?1、常用的时间存储方式    1)time_t类型,这本质上是一个长整数,表示从1970-01-01 00:00:00到目前计时时间的秒数,如果需要更精确一点的,可以使用timeval精确到毫秒。    2)tm结构,这本质上是一个结构体,里面包含了各时间字段    struct tm { 

2015-08-14 17:22:57 462

转载 SOCKET通过代理连接服务器

[cpp] view plaincopyprint?代理方式包括:HTTP代理、SOCKET5代理。RFC参考文档:http://oss.org.cn/man/develop/rfc/default.htm  一、通过HTTP代理    int CProxy_TestDlg::HttpConnect(const char *proxy_ip,int pr

2015-08-14 11:45:07 3009

转载 socket穿透代理代码(C++版)

写代码经常会遇到socket要通过代理连接服务器的情况,代理类型通畅有三种:HTTP、SOCK4和SOCK5,通过学习和网上参考相关代码,写了个代理类来实现该功能,贴出来与大家共享才贴出来两天,刚在百度一搜竟然发现已被一字不改的转载到好几个网站去了,连转载的字样都没有,不反对转载分享,可能否注明出处?头文件[cpp] view p

2015-08-14 11:43:01 680

转载 c语言中各类型所占字节,及输出模式

C语言各种数据类型及其在系统中占的字节和取值范围C语言包含5个基本数据类型: void, int, float, double, 和 char. (另:C++ 定义了另外两个基本数据类型: bool 和 wchar_t. 一些基本数据类型能够被 signed, unsigned, short, 和 long 修饰所以short,long等等都不算基本数据类型。这是书上说

2015-08-14 11:26:41 3693

转载 关于编码ansi、GB2312、unicode与utf-8的区别(带源码下载)

关于编码ansi、GB2312、unicode与utf-8的区别先做一个小小的试验:在一个文件夹里,把一个txt文本(文本里包含“今天的天气非常好”这句话)分别另存为ansi、unicode、utf-8这三种编码的txt文件。然后,在该文件夹上点击右键,选择“搜索(E)…”。搜索“天气”二字,可以搜索出ansi和unicode这两种编码的txt文件,搜索不出utf-8编码的文件。原

2015-08-14 11:16:15 457

转载 C++中Ansi、Unicode、UTF8字符串之间的转换和写入文本文件

Ansi字符串我们最熟悉,英文占一个字节,汉字2个字节,以一个\0结尾,常用于txt文本文件Unicode字符串,每个字符(汉字、英文字母)都占2个字节,以2个连续的\0结尾,NT操作系统内核用的是这种字符串,常被定义为typedef unsigned short wchar_t;所以我们有时常会见到什么char*无法转换为unsigned short*之类的错误,其实就是unicodeU

2015-08-14 11:13:56 1184

转载 详解linux下auto工具制作Makefile源码包(工具安装篇)

一、引子最近学习安装源码包,然后公司开发也需要制作源码包,所以就稍微学习了一下automake与autoconf制作configure以及Makefile。感觉作为一个linux开发人员,不知道制作源码包,真是妄为linux人呐!学习的同时,就顺便整理了一下网上的资料,并记录下来,供以后查阅,也为方便初学者。题目说的有点大了,其实只是笔记而已,只供菜鸟使用。咱们都知道mak

2015-08-14 10:52:54 595

转载 详解linux下auto工具制作Makefile源码包(制作篇)

一、     概述为了更好的制作configure与Makefile,我先把制作流程给写在这里,好让大伙都有个心理准备。这里只说流程,不做解释。(附图供参考)  1、autosan命令生成configure.scan文件,这只是个模板,我们重新编辑这个文件,并把它保存为configure.in文件。2、aclocal命令生成aclocal.m4文件。

2015-08-14 10:52:19 358

转载 linux定时任务的设置

为当前用户创建cron服务1.  键入 crontab  -e 编辑crontab服务文件      例如 文件内容如下:     */2 * * * * /bin/sh /home/admin/jiaoben/buy/deleteFile.sh      保存文件并并退出     */2 * * * * /bin/sh /home/admin/jiaobe

2015-08-14 09:55:28 276

转载 coredump简介与coredump原因总结

什么是coredump?通常情况下coredmp包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息等。可以理解为把程序工作的当前状态存储成一个文件。许多程序和操作系统出错时会自动生成一个core文件。如何使用coredump?coredump可以用在很多场合,使用Linux,或者solaris的人可能都有过这种经历,系统在跑一些压力测试或者系统负载一大的话,系统就h

2015-08-14 09:46:54 400

转载 CentOS 6.5下本地yum源与网络yum源的配置使用

一、本地yum源系统默认已经安装了可使用yum的软件包,所以可以直接配置:[root@localhost ~]# cd /etc/yum.repos.d/                        yum源配置文件放置目录[root@localhost yum.repos.d]# mv CentOS-Base.repo CentOS-Base.repo.bak   

2015-08-14 09:12:45 349

转载 Onvif剪裁(二)

剪裁Onvif:减小soapC.cpp文件的大小(二)gSOAP生成的onvif框架代码太大了,可以通过以下方法裁剪1. 编译选项    -DWITH_NOIDREF2. 修改生成的代码,去掉所有的soap_default_xxx,这些函数里面都是将结构体的成员置为0的,完全可以用memset来代替。    修改方法:首先删掉这些函数: c

2015-05-19 18:09:44 2170 1

转载 Onvif裁剪(一)

剪裁Onvif:减小soapC.cpp文件的大小(一)背景介绍:1、本人是目前在公司是负责产品中安防设备接入的,Onvif和GB28181均是客户端,不用做服务器,所以关于服务器的细节不是很了解;2、去年根据需求完成了Onvif设备的接入,但不灵活和健壮,且so文件很大(Debug版本有18M,说到都是泪),所以剪裁Onvif的计划早已规划,今年产品系统重构刚好逮着机会试着剪裁On

2015-05-19 18:07:51 2158 1

转载 onvif 客户端发现

1、解压:unzip -X gsoap_2.8.10.zip 编译2、下载:wget http://www.onvif.org/onvif/ver10/network/wsdl/remotediscovery.wsdl3、复制:cp gsoap-2.8/gsoap/typemap.dat .4、在typemap.dat 中添加:[cpp] view pl

2015-01-04 10:58:40 1101

转载 Onvif开发之Linux下gsoap的使用及移植

一直以来都是在CSDN上面学习别人的东西,很多次想写点什么但是又无从写起。由于公司项目需要,最近一段时间在研究onvif,在网上找了很多资料,发现资料是非常多,但是很少有比较全的资料,或者资料太多无从下手。我打算从做项目开始,用CSDN博客记录我的项目笔记,同时希望能帮助到需要帮助的人,以感谢这么多年来CSDN上各位高手对我的帮助。onvif的开发从gsoap的移植开始!今天完成了gsoap的移植

2015-01-04 10:57:36 828

转载 onvif开发之设备发现功能的实现

忙了一个多月,onvif总算告一段落了。这几个星期忙着其他的项目,也没有好好整理一下onvif的东西。接下来得好好整理一下自己的项目思路和项目经验,同时将自己的一些心得写出来,希望对人有所帮助。        相信大多数兄弟和我一样,onvif开发,最开始做的就是发现功能。这两天登录onvif的官网看才发现,onvif版本在八月份有更新,已经更新到V2.4了,于是下载最新的版本来进行。代码的生

2015-01-04 10:56:27 820

原创 提取资源文件(QQ、360等)

很早之前就有人问过我,QQ、360资源都是怎么获取的?找人做还是通过其它途径?    这里先解释一下,其实作为程序员的我们大多数是不会PS的,当然,很牛的人也是有的,诸如我师父:毫不夸张的说,Java、PHP、PS都很精通,PS对他来说是小菜一碟,很多时候我有需要都是找他做图的^_^。。。在我的认知里,好的美工其实不仅仅能做出高大上的界面原型、图标,而且可以跟随项目进行前台的开发与完善,在界面

2014-12-08 15:49:52 1149

转载 LibRTMP源代码分析10:处理消息(Handle Message)

转载自:http://nkwavelet.blog.163.com/blog/static/227756038201412473745809/

2014-07-23 11:34:19 1943

转载 LibRTMP源代码分析7:发送消息(Send Message)

转载自:http://nkwavelet.blog.163.com/blog/static/227756038201412152749650/前面介绍了建立网络连接(NetConnection)和建立网络流(NetStream),这些命令数据是怎么发送出去的呢?在底层是怎么实现的呢?接下来就要详细分析各种消息的发送过程。 首先大致列举一下消息命令:发送connect命令      

2014-07-23 11:34:00 1936

转载 LibRTMP源代码分析6:建立网络流(NetStream)

转载自:http://nkwavelet.blog.163.com/blog/static/227756038201412124828594/建立了RTMP网络连接之后,客户端发送createStream 命令到服务器端为消息连接创建一个逻辑通道。 NetStream 定义了这个传输逻辑通道,通过这个通道,音频流、视频流以及数据消息流可以通过连接客户端和服务端的 NetConnection 传

2014-07-23 11:33:15 2915

转载 LibRTMP源代码分析9:接收消息(Receive Message)

在这里在研究接收消息(Message)的源代码,接收消息最典型的应用就是接收视音频数据了,因为视频和音频分别都属于RTMP协议规范中的一种消息。在这里主要分析接收视音频数据。LibRTMP中完成视音频数据的接收的函数是:RTMP_Read()。// Flv文件头static const char flvHeader[] = { 'F', 'L', 'V', 0x01,   0x00,

2014-07-23 11:32:49 670

转载 LibRTMP源代码分析5:建立网络连接(NetConnection)

转载自:http://nkwavelet.blog.163.com/blog/static/227756038201412083019646/服务器和客户端之间只能建立一个网络连接,但是基于该连接可以创建很多网络流。他们的关系如图所示: 网络连接的基本步骤在第一篇文章中有所介绍,此处不再重复。源代码中的 RTMP_Connect(...) 用于建立RTMP网络连

2014-07-23 11:32:27 991

转载 LibRTMP源代码分析8:发送消息(Send RTMPPacket)

转载自:http://nkwavelet.blog.163.com/blog/static/2277560382014124101925373/在详细分析函数RTMP_SendPacket()之前,让我们来看看RTMPPacket结构体的定义:typedef struct RTMPPacket{        uint8_t   m_headerType;// Chun

2014-07-23 11:32:07 1499

转载 LibRTMP源代码分析4:握手(HandShake)

转载自:http://nkwavelet.blog.163.com/blog/static/227756038201412052439295/在RTMP客户端和服务器端网络层连接成功之后,第一件事情就是RTMP的握手。至于为什么要握手,协议本身没有太多的描述,我理解的握手目的:握手的主要目的就是让客户端和服务器端互相打个招呼,其主要内容应该包括看看两者是否同时理解RTMP协议本身(至少理解握手

2014-07-23 11:31:41 1605

转载 LibRTMP源代码分析3:AMF编码

AMF协议是Action Message Format协议的简称,AMF协议是Adobe公司的协议,主要用于数据交互和远程过程调用,在功能上与WebService相当,但AMF与WebService中的xml不同在于AMF是二进制数据,而xml是文本数据,AMF的传输效率比xml高。AMF使用http方式传输,目前主要用于ActionScript中,实现Flex与Service之间的通信。AMF目

2014-07-23 11:29:22 1484

转载 LibRTMP源代码分析2:解释RTMP地址

获取RTMP流媒体数据很重要的前提是RTMP的URL的解析,首先回顾一下RTMP的URL的格式:         url = “rtmp://pub1.guoshi.com:1935/pushstation/ 291?wsSecret=2b8 &wsTime=5302         协议名 :RTMP_PROTOCOL_RTMP = 0;         主机名 :"pub1.guo

2014-07-23 11:28:12 935 2

转载 LibRTMP源代码分析1:概述

此系列文章主要总结一下我在学习RTMP协议以及LibRTMP源代码过程中积累的经验。 详细分析了RTMP源代码是如何与RTMP协议对应起来的,使得代码与协议有明确的对应关系,便于理解协议和使用LibRTMP。最后给出一个实例,利用libRTMP推送H264和AAC编码的音视频直播流。   有关源代码分析的内容及系列文章的结构参考了网上牛人雷霄骅的blog,但对代码分析的详细程度远超过他的b

2014-07-23 11:26:06 950

转载 RTMP 规范中文版

原文地址:http://blog.csdn.net/defonds/article/details/17534903

2014-07-15 08:47:46 1426

历年软考试题和答案(软件工程师&数据库工程师)

历年软考试题和答案(软件工程师&数据库工程师)

2012-11-10

c语言的预编译处理

预编译处理虽然不难,但是学好C语言最好能弄懂预编译

2012-11-08

mini2440原理图

高度清晰,mini2440原理图。学习嵌入式最好有一张原理图

2012-11-08

sqlite-3.3.7.tar.gz

c语言接口的 sqlite-3.3.7.tar.gz

2012-11-08

空空如也

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

TA关注的人

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