live555
相关资料:
Live555 是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持。Live555实现 了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括MPEG、H.263+、DV、JPEG视频和多种音频编码。同时由于良好的设 计,Live555非常容易扩展对其他格式的支持。目前,Live555已经被用于多款播放器的流媒体播放功能的实现,如VLC(VideoLan)、 MPlayer。
Live555 Streaming Media整体框架
openRTSP客户端流程
官方资源:
- http://www.live555.com/liveMedia/faq.html#trick-mode
http://www.live555.com/liveMedia/#config-unix
- 编译方法:
- ./genMakefiles <os-platform>
- 如在Linux 下解压Live555后进入目录,然后执行:
- #./genMakefiles linux-gdb
- #Make
- 经过以上步骤生成的live555MediaServer可以用于gdb调试,如果要使源代码中的DEBUG宏有效,还需要修改live/config.linux-gdb文件,在COMPILE_OPTS一行中添加-DDEBUG即可.
- 运行
- 进入mediaServer目录启动服务器:
- [root@localhost mediaServer]# cd mediaServer]
- [root@localhost mediaServer]# ./live555MediaServer
- 1,./genMakefiles linux-gdb 其中,后面的gdb是必须的;2,修改live/config.linux-gdb文件,在COMPILE_OPTS一行中添加-DDEBUG,以使源代码中的debug有效;
3,make 编译文件
4,运行gdb live555ProxyServer
5,set args 输入参数,如set args -v rtsp://192.168.xxx.xxx
6,可以先设置断点,如break xx ,然后run;
- live555 关于使用ffmpeg扩展文件格式
- http://blog.csdn.net/gavinr/article/details/7186843
庖丁解牛-----Live555源码彻底解密(根据MediaServer讲解Rtsp的建立过程)
http://blog.csdn.net/smilestone_322/article/details/18923139
开源项目live555学习心得3
RTSP服务器处理客户端点播的基本流程
http://blog.csdn.net/markman101/article/details/6589836
- live555 linux 编译
http://blog.csdn.net/aobai219/article/details/5841951
基于liveMedia的程序,需要通过继承UsageEnvironment抽象类和TaskScheduler抽象类,定义相应的类来处理事 件调度,数据读写以及错误处理。live项目的源代码里有这些类的一个基本实现,这就是“BasicUsageEnvironment”库。 BasicUsageEnvironment主要是针对简单的控制台应用程序,利用select实现事件获取和处理。这个库利用Unix或者 Windows的控制台作为输入输出,处于应用程序原形或者调试的目的,可以用这个库用户可以开发传统的运行与控制台的应用。- 通过使用自定义的“UsageEnvironment”和“TaskScheduler”抽象类的子类,这些应用程序就可以在特定的环境中运行, 不需要做过多的修改。需要指出的是在图形环境(GUI toolkit)下,抽象类 TaskScheduler 的子类在实现 doEventLoop()的时候应该与图形环境自己的事件处理框架集成。
- 一些重要的东东:
- Sink -- 就是消费数据的对象,比如把接收到的数据存储到文件, 这个文件就是一个Sink。
- Source -- 就是生产数据的对象,比如通过RTP读取数据。
- Framer
- Parser
- Session -- 这主要是因为 rtsp 是有状态的
- 备注:
- 从其它Source接收数据的source也叫做"filters"。
- Module是一个sink或者一个filter。
- 数据接收的终点是 Sink类,MediaSink是所有Sink类的基类。
- Sink类实现对数据的处理是通过实现纯虚函数continuePlaying(),通常情况下 continuePlaying调用fSource->getNextFrame来为Source设置数据缓冲区,处理数据的回调函数 等,fSource是MediaSink的类型为FramedSource*的类成员。
- 但如果你有硬编码硬件生成的媒体文件,并且不需要实时播放,那么 Source 就是可以没有的。
aa
live555的更多相关文章
- Live555流媒体服务器编译(Windows下)
最近在回顾之前做过的相关项目,其中包括live555流媒体服务器相关,今天先把live555开源框架在Windows下的编译方法记录一下. live555是一套使用使用开放的标准协议(RTP/RTCP ...
- live555+ffmpeg如何提取关键帧(I帧,P帧,B帧)
live555+ffmpeg如何提取关键帧(I帧,P帧,B帧)开发流媒体播放器的时候,特别是在windows mobile,symbian(S60)平台开发时,很可能遇到需要自己开发播放器的情况.S ...
- live555在Raspberry Pi上的点播/直播
1.live555在Raspberry Pi上的点播 live555MediaServer这个实例是个简单的服务器,支持多媒体点播,直接在Raspberry Pi上编译运行,或者通过交叉编译出ARM核 ...
- 40 网络相关函数(八)——live555源码阅读(四)网络
40 网络相关函数(八)——live555源码阅读(四)网络 40 网络相关函数(八)——live555源码阅读(四)网络 简介 15)writeSocket向套接口写数据 TTL的概念 函数send ...
- 39 网络相关函数(七)——live555源码阅读(四)网络
39 网络相关函数(七)——live555源码阅读(四)网络 39 网络相关函数(七)——live555源码阅读(四)网络 简介 14)readSocket从套接口读取数据 recv/recvfrom ...
- 38 网络相关函数(六)——live555源码阅读(四)网络
38 网络相关函数(六)——live555源码阅读(四)网络 38 网络相关函数(六)——live555源码阅读(四)网络 简介 12)makeSocketNonBlocking和makeSocket ...
- 37 网络相关函数(五)——live555源码阅读(四)网络
37 网络相关函数(五)——live555源码阅读(四)网络 37 网络相关函数(五)——live555源码阅读(四)网络 简介 10)MAKE_SOCKADDR_IN构建sockaddr_in结构体 ...
- 36 网络相关函数(四)——live555源码阅读(四)网络
36 网络相关函数(四)——live555源码阅读(四)网络 36 网络相关函数(四)——live555源码阅读(四)网络 简介 7)createSocket创建socket方法 8)closeSoc ...
- 35 网络相关函数(三)——live555源码阅读(四)网络
35 网络相关函数(三)——live555源码阅读(四)网络 35 网络相关函数(三)——live555源码阅读(四)网络 简介 5)NoReuse不重用地址类 6)initializeWinsock ...
- 34 网络相关函数(二)——live555源码阅读(四)网络
34 网络相关函数(二)——live555源码阅读(四)网络 34 网络相关函数(二)——live555源码阅读(四)网络 2)socketErr 套接口错误 3)groupsockPriv函数 4) ...
随机推荐
- Win8.1中打不开IE的解决方法
IE11 打不开了,重新安装了IE也解决不了问题,咋整,找了好久终于找到原因,原来是权限的问题,特此和大家共享 解决办法: WIN+R,regedit,找到HKEY_CURRENT_USER\Soft ...
- 怎样向IT行业的朋友说明《圣经》的重要性
“世界的官方文档”——怎么样?
- ASP.NET Web API 使用记录
WebAPI采用REST架构,用的是无状态的HTTP协议.Web Service则是SOAP协议,比较重量级. 推荐阅读:Difference between WCF and Web API and ...
- 九度OJ 1511 从尾到头打印链表
题目地址:http://ac.jobdu.com/problem.php?pid=1511 题目描述: 输入一个链表,从尾到头打印链表每个节点的值. 输入: 每个输入文件仅包含一组测试样例. 每一组测 ...
- Linux下的I/O复用与epoll详解
前言 I/O多路复用有很多种实现.在linux上,2.4内核前主要是select和poll,自Linux 2.6内核正式引入epoll以来,epoll已经成为了目前实现高性能网络服务器的必备技术.尽管 ...
- 使用Adobe Photoshop CC 2015批量修改图片尺寸
最近在工作中遇到一个问题,当时客户给的图片尺寸与我要求的图片不符,由于图片非常的多,如果一张一张的修改,十分的麻烦,后来经过一位同事的指点,发现Adobe Photoshop CC 2015可以实现批 ...
- Sublime Text3快捷键一览表
选择类 Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本. Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑.举个栗子:快速选中并更改所有相同的变量名.函数 ...
- [JQuery]选择器详解
示例 说明 $(this) 当前元素 $("p") 所有<p>元素 $("input") 所有input元素 $(".intro&qu ...
- LED字符设备驱动实例及测试代码
驱动代码如下: #include <linux/kernel.h>//内核头文件 #include <linux/init.h>//__init等 #include <l ...
- Oracle控制文件丢失,日志文件丢失
控制文件丢失: alter database backup controlfile to traces; shutdown immediate; @j:\db\script\orcl_ora_ctl_ ...