yansheng.wang

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

2012年11月27日

摘要: YY的音频数据传输是P2P协议,音频的编码为AAC,下面抓去的音频编码的信息和频谱信息。音频编码为AAC,采样为44K,码率24kb/s。音频编码在24kb/s码率能达到15K的音质。值得大家学习啊。1.准备工具procexp.exe 分析YY的进程信息Procmon.exe 分析YY的网络数据包wireshark.exe 分析网络包的内容2.分析YY的进程信息 使用procexp分析YY的大致信息,比如进程号,网络连接等3.分析YY的网络传输信息使用procmon分析YY的网络数据,根据上面的得到的进程ID设置过滤,只接受YY的UDP数据包过滤后得到数据包如下:从上面的数据可以看到端口为8. 阅读全文
posted @ 2012-11-27 20:24 小小程序员001 阅读(3366) 评论(0) 推荐(1) 编辑

摘要: walktree 发表于 2008-11-21, 12:53 PM.Flex早在2007年就有Adobe的牛人在研究如何在Flash Player 9(具体是AVM2)上跑C或C++,现在这个研究已经进入了出成果的时候,昨天还是前天在labs上放出了这个传说中的家伙名为Alchemy。 相逢不如偶遇,最近正在被Flash Player在声音采集上的限制弄得头昏。Adobe允许我们可以动态加载Mp3或Mp4,甚至编写算法播放wav(但要注意采样率必须是44100、22050、11025、5510,是不是很变态?),但如果想获取麦克风的声音数据,没门! Flash Player采用的是商业版本的N 阅读全文
posted @ 2012-11-27 17:49 小小程序员001 阅读(217) 评论(0) 推荐(0) 编辑

2012年11月21日

摘要: GCC编译选项--"-fno-strict-aliasing"(2009-08-09 14:31:45)转载▼标签:杂谈分类:计算机与 Internet这两天编译别的组的代码。编译器是GCC4.1.2,发现使用优化选项O2以上代码执行的结果和使用O1(或不使用优化选项)不一样,使用O1编译出来的代码执行结果是正确的。上网搜索了一下,发现了原因。代码中有如下语句:float f = j;unsigned int* p = (unsigned int*)(&f);上述代码的第二句有强制类型转化,是出现问题的原因。原因及解决方法如下,是英文的:If optimizatio 阅读全文
posted @ 2012-11-21 14:22 小小程序员001 阅读(978) 评论(0) 推荐(0) 编辑

2012年11月12日

摘要: NAMErtmpdump − RTMP streaming media clientSYNOPSISrtmpdump−rurl[−nhostname] [−cport] [−lprotocol] [−Shost:port] [−aapp] [−ttcUrl] [−ppageUrl] [−sswfUrl] [−fflashVer] [−uauth] [−Cconndata] [−yplaypath] [−Y] [−v] [−dsubscription] [−e] [−kskip] [−Astart] [−Bstop] [−bbuffer] [−mtimeout] [−Tkey] [−wswfHa 阅读全文
posted @ 2012-11-12 20:00 小小程序员001 阅读(2975) 评论(0) 推荐(1) 编辑

2012年11月7日

摘要: 采集音频和摄像头视频并实时H264编码及AAC编码0. 前言 我在前两篇文章中写了DirectShow捕获音视频然后生成avi,再进行264编码的方法。那种方法有一些局限性,不适合实时性质的应用,如:视频会议、视频聊天、视频监控等。本文所使用的技术,适用于这种实时性的应用,通过处理采集出来的音视频的每一帧,实现实时编码,实时输出。这是我做直播系列应用的一部分,目前的情况是输入端采用DirectShow技术捕获音视频,然后对视频进行h.264编码,对音频进行aac编码,输出端则是生成文件,接下来还要进一步扩展输入端和输出端,以支持文件、桌面输入,RTSP、RTMP、HTTP等流式协议输出。1.. 阅读全文
posted @ 2012-11-07 14:39 小小程序员001 阅读(668) 评论(0) 推荐(1) 编辑

摘要: 摘要: RTMP协议发送H.264编码及AAC编码的音视频,实现摄像头直播 RTMP(Real Time Messaging Protocol)是专门用来传输音视频数据的流媒体协议,最初由Macromedia 公司创建,后来归Adobe公司所有,是一种私有协议,主要 ...RTMP协议发送H.264编码及AAC编码的音视频,实现摄像头直播 RTMP(Real Time Messaging Protocol)是专门用来传输音视频数据的流媒体协议,最初由Macromedia 公司创建,后来归Adobe公司所有,是一种私有协议,主要用来联系Flash Player和RtmpServer,如FMS.. 阅读全文
posted @ 2012-11-07 14:32 小小程序员001 阅读(961) 评论(0) 推荐(0) 编辑

摘要: OverviewFlash Video(简称FLV),是一种流行的网络格式。目前国内外大部分视频分享网站都是采用的这种格式.File Structure从整个文件上开看,FLV是由The FLV header和The FLV File Body组成.1.The FLV headerFieldTypeCommentSignatureUI8Signature byte always 'F' (0x46)SignatureUI8Signature byte always 'L' (0x4C)SignatureUI8Signature byte always ' 阅读全文
posted @ 2012-11-07 11:44 小小程序员001 阅读(7321) 评论(0) 推荐(1) 编辑

2012年8月5日

摘要: http://www.cnblogs.com/sinojelly/archive/2010/05/22/1741337.htmlCMake是一个比make更高级的编译配置工具,它可以根据不同平台、不同的编译器,生成相应的Makefile或者vcproj项目。通过编写CMakeLists.txt,可以控制生成的Makefile,从而控制编译过程。CMake自动生成的Makefile不仅可以通过make命令构建项目生成目标文件,还支持安装(make install)、测试安装的程序是否能正确执行(make test,或者ctest)、生成当前平台的安装包(make package)、生成源码包(m 阅读全文
posted @ 2012-08-05 14:27 小小程序员001 阅读(298) 评论(0) 推荐(0) 编辑

2012年8月1日

摘要: 在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:#define __FD_SETSIZE 1024表示select最多同时监听1024个fd,当然,可以通过修改头文件再重编译内核来扩大这个数目,但这似乎并不治本。epoll的接口非常简单,一共就三个函数:1. int epol 阅读全文
posted @ 2012-08-01 19:33 小小程序员001 阅读(206) 评论(0) 推荐(0) 编辑

2012年7月31日

摘要: crtmpserver(C++ RTMP Server)是高性能的流媒体服务器,支持以下协议(直播或录制):支持Flash(RTMP,RTMPE,RTMPS,RTMPS,RTMPT,RTMPTE)支持嵌入式设备:iPhone,Android支持监控摄像机支持IP-TV(MPEG-tS,RTSP/RTCP/RTP)此外,crtmpserver可以作为高性能rendes-vous服务器,可以让你做:音视频会议在线游戏在线协作简单/复杂的聊天应用crtmpserver不同之处支持多种流媒体技术之间的通信(Adobe flash, Apple streaming, Silverlight, etc)高 阅读全文
posted @ 2012-07-31 08:56 小小程序员001 阅读(936) 评论(0) 推荐(0) 编辑