小彭屋

导航

2013年12月6日 #

char *p 与char p[] 比较

摘要: 看看下面的程序的输出:#include char *returnStr(){ char *p="hello world!"; return p;}int main(){ char *str=NULL;//一定要初始化,好习惯 str=returnStr(); printf("%s\n", str); return 0;}这个没有任何问题,因为"hello world!"是一个字符串常量,存放在静态数据区,把该字符串常量存放的静态数据区的首地址赋值给了指针,所以returnStr函数退出时,该该字符串常量所在内存不会被回收,故能够通过指 阅读全文

posted @ 2013-12-06 14:06 小彭屋 阅读(782) 评论(0) 推荐(0) 编辑

2013年11月25日 #

rtsp 协议 详细讲解

摘要: 转载自:http://www.mikewootc.com/wiki/net/protocol/rtsp.html目录:概述RTSP简介协议特点协议细节典型的rtsp交互过程RTSP消息格式方法定义消息头定义状态码rtsp中常用方法举例SDP协议概述简介SDP协议格式SDP协议举例说明概述RTSP简介RTSP(Real Time Streaming Protocol), 实时流传输协议, 是TCP/IP协议体系中的一个应用层协议, 由哥伦比亚大学, 网景和RealNetworks公司提交的IETF RFC标准. 该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据. RTSP在体系结构 阅读全文

posted @ 2013-11-25 10:42 小彭屋 阅读(803) 评论(0) 推荐(0) 编辑

2013年11月15日 #

TS 流的解码过程(系摘抄)

摘要: TS 流解码过程:1. 获取TS中的PAT2. 获取TS中的PMT3. 根据PMT可以知道当前网络中传输的视频(音频)类型(H264),相应的PID,PCR的PID等信息。4. 设置demux 模块的视频Filter 为相应视频的PID和stream type等。5. 从视频Demux Filter 后得到的TS数据包中的payload 数据就是 one piece of PES,在TS header中有一些关于此 payload属于哪个 PES的 第多少个数据包。因此软件中应该将此payload中的数据copy到PES的buffer中,用于拼接一个PES包。6. 拼接好的PES包的包头会有 阅读全文

posted @ 2013-11-15 11:34 小彭屋 阅读(450) 评论(0) 推荐(0) 编辑

2013年7月31日 #

vc 中调用COM组件的方法

摘要: 需求:1.创建myCom.dll,该COM只有一个组件,两个接口:IGetRes--方法Hello(),IGetResEx--方法HelloEx()2.在工程中导入组件或类型库#import"组件所在目录myCom.dll"no_namespace或#import"类型库所在目录myCom.tlb"usingnamespaceMYCOM;方法一:CoInitialize(NULL);CLSIDclsid;CLSIDFromProgID(OLESTR("myCom.GetRes"),&clsid);CComPtrpGetRes; 阅读全文

posted @ 2013-07-31 11:13 小彭屋 阅读(351) 评论(0) 推荐(0) 编辑

2013年7月18日 #

给pcm格式文件加wav文件头

摘要: #include #include #include void main(){//wav头的结构如下所示:typedef struct{char fccID[4];unsigned long dwSize;char fccType[4];}HEADER; //RIFF WAVE Chunktypedef struct{charfccID[4];unsigned longdwSize;unsigned short wFormatTag;unsigned short wChannels;unsigned long dwSamplesPerSec;unsigned long dwAvgBytesPe 阅读全文

posted @ 2013-07-18 10:52 小彭屋 阅读(1916) 评论(0) 推荐(0) 编辑

pcm跟.wav文件的关系

摘要: PCM(Pulse Code Modulation----脉码调制录音)。所谓PCM录音就是将声音等模拟信号变成符号化的脉冲列,再予以记录。PCM信号是由[1]、[0]等符号构成的数字信号,而未经过任何编码和压缩处理。与模拟信号比,它不易受传送系统的杂波及失真的影响。动态范围宽,可得到音质相当好的影响效果。WAV 是由微软开发的一种音频格式。WAV符合 PIFF Resource Interchange File Format规范。所有的WAV都有一个文件头,这个文件头音频流的编码参数。WAV对音频流的编码没有硬性规定,除了PCM之外,还有几乎所有支持 ACM规范的编码都可以为WAV的音频流进 阅读全文

