Live555
文章平均质量分 79
陈纪建
关注行业动态,找出最适合自己的发展道路
展开
-
Live555 流媒体服务器启动
TaskScheduler* scheduler = BasicTaskScheduler::createNew(); 创建BasicTaskScheduler对象BasicTaskScheduler::createNew(unsigned maxSchedulerGranularity) 参数maxSchedulerGranularity的含义是指定我们默认等待时间返回事件循环以处原创 2017-01-18 21:57:38 · 543 阅读 · 0 评论 -
live555 优秀博客
http://www.cnblogs.com/oloroso/p/4599536.html转载 2018-07-22 09:36:27 · 194 阅读 · 0 评论 -
LIVE555再学习 -- FFmpeg + live555实现RTSP直播
一、简单实验首先先简单的实验了一下。运行 FFmpeg 将 MP4文件转成 264 文件 ffmpeg -i Tai.mp4 test.264 执行 testOnDemandRTSPServer 单播 264 文件./testOnDemandRTSPServer 在 VLC 添加 URL 地址rtsp://192.168.x.xx:8554/h264E...转载 2018-07-21 22:41:59 · 1039 阅读 · 0 评论 -
live555接收实时视频流+ffmpeg解
本人视频监控行业的码农一枚,将平时快速学习的内容进行记录和分享,因水平有限,没学过音视频的高深理论和技术,所写内容多侧重开源库的使用,比较肤浅,如果文中有什么不足,希望大家多多指点。 如本文题目所述,文中介绍一下如何用接收rtsp实时流后对实时流进行解码,解码成yuv420。 live555 中的例子testRTSPClient.cpp 提供了一个创建rtsp客户端接...转载 2018-07-21 13:17:14 · 2611 阅读 · 1 评论 -
Live555学习之SDP信息的生成
当RTSPServer收到对某个媒体的DESCRIBE请求时,它会找到对应的ServerMediaSession,调用ServerMediaSession::generateSDPDescription()。generateSDPDescription()中会遍历调用ServerMediaSession中所有的调用ServerMediaSubsession,通过subsession->sdpLin转载 2017-02-25 22:39:37 · 3011 阅读 · 0 评论 -
live555学习-FramedSource详解
FramedSource讲解FramedSource是一个抽象类,继承自mediaSource继承自medium,里面有纯虚函数virtual void doGetNextFrame() = 0;主要作用就是从文件中获得数据,只是获得数据,交给分析H264or5VideoStreamParser分析获得NALU关于有关牵涉到文件操作的基本都是直接或者间接继承自该类:例如转载 2017-02-24 10:34:35 · 1452 阅读 · 0 评论 -
Live555源码分析:generateSDPDescription
[3]generateSDPDescription有了上述知识,我们继续看一下RTSPServer::RTSPClientConnection::handleCmd_DESCRIBE的处理.[cpp] view plain copy void RTSPServer::RTSPClientConnection::handleCmd_DESCRIBE转载 2017-02-24 10:15:22 · 721 阅读 · 0 评论 -
Live555源码分析RTSPServer中的用户认证
http://blog.csdn.NET/njzhujinhua @20140601说到鉴权,这是我多年来工作中的一部分,但这里rtsp中的认证简单多了,只是最基本的digest鉴权的策略。在Live555的实现中, 用户信息由如下类维护,其提供增删查的接口。realm默认值为"LIVE555 Streaming Media"[cpp] view转载 2017-02-22 21:33:51 · 2426 阅读 · 0 评论 -
Live555 源码分析之延迟事件处理
live555的延迟事件 主要存放在BasicTaskScheduler0的成员变量 DelayQueue fDelayQueue;中 其中 DelayQueue 含有对延迟事件单元的增删改查 DelayQueueEntry中有DelayInterval fDeltaTimeRemaining原创 2017-01-25 15:50:32 · 1135 阅读 · 0 评论 -
Live555流程分析
http://www.cnblogs.com/jqctop1/p/4385557.html前一阵子,因为项目需要,研究了一下Live555开源框架,研究的不是很深入,基本上把Live555当做API用了一下,但是毕竟也是本人看的第一个开源框架,在此记录总结一下。 Live555是一个实现了RTSP协议的开源流媒体框架,Live555包含RTSP服务器端的实现以及RTSP客户端转载 2017-02-21 15:29:13 · 4323 阅读 · 0 评论 -
live555服务器端、客户端源代码分析总结
原文地址:http://www.cnblogs.com/lidabo/p/4103461.htmlRTSP服务器端流程:1. RTSP连接的建立过程 RTSPServer类用于构建一个RTSP服务器,该类同时在其内部定义了一个RTSPClientSession类,用于处理单独的客户会话。 首先创建RTSP服务器(具体实现类是Dynam转载 2017-03-01 18:01:48 · 412 阅读 · 0 评论 -
Live555类结构关系图
先对live555有一个宏观的认识,为今后的实战打个基础。liveMedia项目的源代码包含四个主要的库,各种測试代码以及IVE555 Media Server。四个主要的库各自是UsageEnvironment&TaskScheduler,groupsock,liveMedia,BasicUsageEnvironment。 这几个类都是整个系统的基础功能类,这些都是抽转载 2017-03-01 17:03:08 · 1436 阅读 · 0 评论 -
Live555学习之Socket事件处理
live555流媒体服务器初始化RTSPServer* rtspServer;portNumBits rtspServerPortNum = 554;//创建rtsp服务器,设置端口号和传入环境rtspServer = DynamicRTSPServer::createNew(*env, rtspServerPortNum, authDB);原创 2017-02-21 09:27:12 · 1242 阅读 · 0 评论 -
rtp协议解析
RTP简要介绍实时传送协议(Real-time Transport Protocol或简写RTP,也可以写成RTTP)是一个网络传输协议,它是由IETF的多媒体传输工作小组1996年在RFC 1889中公布的。RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式。它一开始被设计为一个多播协议,但后来被用在很多单播应用中。RTP协议常用于流媒体系统(配合RTCP协议或者R原创 2017-01-22 16:25:50 · 724 阅读 · 0 评论 -
live555 类之间的依属关系和功能分析
今天给大家分析下周末看live555的心得。首先呢,不要指望一口气把live555能够肯下,那样代码你看着看着你就会发现涉及到的类越来,很快你自然的就投入很多时间去分析作者的设计架构.再坚固的堡垒,只要咱们保持着恒心,强攻总有一天可以攻下。今天就来分析下live555中设计的几个核心类.在接收到客户端发送的Descripture命令后,服务器会创建ServerMed转载 2017-03-01 15:07:07 · 653 阅读 · 0 评论 -
live555_RTSP连接建立以及请求消息处理过程
1,RTSP连接的建立过程 RTSPServer类用于构建一个RTSP服务器,该类同时在其内部定义了一个RTSPClientSession类,用于处理单独的客户会话。 首先创建RTSP服务器(具体实现类是DynamicRTSPServer),在创建过程中,先建立Socket(ourSocket)在TCP的554端口进行监听,然后把连接处理函数句柄 (RTSPServer转载 2017-02-19 18:09:32 · 970 阅读 · 0 评论 -
live555源码分析---- PLAY命令的处理
PLAY命令概述PLAY命令要求在SETUP命令之后进行,此命令处理过程中就开始发送数据了,在处理PLAY命令过程中还创建了RTCPInstance实例。客户端可以通过PLAY命令的Scale头部域,指定播放速率,不过这个功能要看服务器对特定媒体的具体实现,当sacale=1时正常播放,sacale>1时快进,sacale<0时快退。客户端可以通过PLAY命令的Range头部...转载 2018-10-29 17:24:30 · 636 阅读 · 0 评论