===================================================== RTMPdump(libRTMP) 源代码分析系列文章: RTMPdump 源代码分析 1: main()函数 RTMPDump (libRTMP) 源代码分析2:解析RTMP地址--RTMP_ParseURL() RTMPdump (libRTMP) 源代码分析3: AMF编码 RTMPdump (libRTMP) 源代码分析4: 连接第一步--握手 (HandShake) RTMPdu…
===================================================== RTMPdump(libRTMP) 源代码分析系列文章: RTMPdump 源代码分析 1: main()函数 RTMPDump (libRTMP) 源代码分析2:解析RTMP地址--RTMP_ParseURL() RTMPdump (libRTMP) 源代码分析3: AMF编码 RTMPdump (libRTMP) 源代码分析4: 连接第一步--握手 (HandShake) RTMPdu…
===================================================== RTMPdump(libRTMP) 源代码分析系列文章: RTMPdump 源代码分析 1: main()函数 RTMPDump (libRTMP) 源代码分析2:解析RTMP地址--RTMP_ParseURL() RTMPdump (libRTMP) 源代码分析3: AMF编码 RTMPdump (libRTMP) 源代码分析4: 连接第一步--握手 (HandShake) RTMPdu…
===================================================== RTMPdump(libRTMP) 源代码分析系列文章: RTMPdump 源代码分析 1: main()函数 RTMPDump (libRTMP) 源代码分析2:解析RTMP地址--RTMP_ParseURL() RTMPdump (libRTMP) 源代码分析3: AMF编码 RTMPdump (libRTMP) 源代码分析4: 连接第一步--握手 (HandShake) RTMPdu…
===================================================== RTMPdump(libRTMP) 源代码分析系列文章: RTMPdump 源代码分析 1: main()函数 RTMPDump (libRTMP) 源代码分析2:解析RTMP地址--RTMP_ParseURL() RTMPdump (libRTMP) 源代码分析3: AMF编码 RTMPdump (libRTMP) 源代码分析4: 连接第一步--握手 (HandShake) RTMPdu…
===================================================== RTMPdump(libRTMP) 源代码分析系列文章: RTMPdump 源代码分析 1: main()函数 RTMPDump (libRTMP) 源代码分析2:解析RTMP地址--RTMP_ParseURL() RTMPdump (libRTMP) 源代码分析3: AMF编码 RTMPdump (libRTMP) 源代码分析4: 连接第一步--握手 (HandShake) RTMPdu…
===================================================== RTMPdump(libRTMP) 源代码分析系列文章: RTMPdump 源代码分析 1: main()函数 RTMPDump (libRTMP) 源代码分析2:解析RTMP地址--RTMP_ParseURL() RTMPdump (libRTMP) 源代码分析3: AMF编码 RTMPdump (libRTMP) 源代码分析4: 连接第一步--握手 (HandShake) RTMPdu…
0: 主要函数调用分析 rtmpdump 是一个用来处理 RTMP 流媒体的开源工具包,支持 rtmp://, rtmpt://, rtmpe://, rtmpte://, and rtmps://.也提供 Android 版本. 最近研究了一下它内部函数调用的关系. 下面列出几个主要的函数的调用关系. RTMPDump用于下载RTMP流媒体的函数Download: 用于建立网络连接(NetConnect)的函数Connect: 用于建立网络流(NetStream)的函数 rtmpdump源代码…
话说在<Spark源代码分析之五:Task调度(一)>一文中,我们对Task调度分析到了DriverEndpoint的makeOffers()方法.这种方法针对接收到的ReviveOffers事件进行处理.代码例如以下: // Make fake resource offers on all executors     // 在全部的executors上提供假的资源(抽象的资源.也就是资源的对象信息,我是这么理解的)     private def makeOffers() {       /…
前文分析了XBMC的基本结构: XBMC源代码分析 1:整体结构以及编译方法 XBMC源代码分析 2:Addons(皮肤Skin) XBMC源代码分析 3:核心部分(core)-综述 XBMC源代码分析 4:视频播放器(dvdplayer)-解码器(以ffmpeg为例) XBMC源代码简析 5:视频播放器(dvdplayer)-解复用器(以ffmpeg为例) XBMC源代码分析 6:视频播放器(dvdplayer)-文件头(以ffmpeg为例) 本文我们分析XBMC中视频播放器(dvdplaye…
linux系统性能调优第一步--性能分析(vmstat) 分类: LINUX 性能调优的第一步是性能分析,下面从性能分析着手进行一些介绍,尤其对linux性能分析工具vmstat的用法和实践进行详细介绍. ------------------------------------------ .性能分析的目的 )找出系统性能瓶颈(包括硬件瓶颈和软件瓶颈): )提供性能优化的方案(升级硬件?改进系统系统结构?): )达到合理的硬件和软件配置: )使系统资源使用达到最大的平衡.(一般情况下系统良好运行…
configure是源代码安装的第一步,主要的作用是对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系 configure有许多参数可配,具体参见./configure --help及手册 更详细的介绍,参见百度百科: http://baike.baidu.com/view/2216973.htm 下面列出常见的: --prefix=PREFIX '--prefix'是最常用的选项.制作出的'Makefile'会查看随此选项传递的参数,当一个包在安装时可以彻底的重新安置他的结构…
拿来主义: python -m cProfile -o profile.pstats to_profile.py gprof2dot -f pstats profile.pstats |dot -Tpng -o click.png 然后顺着浅色线条优化就OK了. windows下: google下graphviz-2.38.msi,然后安装.dot命令需要. git clone https://github.com/jrfonseca/gprof2dot.git. 然后就是: D:\KwDown…
Newbe.Claptrap 框架非常适合于解决具有并发问题的业务系统.火车票售票系统,就是一个非常典型的场景用例. 本系列我们将逐步从业务.代码.测试和部署多方面来介绍,如何使用 Newbe.Claptrap 框架来构建一个简易的火车票售票系统. 吹牛先打草稿 让我们来首先界定一个这个简易的火车售票系统所需要实现的业务边界和性能要求. 业务边界 该系统仅包含车票的余票管理部分.即查询剩余座位,下单买票减座. 而生成订单信息,付款,流量控制,请求风控等等都不包含在本次讨论的范围中. 业务用例 查…
话说在大学的时候帮老师做项目的时候就已经接触过企业库了但是当初一直没明白为什么要用这个,只觉得好麻烦啊,竟然有那么多的乱七八糟的配置(原来我不知道有配置工具可以进行配置,请原谅我的小白). 直到去年在做项目的时候在看代码生成工具的时候看到了许多生成工具都内置了企业库的数据库访问及一些相关模块,才突然顿悟了,可能企业库应该还是有点用的,于是就试着使用了企业库的一些模块(当时版本是4.1),果然觉得企业库还是很不错的,微软在企业库中为我们封装了许多日常经常使用的模块,如:数据库访问,缓存,日志,异常…
http://wenku.baidu.com/link?url=R-QoZXhc918qoO0BX6eXI9_uPU75whF62vFFUBIR-7c5XAYUVxDRX5Rs6QZR9hrBnUdMdVHNSHdjYtv7i28lCSng1iuWO620ML_wqJZYFge Hadoop源代码分析(一) 关键字: 分布式云计算 Google的核心竞争技术是它的计算平台.Google的大牛们用了下面5篇文章,介绍了它们的计算设施. GoogleCluster:http://research.g…
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6745181 Android应用程序组件Service与Activity一样,既可以在新的进程中启动,也可以在应用程序进程内部 启动:前面我们已经分析了在新的进程中启动Service的过程,本文将要介绍在应用程序内部绑定Service的过程,这是一种在应用程序进程内部启动 Service的方法. 在前面一篇文章Android进程间通信(IPC)机…
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6664554 在上一文章Android系统匿名共享内存Ashmem(Anonymous Shared Memory)简要介绍和学习计划中, 我们简要介绍了Android系统的匿名共享内存机制,其中,简要提到了它具有辅助内存管理系统来有效地管理内存的特点,但是没有进一步去了解它是如何实 现的.在本文中,我们将通过分析Android系统的匿名共享内存…
1.前言 Mirantis 公司在2014年9月14日宣布收购 TCPCloud,然后宣布在2017年第一季度会推出全新的私有云产品.从那时候开始,我就一直满怀期待.终于,今年4月19日,Mirantis 宣布推出全新的 MCP 1.0.本文根据公开的文档,试着对该产品做些分析和总结,并且展望一下其未来.因为只是看文档和视频,并没有进行实际部署和操作,因此,可能有一些错误.本文会持续进行更新. 2. MCP 1.0 概况 2.1 MCP 1.0 的组成 MCP 1.0 主要包括三大部分: Dri…
Hadoop源代码分析(一) 关键字: 分布式云计算 Google的核心竞争技术是它的计算平台.Google的大牛们用了下面5篇文章,介绍了它们的计算设施. GoogleCluster:http://research.google.com/archive/googlecluster.html Chubby:http://labs.google.com/papers/chubby.html GFS:http://labs.google.com/papers/gfs.html BigTable:ht…
通过前面的两篇文章<Appium Android Bootstrap源代码分析之控件AndroidElement>和<Appium Android Bootstrap源代码分析之命令解析运行>我们了解到了Appium从pc端发送过来的命令是怎样定位到命令相关的控件以及怎样解析运行该命令.那么我们剩下的问题就是bootstrap是怎么启动运行的,我们会通过本篇文章的分析来阐述这个问题,以及把之前学习的相关的类给串起来看它们是怎么互动的. 1.启动方式 Bootstrap的启动是由Ap…
今天介绍一下nodejs Path的源代码分析,Path的API文档在https://nodejs.org/dist/latest-v5.x/docs/api/path.html,使用相对简单,在API文档中,须要特别说明的是例如以下的文字: This module contains utilities for handling and transforming file paths. Almost all these methods perform only string transforma…
概述 数据正以前所未有的速度与日俱增 如何存储.处理和使用这些数据来进行机器学习?spark正可以应对这些问题 了解Spark是什么,它是如何工作的,以及涉及的不同组件是什么 简介 我们正在以前所未有的速度生成数据.老实说,我跟不上世界各地里产生的巨大数据量!我敢肯定你已经了解过当今时代数据的产量.McKinsey, Gartner, IBM,等公司都给出了他们公司的数据. 这里有一些令人难以置信的数字供你参考.有超过5亿条推文.900亿封电子邮件.6500万条WhatsApp消息,以上这些都是…
1:初始化(SDL_Init()) SDL简介 有关SDL的简介在<最简单的视音频播放示例7:SDL2播放RGB/YUV>以及<最简单的视音频播放示例9:SDL2播放PCM>中已经叙述过了,不再重复.这两篇文章中也提到了一张SDL的原理图,如下所示: 从这个图中可以看出,SDL根据系统的不同调用不同的API完成相应的功能.至于它是如何实现的,将会在后文中详细叙述.下面不再罗嗦,直接进入正题. 使用SDL播放一个视频代码流程大体如下 初始化: SDL_Init(): 初始化SDL. …
VC2010 编译 Media Player Classic - Home Cinema (mpc-hc) Media Player Classic - Home Cinema (mpc-hc)播放器一个经典的影音播放器,免费软件,可播放CD.VCD.DVD.及MP3.MP4.AVI.AAC等多种影音格式.与此同时,它还是开源的.今天尝试着编译了一下它的源代码(还是第一次接触这么大的MFC工程) 第一步::准备   1. 安装 Visual C++ 2010(不能是Express版本)   2.…
ffdshow神奇的功能:视频播放时显示运动矢量和QP FFDShow可以称得上是全能的解码.编码器.最初FFDShow只是mpeg视频解码器,不过现在他能做到的远不止于此.它能够解码的视频格式已经远远超出了mpeg4的范围,包括indeo video,WMV,mpeg2等等.同时,它也提供了丰富的加工处理选项,可以锐化画面,调节画面的亮度等等.不止是视频,FFDShow现在同样可以解码音频,AC3.MP3等音频格式都可支持.并且可以外挂winamp 的DSP插件,来改善听觉效果.可以说现在的F…
[转]hostapd源代码分析(一):网络接口和BSS的初始化 原文链接:http://blog.csdn.net/qq_21949217/article/details/46004349 最近在做一个基于OpenFlow 协议的无线AP 的项目,于是就分析了hostapd 的源代码,并在原有的基础上添加上我们的代码.经过近半个月的调试和分析,算是基本上搞清楚了hostapd 的运作机制.鉴于网上对于hostapd 的具体资料甚是稀少,所以笔者在此整理学习笔记并在网上与各位读者分享,希望能对读者…
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6768304 在Android系统中,所有的应用程序进程以及系统服务进程SystemServer都是由Zygote进程孕育 (fork)出来的,这也许就是为什么要把它称为Zygote(受精卵)的原因吧.由于Zygote进程在Android系统中有着如此重要的地位,本文 将详细分析它的启动过程. 在前面一篇文章Android应用程序进程启动过程的源…
文章转载至CSDN社区罗升阳的安卓之旅,原文地址: http://blog.csdn.net/luoshengyang/article/details/6747696 Android 应用程序框架层创建的应用程序进程具有两个特点,一是进程的入口函数是ActivityThread.main,二是进程天然支持Binder进程间通信 机制:这两个特点都是在进程的初始化过程中实现的,本文将详细分析Android应用程序进程创建过程中是如何实现这两个特点的. Android应用程序框架层创建的应用程序进程…
文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6703247 上文介绍了Android应用程序的启动过程,即应用程序默认Activity的启动过程,一般来说,这种默认 Activity是在新的进程和任务中启动的:本文将继续分析在应用程序内部启动非默认Activity的过程的源代码,这种非默认Activity一般 是在原来的进程和任务中启动的. 这里,我们像上一篇文章Android应用程序启动过…