posted @ 2013-07-18 10:48 小彭屋 阅读(527) 评论(0) 推荐(0) 编辑

2013年7月16日 #

各种音视频编解码学习详解 h264 ,mpeg4 ,aac 等所有音视频格式

摘要: 编解码学习笔记(一):基本概念媒体业务是网络的主要业务之间。尤其移动互联网业务的兴起,在运营商和应用开发商中,媒体业务份量极重,其中媒体的编解码服务涉及需求分析、应用开发、释放 license收费等等。最近因为项目的关系,需要理清媒体的codec,比较搞的是,在豆丁网上看运营商的规范标准,同一运营商同样的业务在不同文档中不同的要求,而且有些要求就我看来应当是历史的延续,也就是现在已经很少采用了。所以豆丁上看不出所以然,从 wiki上查。中文的wiki信息量有限,很短,而wiki的英文内容内多,删减版也减肥得太过。我在网上还看到一个山寨的中文wiki,长得很像,红色的,叫“天下维客”。wiki的 阅读全文

posted @ 2013-07-16 15:40 小彭屋 阅读(1970) 评论(0) 推荐(0) 编辑

关于ES、PES、PS/TS 码流

摘要: 一、基本概念1)ESES--Elementary Streams (原始流)是直接从编码器出来的数据流,可以是编码过的视频数据流(H.264,MJPEG等),音频数据流(AAC),或其他编码数据流的统称。ES流经过PES打包器之后,被转换成PES包。 ES是只包含一种内容的数据流,如只含视频或只含音频等,打包之后的PES也是只含一种性质的ES,如只含视频ES的PES,只含音频ES的PES等。每个ES都由若干个存取单元(AU)组成,每个视频AU或音频AU都是由头部和编码数据两部分组成,1个AU相当于编码的1幅视频图像或1个音频帧,也可以说,每个AU实际上是编码数据流的显示单元,即相当于解码的1幅 阅读全文

posted @ 2013-07-16 13:36 小彭屋 阅读(662) 评论(0) 推荐(0) 编辑

2013年7月11日 #

基于tcp/udp的协议

摘要: 使用TCP协议的常见端口主要有以下几种:(1) FTP:定义了文件传输协议,使用21端口。常说某某计算机开了FTP服务便是启动了文件传输服务。下载文件,上传主页,都要用到FTP服务。(2) Telnet:它是一种用于远程登陆的端口,用户可以以自己的身份远程连接到计算机上,通过这种端口可以提供一种基于DOS模式下的通信服务。如以前的BBS是-纯字符界面的,支持BBS的服务器将23端口打开,对外提供服务。(3) SMTP:定义了简单邮件传送协议,现在很多邮件服务器都用的是这个协议,用于发送邮件。如常见的免费邮件服务中用的就是这个邮件服务端口,所以在电子邮件设置-中常看到有这么SMTP端口设置这个栏 阅读全文

posted @ 2013-07-11 09:51 小彭屋 阅读(483) 评论(0) 推荐(0) 编辑

2013年7月10日 #

HTTP返回值

摘要: 100 Continue:初始的请求已经接受,客户应当继续发送请求的其余部分。 101 Switching Protocols:服务器将遵从客户的请求转换到另外一种协议。 200 OK:一切正常,对GET和POST请求的应答文档跟在后面。如果不用SetStatus设置状态代码,Servlet默认使用202状态代码。 201 Created 服务器已经创建了文档,Location头给出了它的URL。 202 Accepted:已经接受请求,但处理尚未完成。 203 Non-Authoritative Information:文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝。 2 阅读全文

posted @ 2013-07-10 11:04 小彭屋 阅读(359) 评论(0) 推荐(0) 编辑