EasyDarwin
blobliu
主要流媒体相关开发
展开
-
EasyDarwin使用udp方式推流实现摄像头直播代码流程分析
EasydDarwin作为当前国内主要开源流媒体服务器之一,支持RTSP流(传输RTP包)的两种传输方式RTP/AVP/UDP RTP/AVP/TCP采用哪种传输方式是由客户端决定。用ffmpeg便可向EasyDarwin推流,本文主要分析ffmpeg以UDP方式向EasyDarwin推流时服务器主要代码流程。ffmpg以UDP方式推流指令: ffmpeg -i rtsp:...原创 2018-08-25 16:43:05 · 3799 阅读 · 1 评论 -
EasyDarwin添加自己的模块EasySIPModule
在一段时间的EasyDarwin代码研究之后,开始开发自己的功能模块,首先便是在EasyDarwin中添加一个新的模块。在此添加EasySIPModule作为讲解,在网上找到多片相关博文介绍,包括EasyDarwin开源社区的博主文章。都有详细介绍,但是都缺少一些其他步骤,在此主要是自己尝试后整理所有步骤。添加代码在EasyDarwin/APIModule/下新建EasySIPModule...原创 2018-10-30 17:15:28 · 801 阅读 · 4 评论 -
EasyDarwin HTTP后台管理分析
EasyDarwin配置有HTTP后台管理,在EasyDarwin的配置文件easydarwin.xml定义有后端管理的端口8080。即通过HTTP访问8080端口可以进行后台管理,后台管理主要有三种:获取HLS模块信息(通过http://ip:8080/api/easyhlsmodule) 获取HLS会话信息(通过http://ip:8080/api/gethlssessions)...原创 2018-10-25 16:49:47 · 1731 阅读 · 0 评论 -
EasyDarwin 客户端播放转发流代码分析
在之前博文https://blog.csdn.net/blobliu/article/details/83012338中分析了转发流及相关类的分析,便会想到当我们播放转发流的时候EasyDarwin是怎么工作的。本次博文便来分析客户端播放转发流代码。如前面提到的博文讲的ReflectorSocket是接收推流端数据的Socket。ReflectorSocket继承自UDPSocket,同时继承...原创 2018-10-19 13:22:06 · 643 阅读 · 1 评论 -
EasyDarwin RTSPRequest请求相关代码分析
EasyDarwin RTSPRequest请求的相关代码分析在之前的博文中提到了RTSPSession中建立RTSPRequest和RTPSession以完成进一步的视频流构建,本文主要分钟其中RTSPRequest请求的相关代码。RTSPRequest作为RTSP请求保存视频流请求信息如请求方法,开始时间,结束时间,播放速度,传输方式等。RTSPRequest的构建是在RTSPSe...原创 2018-09-27 21:01:37 · 410 阅读 · 0 评论 -
EasyDarwin ReflectorStream及相关类分析
EasyDarwin最主要的模块便是转发模块,转发模块完成从端口接收RTP数据并根据播放需求发送到播放端。最典型的模式便是通过ffmpeg推流到EasyDarwin端口,然后vlc客户端请求播放,EasyDarwin将收到的RTP数据再发送给vlc。本次博文主要便是分析转发流ReflectorStream及相关类主要涉及的相关类如下ReflectorSession Reflect...原创 2018-10-11 16:01:21 · 358 阅读 · 0 评论 -
EasyDarwin字典类QTSSDictionary相关分析
最近在分析EasyDarwin中RTSPSession的建立及初始化,当每一个推流请求接收时,EasyDarwin就会新建一个RTSPSession,在RTSPSession中有RTSPRequest* fRequest和RTPSession* fRTPSession两个属性fRequest对应当前的RTSP请求,fRTPSession对应RTP会话用于创建RTPStream二者的初始...原创 2018-09-11 13:45:41 · 862 阅读 · 0 评论 -
EasyDarwin 转发模块QTSSReflectorModule:AddRTPStream添加转发流代码分析
在分析EasyDarwin转发模块QTSSReflectorModule中,我们找到了转发流的添加函数AddRTPStream。此函数完成一路转发流的添加至转发会话并完成相关设置。AddRTPStream的参数有ReflectorSession* theSession QTSS_StandardRTSP_Params* inParams QTSS_RTPStreamObject *ne...原创 2018-09-10 17:59:11 · 485 阅读 · 1 评论 -
EasyDarwin流媒体服务器启动函数StartServer代码分析
在前面博客中分析EasyDarwin字典类QTSS_Dictionary时了解到相关QTSS_DictionaryMap,QTSSAttrInfoDict等属性内容,其初始化分配内存是在服务器启动的时候。正好回过来分析服务器的初始化启动函数QTSS_ServerState StartServer(...)相关代码。StartServer主要完成如下几点初始化工具类 初始化网络模型 ...原创 2018-09-12 17:30:47 · 414 阅读 · 0 评论 -
EasyDarwin视频点播系统分析
在一定的EasyDarwin版本中,服务器是支持mp4文件点播的。mp4文件必须先经过RTSP/RTP Hint处理,可以使用MP4Box等工具进行HintDemo.mp4点播效果原创 2018-09-06 16:27:50 · 2266 阅读 · 9 评论 -
EasyDarwin加入SIPServer,实现国标摄像头接入
在长期的EasyDarwin研究之后,发现EasyDarwin缺少国标模块的功能,决定给EasyDarwin添加SIPServer,实现国标摄像头的接入。基本构思如下图:原创 2018-11-15 16:39:02 · 1512 阅读 · 3 评论