服务器
文章平均质量分 90
xiejiashu
视频能力平台与视频算法中台
展开
-
基于DSS的先侦听后推送式流媒体转发
前面文章中说到的,DSS转发可以划分为先拉后推和先侦听后推送两种模式,今天我们解析的是DSS进行的先侦听后推送的流程,具体流程可以大致描述为:源端或者中继端(我们称之为推送端)先通过主动的连接,告知推送端信息(ID,IP等等),服务器维护与源端的会话Session,建立一定的保活与超时机制,并通过此路Session相互交换控制或者上送信息,其中就包含流媒体推送的命令。可按照具体的需求,服务器可通过原创 2012-12-15 15:40:41 · 12844 阅读 · 7 评论 -
基于Darwin实现的分布式流媒体直播服务器系统
系统功能介绍:系统基于RTSP协议和Darwin Streaming Server(以下简称DSS)实现,具有设备接入和控制、分布式流媒体服务器部署、流媒体转发与负载均衡、实时音视频控制等功能,同时支持视频直播与点播功能,整套系统可跨平台运行(Windows/Linux)。系统功能模块:1、CMS:中心管理服务器,全局唯一运行。中心管理服务器接入来自设备端的注册连接、其他服务节原创 2013-11-04 21:52:54 · 40876 阅读 · 15 评论 -
开源流媒体服务器EasyDarwin支持epoll网络模型,大大提升流媒体服务器网络并发性能
经过春节前后将近2个月的开发和稳定调试、测试,EasyDarwin开源流媒体服务器终于成功将底层select网络模型修改优化成epoll网络模型,将EasyDarwin流媒体服务器在网络处理的效率上提升到了另一个档次。众所周知,select模型在处理大并发量的网络请求上具有一些瓶颈,默认在Linux上同时能够处理的网络连接数FD_SETSIZE为1024,虽然可以通过修改FD_SETSIZE的原创 2016-02-19 00:35:46 · 3653 阅读 · 0 评论 -
用Darwin和live555实现的直播框架
我们在开发视频直播或者监控类项目的时候,如场馆监控、学校监控、车载监控等等,往往首先希望的是形成一个项目的雏形,然后再在这个框架的基础上进行不断的完善和扩展工作,那么我们今天要给大家介绍的就是,如何形成一个这样的框架:采集本地音视频数据(Win) -->视频分发服务器-->客户端随意接入大致流程:我们首先通过DShow采集Windows(XP、Win7经过测试)主机的视频设备(Camera原创 2013-06-23 14:46:05 · 25915 阅读 · 17 评论 -
用Darwin开发RTSP级联服务器(拉模式转发)(附源码)
在博客 在Darwin进行实时视频转发的两种模式 中,我们描述了流媒体服务器对源端音视频转发的两种模式,其中一种#拉模式# 转发,在我们通常的项目中经常会用到,比如在传统视频监控行业,IP摄像机部署在监控内网的各个地点,我们需要将他们进行集中式的管理,并且对外发布,这时候我们就需要用到一台流媒体服务器,能够拉取所需的摄像机的音视频流,并做转化(如RTMP、HTTP等),作为监控内网与公网的中转,提原创 2014-06-09 15:13:02 · 32249 阅读 · 35 评论 -
用live555将内网摄像机视频推送到外网服务器,附源码
最近很多人问,如何将内网的摄像机流媒体数据发布到公网,如果用公网与局域网间的端口映射方式太过麻烦,一个摄像机要做一组映射,而且不是每一个局域网都是有固定ip地址,即使外网主机配置好了每一个摄像机的映射地址,也有可能会因为宽带公网ip地址变动而导致配置无效。再换一个应用场景,当我们的所有IP摄像机都部署在一个没有有线网络的环境里面,所有的流媒体数据都要通过3G/4G网络发布出去。那么就必须有原创 2014-06-25 14:27:18 · 45125 阅读 · 8 评论 -
用Darwin开发分布式流媒体服务器
我介绍的是如何在DSS的基础上进行改造,分别开发成为分布式流媒体系统中的设备接入服务(设备主动注册上线)与流媒体分发服务。大家肯定会奇怪,DSS怎么改造成设备接入服务呢,其实,以DSS的架构,完全可以改造成大部分类型的服务器系统,而且流媒体服务只是DSS的几个功能模块,其强大之处在于其整体框架与架构设计上,闲话少说,让我们直入主题: 设备接入服务:在大部分的分布式服务器中,接入服务器原创 2013-03-30 11:47:54 · 12042 阅读 · 3 评论 -
live555 RTSP推送到Darwin出现404错误的解决
我们将Darwin部署到公网,接收live555 RTSP/RTP推送的时候,经常会出现在SETUP步骤Darwin返回404错误,经过查找原因,主要是Darwin对live555推送的sdp信息中的IP地址不能识别,服务器并不知道自己已经置身于公网的地址:我们通过命令:ip addr add dev eth0 [公网IP],向eth0添加一个公网地址就解决问题了原创 2014-07-02 15:50:23 · 5978 阅读 · 1 评论 -
流媒体服务器开发资源列表
Darwin Streaming Server 5.5源码:http://download.csdn.net/detail/xiejiashu/4798197Darwin Streaming Server解析文档:http://download.csdn.net/detail/xiejiashu/4964552DarwinInjector: 用live555模拟设备,读取本地视频文件,推送原创 2013-01-06 11:23:17 · 4478 阅读 · 3 评论 -
用live555做本地视频采集转发,附源码
在分别做了基于live555与Darwin两种开源服务器的转发服务器后,不得不说Darwin确实在架构以及性能方面较live555略胜一筹,不过没关系,以live555的更新速度,作者的负责,相信在客户端开发以及ipC等方面会给大家带来不少帮助,不罗嗦,今天要给大家带来的是基于live555的本地视频实时采集与转发的介绍(有代码噢~).。 在对live555做二次开发时,最好的方原创 2012-12-07 17:05:18 · 23556 阅读 · 23 评论 -
在EasyDarwin进行实时视频转发的两种模式
一、首先引用Darwin开发文档里面的一段来介绍一下流转发的拉模式和推模式:Darwin支持两种自动播送的场景:先拉后推。为了发起自动播送,RTSP客户会发送标准的RTSP请求来向服务器请求一个流,然后服务器将该流中继到一个或者多个流媒体服务器。这种场景在"先拉后推"部分中加以描述。先侦听后推送。在这个场景中,自动播送在流媒体服务器接收到ANNOUNCE请求时被发起。这个场景在原创 2012-12-06 12:17:38 · 29549 阅读 · 5 评论 -
Darwin在转发流过程中对推送端断开的处理问题
最近在做项目的过程中遇到一个问题,在用Darwin Streaming Server中的QTSSReflectorModule模块做为流转发和分发服务,用live555的DarwinInjector类做为模拟设备进行流推送时,如果按照正常RTSP推送流程:Announce、Setup、Play…、Teardown,Darwin能较好地完成流的转发,但是假如设备在不正常工作,例如网络异常断开,设原创 2012-10-12 19:21:23 · 7135 阅读 · 0 评论 -
EasyDarwin做转发延时太大?
很多人反映,在用EasyDarwin做流媒体转发服务时,延时太大,实际Darwin在转发模块中,有一个控制转发Buffer时间的配置reflector_buffer_size_sec,我们将这个配置改成0,也就是在服务器端不做缓存,直接转发,这样在网络条件充足的情况下对比转发和实时流,转发带来的延时也几乎可以忽略了: -----------------原创 2014-12-03 19:54:57 · 10174 阅读 · 6 评论 -
RTSP流媒体转发服务器源码
最新EasyDarwin已经支持海康、大华等标准RTSP/RTP协议的转发,代码及使用方法参看:http://blog.csdn.net/xiejiashu/article/details/29580543,具体代码下载:https://github.com/EasyDarwin/EasyDarwin,详细细节可以查看Github Commit记录:https://github.com/Eas原创 2014-11-22 12:31:11 · 21476 阅读 · 5 评论 -
Socket的错误码和描述
//下面是Socket Error的错误码和描述:Socket error 0 - Directly send error Socket error 10004 - Interrupted function //call 操作被终止 Socket error 10013 - Permission denied //c访问被拒绝 Socket error 10014 - Ba转载 2013-08-06 19:01:53 · 3064 阅读 · 0 评论 -
分布式流媒体直播服务器系统 For Linux
在之前的一篇《基于Darwin实现的分布式流媒体直播服务器系统》中,我们配置了在Win32下面的流媒体直播系统,今天我们分享一下在Linux下面EasyDSS分布式直播服务器系统的配置。系统功能、服务模块、设计架构这些就不再赘述了。系统演示下载:EasyDSS For Linux(32)版本下载地址:http://pan.baidu.com/s/1uylif (原创 2013-11-23 10:27:12 · 10066 阅读 · 2 评论