2011-12-6阅读1264 评论1 一直想学习流媒体服务器的设计,这几天有点时间,看了一下live555的源代码.live555是一个开源的跨平台流媒体服务器,使用编程语言是C++.将现阶段学习笔记总结如下,其实关键是要弄明白几个类的作用和它们之间的关系: 一.UsageEnvironment类以及其派生类的继承关系 基类UsageEnvironment是一个抽象类,它主要是定义了一些接口函数(纯虚函数)包括错误代码/结果消息系列函数,重载输出操作符系列函数等:以及定义重要的数据成员fSch…
参考: 1,live555学习笔记10-h264 RTP传输详解(2) http://blog.csdn.net/niu_gao/article/details/6936108 2,H264 sps pps解析 http://download.csdn.net/detail/gyley2/5008185#comment…
九 h264 RTP传输详解(1) 前几章对Server端的介绍中有个比较重要的问题没有仔细探究:如何打开文件并获得其SDP信息.我们就从这里入手吧. 当RTSPServer收到对某个媒体的DESCRIBE请求时,它会找到对应的ServerMediaSession,调用ServerMediaSession::generateSDPDescription().generateSDPDescription()中会遍历调用ServerMediaSession中所有的调用ServerMediaSubse…
七 RTP打包与发送 rtp传送开始于函数:MediaSink::startPlaying().想想也有道理,应是sink跟source要数据,所以从sink上调用startplaying(嘿嘿,相当于directshow的拉模式). 看一下这个函数: Boolean MediaSink::startPlaying(MediaSource& source, afterPlayingFunc* afterFunc, void* afterClientData) { //参数afterFunc是在播…
今天抽空研究了下live555的任务实现: TaskScheduler分为三种任务:socket handler,event handler,delay task.这三种任务的特点是,前两个加入执行队列后会一直存在,而delay task在执行完一次后会立即弃掉. socket handler保存在队列BasicTaskScheduler0::HandlerSet* fHandlers中; event handler保存在数组BasicTaskScheduler0::TaskFunc * fTr…
  推荐:伊朗美女找丈夫比找工作难女人婚前一定要看清三件事 × 登录注册   疯狂少男-IT技术的博客 http://blog.sina.com.cn/crazyboyzhaolei [订阅][手机订阅]   首页博文目录图片关于我 个人资料 疯狂少男   Qing 微博       加好友发纸条 写留言加关注     博客等级: 博客积分:22 博客访问:5,717 关注人气:2 获赠金笔:0 赠出金笔:0 荣誉徽章:       精彩图文   相关博文 十大女星全裸戏光脱却不漏点 八教兽 任…
这篇博客依旧是以电子签名板为基础而展开的,主要是对前文([WPF]学习笔记(一)--做一个简单的电子签名板)存在的部分问题进行解释,以及部分小功能的添加.由于这篇博客是建立在学习笔记一的基础上的,所以希望各位在正式阅览本文之前,对前文有一个大体的了解. 先简单谈谈这篇博客的目标:1.解决前文将电子签名保存至本地时存在的问题  2.为电子签名加上水印(文本) 3.全局异常捕获.是否以管理员权限运行.防止应用多开这些小功能的实现 1. 解决前文将电子签名保存至本地时存在的问题 1.1 前文存在的问题…
live555学习(一)通读Makefile编译live555 live555 编译live555 学习开源 live555学习(一)通读Makefile编译live555 前言 live555简介 下载live555 live的编译 生成Makefile Make的生成目标 前言 拿到一份开源代码,我们应该怎么学习呢,第一次接触的时候面对海量的源码,会有种找不着北的感觉吧.这里我会写下自己的学习过程,以及学习中遇到的那些问题一一记录下来,望对初学会有所帮助. 学习开源代码,我认同一种说法,“竟…
基于.net的分布式系统限流组件   在互联网应用中,流量洪峰是常有的事情.在应对流量洪峰时,通用的处理模式一般有排队.限流,这样可以非常直接有效的保护系统,防止系统被打爆.另外,通过限流技术手段,可以让整个系统的运行更加平稳.今天要与大家分享一下限流算法和C#版本的组件. 一.令牌桶算法: 令牌桶算法的基本过程如下: 假如用户配置的平均发送速率为r,则每隔1/r秒速率将一个令牌被加入到桶中: 假设桶最多可以存发b个令牌.当桶中的令牌达到上限后,丢弃令牌. 当一个有请求到达时,首先去令牌桶获取令…
第一章 你真的了解C#吗 1.什么是C#, 微软公司,面向对象,运行于.NET Framework之上, 2.C#能编写哪些应用程序, Windows应用桌面程序,Web应用程序,Web服务, 3.什么是.NET Framework, 全面的类库,内存管理,通用类型系统,开发结构和技术,语言互操作性, 4..NET Framework组成, 公共语言运行时(CLR)和类库(FCL), 5.什么是CLR, 可以将CLR看成一个在执行时管理代码的代理,它提供了内存管理,线程管理和异常处理等服务,而且…