yansheng.wang

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年7月30日

摘要: RTMP协议分析 二、AMF数据http://www.cnweblog.com/fly2700/archive/2008/04/09/281432.htmlRtmp包默认的最大长度为128字节,(或通过chunksize改变rtmp包最大长度), 当AMF数据超过128Byte的时候就可能有多个rtmp包组成,如果需要解码的rtmp包太长则被TCP协议分割成多个TCP包.那么解码的时候需要先将包含rtmp包的tcp封包合并,再把合并的数据解码,解码后可得到amf格式的数据,将这些AMF数据取出来就可以对AMF数据解码了.RTMP封包包括包头和AMF数据2部分,AMF数据里面可以是命令也可以是音 阅读全文
posted @ 2012-07-30 15:22 小小程序员001 阅读(722) 评论(0) 推荐(0) 编辑

摘要: http://www.cnweblog.com/fly2700/archive/2008/04/09/281431.htmlRTMP协议 封包 参考Red5RTMP协议封包 由一个包头和一个包体组成,包头可以是4种长度的任意一种:12, 8, 4, 1 byte(s).完整的RTMP包头应该是12bytes,包含了时间戳,Head_Type,AMFSize,AMFType,StreamID信息,8字节的包头只纪录了时间戳,Head_Type,AMFSize,AMFType, 4个字节的包头记录了时间戳,Head_Type。1个字节的包头只记录了Head_Type。包体最大长度默认为128字节, 阅读全文
posted @ 2012-07-30 15:20 小小程序员001 阅读(599) 评论(0) 推荐(0) 编辑

2012年7月24日

摘要: 1. 基频= 12 * (LOG( 频率 /440.0) / LOG(2.0)) + 69 阅读全文
posted @ 2012-07-24 17:54 小小程序员001 阅读(716) 评论(0) 推荐(0) 编辑

2012年7月23日

摘要: AMF协议 Action Message Format协议的简称,AMF协议是Adobe公司自己的协议,主要用于数据交互和远程过程调用,在功能上相当于WebService,但是AMF与WebService中的XML不同的是AMF是二进制数据,而XML是文本数据,AMF的传输效率比XML高。AMF使用HTTP方式传输,目前主要是用于ActionScript中,即实现Flex和Server之间的通信。目前有二种版本--AMF0和AMF3 AMF最大的特色在于可直接将Flash内置对象,例如Object, Array, Date, XML,传回服务器端,并且在服务器端自动进行解析成适当的对象,... 阅读全文
posted @ 2012-07-23 19:44 小小程序员001 阅读(841) 评论(0) 推荐(0) 编辑

2012年7月16日

摘要: MP3帧体的大小由MPEG版本号、比特率、抽样率和填充位4个因素确定。计算公式为:帧大小= ((MPEG版本号== 1?144:72) * 比特率)/抽样率 + 填充位位率为64kbps,采样频率为44.1kHz,padding(帧长调节)为1时,帧长为210字节。位率为128kbps,采样频率为44.1kHz,padding(帧长调节)为0时,帧长为418字节。以下是简单示例:#include <stdio.h> #include <stdlib.h> #include "lame.h" #define BUF_SIZE 512 #define I 阅读全文
posted @ 2012-07-16 18:01 小小程序员001 阅读(1721) 评论(0) 推荐(0) 编辑

摘要: #include <stdio.h> #include <stdlib.h> #include <time.h> #ifdef __cplusplus extern "C" { #endif #include <libavcodec/avcodec.h> #include <libavformat/avformat.h> #ifdef __cplusplus }; #endif uint8_t inbuf[AVCODEC_MAX_AUDIO_FRAME_SIZE * 100]; int main() { // 注册 阅读全文
posted @ 2012-07-16 17:42 小小程序员001 阅读(581) 评论(0) 推荐(0) 编辑

2012年7月15日

摘要: MAD (libmad)是一个开源的高精度 MPEG 音频解码库,支持 MPEG-1(Layer I, Layer II 和 LayerIII(也就是 MP3)。LIBMAD 提供 24-bit 的 PCM 输出,完全是定点计算,非常适合没有浮点支持的平台上使用。使用 libmad 提供的一系列 API,就可以非常简单地实现 MP3 数据解码工作。在 libmad 的源代码文件目录下的 mad.h 文件中,可以看到绝大部分该库的数据结构和 API 等。 网上有很多关于libmad的使用实例,在他们的基础上,我稍加总结、整理和衍生,文末给出相关参考链接,表示感谢!一、libmad库源码 可以去相 阅读全文
posted @ 2012-07-15 11:19 小小程序员001 阅读(10714) 评论(1) 推荐(1) 编辑

2012年7月3日

摘要: 阅读全文
posted @ 2012-07-03 12:10 小小程序员001 阅读(166) 评论(0) 推荐(0) 编辑

2012年6月29日

摘要: 名 称:Visual Build官方网址:http://www.kinook.com/VisBuildPro/ 阅读全文
posted @ 2012-06-29 08:59 小小程序员001 阅读(188) 评论(0) 推荐(0) 编辑

2012年6月26日

摘要: 1均衡的作用均衡器是一种可以分别调节各种频率成分电信号放大量的电子设备,通过对各种不同频率的电信号的调节来补偿扬声器和声场的缺陷,补偿和修饰各种声源及其它特殊作用。具体来说,它的作用如下:(1)改善音质这是均衡的主要用途,它可使乐器的音质更好听。例如,可用高频衰减的方法来降低歌手的咝音,或者对直接录入的电吉它声进行消除镶边声的处理。提升100Hz可使鼓声更丰满,或者对低音吉它声在250Hz附近衰减时变得更清晰。衰减100Hz有助于削弱因众多和声汇集而引起的低音增强感。每支话筒的频响和摆放位置也会对音质有影响。(2)创造一种音响效果过度的均衡会降低保真度,但是却能得到一种有趣的声音效果。对人声在 阅读全文
posted @ 2012-06-26 08:09 小小程序员001 阅读(392) 评论(0) 推荐(0) 编辑