首先了解RTSP/RTP/RTCP相关概念,尤其是了解RTP协议:RTP与RTCP协议介绍(转载)。 vlc使用模块加载机制调用live555,调用live555的文件是live555.cpp。 一、几个重要的类 以下向左箭头(“<-”)为继承关系。 1. ...
最近五一回家,终于有机会能安静的看一下流媒体这方面相关的知识,准备分析live 的源码,接下来会把我读源码的过程记录成博客,以供其他的同路人参考。 因为再读源码的过程中,并不是一路顺着读下来,往往是读到后面,才能反过来明白之前读的内容,所以有的时候会写的有点穿越感。 在这个过程中,参考了其他大牛的博客,所以一些基本概念,就不再重复,也感谢前辈们的贡献。 五一在家条件不便,源码只好用截图方式给出。 ...
2016-05-04 16:37 0 4982 推荐指数:
首先了解RTSP/RTP/RTCP相关概念,尤其是了解RTP协议:RTP与RTCP协议介绍(转载)。 vlc使用模块加载机制调用live555,调用live555的文件是live555.cpp。 一、几个重要的类 以下向左箭头(“<-”)为继承关系。 1. ...
上一篇博客说道,live555服务端main函数做的最后一件事就是调用如下代码陷入死循环: 那么这个doEventLoop是什么样的呢?如下: 就是不停地调用SingleStep()这个函数,SingleStep函数中代码比较多,我下面仅截取关键 ...
从程序的结构来看,live项目包括了四个基本库、程序入口类(在mediaServer中)和一些测试代码(在testProgs中)。 四个基本静态库是UsageEnvironment、BasicUsageEnvironment、groupsock和liveMedia ...
live555的客服端流程:建立任务计划对象--建立环境对象--处理用户输入的参数(RTSP地址)--创建RTSPClient实例--发出DESCRIBE--发出SETUP--发出PLAY--进入Loop循环接收数据--发出TEARDOWN结束连接。 可以抽成3个函数接口:rtspOpen ...
live555支持单播和组播,我们先分析单播的流媒体服务端,后面分析组播的流媒体服务端。 一、单播的流媒体服务端: // Begin the LIVE555 event loop: env->taskScheduler().doEventLoop ...
如何让Android支持C++异常机制 Android不支持C++异常机制,如果需要用到的话,则需要在编译的时候加入比较完整的C++库. Android支持的C++库可以在Android NDK中找 ...
前文传送门: Spring源码分析之预启动流程 Spring源码分析之BeanFactory体系结构 Spring源码分析之BeanFactoryPostProcessor调用过程详解 本文内容: 在IOC中,是如何通过beanDefition创建出一个bean ...
Lettuce是一个高级的Redis客户端,下面通过对其创建连接过程的源码进行走读 下面看看RedisClient是如何创建单机模式的异步连接的, 首先从RedisClient中的connectAsync看起,在该方法中并没有什么特别的地方,在对RedisURI进行非空校验后就直接 ...