摘要:计划任务(TaskScheduler)探讨 上一篇谈到SingleStep()函数会找到三种任务类型并执行之。 这三种任务是: socket handler, event handler, delay task 。 1、socket handler 保存在队列BasicTaskScheduler0:
阅读全文
随笔分类 - live555
摘要:今天抽空研究了下live555的任务实现: TaskScheduler分为三种任务:socket handler,event handler,delay task。这三种任务的特点是,前两个加入执行队列后会一直存在,而delay task在执行完一次后会立即弃掉。 socket handler保存在
阅读全文
摘要:live555MediaServer.cpp服务端源码讲解 int main(int argc, char** argv) { // Begin by setting up our usage environment: TaskScheduler* scheduler = BasicTaskSche
阅读全文
摘要:最近五一回家,终于有机会能安静的看一下流媒体这方面相关的知识,准备分析live555的源码,接下来会把我读源码的过程记录成博客,以供其他的同路人参考。 因为再读源码的过程中,并不是一路顺着读下来,往往是读到后面,才能反过来明白之前读的内容,所以有的时候会写的有点穿越感。 在这个过程中,参考了其他大牛
阅读全文
摘要:live555源代码下载(VC6工程):http://download.csdn.net/detail/leixiaohua1020/6374387 liveMedia 项目(http://www.live555.com/)的源代码包括四个基本的库,各种测试代码以及Media Server。四个基本
阅读全文
摘要:#include using namespace std;extern "C" {#include // required headers#include }int main(int argc, char**argv) { av_register_all(); ...
阅读全文
摘要:Live555客户端解包以testRTSPClient.cpp为例讲解:MediumgetNextCompletedPacket()将存放在fReorderingBuffer中的数据取出交给Sink类来发送。Boolean DummySink::continuePlaying() {if(fSour...
阅读全文
摘要:本文主要讲解live555的服务端RTP打包流程,根据MediaServer讲解RTP的打包流程,所以大家看这篇文章时,先看看下面这个链接的内容;庖丁解牛-----Live555源码彻底解密(根据MediaServer讲解Rtsp的建立过程)http://blog.csdn.net/smilesto...
阅读全文
摘要:Mediumlive555几乎所有的处理单元都继承自Medium类;该类抽象了基本的接口,包括环境,task和媒体名和媒体查找函数(lookupByName)以及一些辅助函数。也包括返回当前的环境类UsageEnvironment,以及环境指向下一个TaskToken的指针nextTask等。Ser...
阅读全文
摘要:liveMedia项目的源代码包括四个基本的库,各种测试代码以及Media Server。四个基本的库分别是:UsageEnvironment&TaskScheduler, groupsock, liveMedia和BasicUsageEnvironment。1,基础类介绍:BasicUsageEn...
阅读全文
摘要:这里主要分析一下,live555中关于RTP打包发送的部分。在处理完PLAY命令之后,就开始发送RTP数据包了(其实在发送PLAY命令的response包之前,就会发送一个RTP包,这里传输就已经开始了)先介绍下主要的流程:RTP包的发送是从MediaSink::startPlaying函数调用开始...
阅读全文
摘要:1,RTSP连接的建立过程RTSPServer类用于构建一个RTSP服务器,该类同时在其内部定义了一个RTSPClientSession类,用于处理单独的客户会话。首先创建RTSP服务器(具体实现类是DynamicRTSPServer),在创建过程中,先建立Socket(ourSocket)在TCP...
阅读全文
摘要:live555学习经验链接二:http://blog.csdn.net/nkmnkm/article/category/1066093/2
阅读全文
摘要:live555学习经验链接:http://xingyunbaijunwei.blog.163.com/blog/#m=0&t=1&c=fks_084071082087086069082082085095083080084064092086080068
阅读全文
摘要:liveMedia项目的源代码包括四个基本的库,各种测试代码以及Media Server。四个基本的库分别是:UsageEnvironment&TaskScheduler, groupsock, liveMedia和BasicUsageEnvironment。1,基础类介绍:BasicUsageEn...
阅读全文
摘要:1,RTSP连接的建立过程RTSPServer类用于构建一个RTSP服务器,该类同时在其内部定义了一个RTSPClientSession类,用于处理单独的客户会话。首先创建RTSP服务器(具体实现类是DynamicRTSPServer),在创建过程中,先建立Socket(ourSocket)在TCP...
阅读全文
摘要:Mediumlive555几乎所有的处理单元都继承自Medium类;该类抽象了基本的接口,包括环境,task和媒体名和媒体查找函数(lookupByName)以及一些辅助函数。也包括返回当前的环境类UsageEnvironment,以及环境指向下一个TaskToken的指针nextTask等。Ser...
阅读全文
摘要:这里主要分析一下,live555中关于RTP打包发送的部分。在处理完PLAY命令之后,就开始发送RTP数据包了(其实在发送PLAY命令的response包之前,就会发送一个RTP包,这里传输就已经开始了)先介绍下主要的流程:RTP包的发送是从MediaSink::startPlaying函数调用开始...
阅读全文
摘要:DynamicRTSPServer::creatnew():1.调用继承自RTPSever::setUpOurSocket:1.调用 GroupsockHelper 的 setupStreamSocket创建一个socket连接,并绑定,2.设置socket的发送缓存大小,3.调用listen开始监...
阅读全文
摘要:推荐:伊朗美女找丈夫比找工作难女人婚前一定要看清三件事×登录注册疯狂少男-IT技术的博客http://blog.sina.com.cn/crazyboyzhaolei[订阅][手机订阅]首页博文目录图片关于我个人资料疯狂少男Qing微博加好友发纸条写留言加关注博客等级:博客积分:22博客访问:5,7...
阅读全文