赞
踩
版权声明:本文为博主原创文章,未经博主允许不得转载。
介绍如何搭建自己的流媒体服务器,并逐步实现客户端和服务器之间的通信。本文属于第一篇介绍如何搭建流媒体服务器。
开源的流媒体服务器有很多,本文使用开源流媒体解决方案live555。
一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持。Live555实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括MPEG、H.263+、DV、JPEG视频和多种音频编码。同时由于良好的设计,Live555非常容易扩展对其他格式的支持。目前,Live555已经被用于多款播放器的流媒体播放功能的实现,如VLC(VideoLan)、MPlayer。
http://www.live555.com/mediaServer/
这里我们使用windows系统作为服务器。
live555服务器windows版本的构建相当简单:
到此,live555 media server已经构建起来,运行效果如下:
live555服务器已经构建好了,我们使用vlc测试。
使用vlc,选择打开网络串流,输入rtsp://Your Server/vod/your video file name
就可以看到服务器端的视频了,这里使用的是rtsp协议。
希望通过本文,介绍了如何构建live555服务器,下一步将介绍如何使用在iOS客户端播放服务器端视频。如有错误,请提出,我会及时改正,大家共同学习。
版权声明:本文为EasyDarwin开源社区原创文章,未经博主允许不得转载。
当我们看到这里,说明大家都有这样的一个想法:那就是如何用live555实现一个直播代理转发的流媒体服务器?
我们先不着急去讨论用live555实现流媒体转发的技术方法123,先从live555的整个架构来看,live555做转发服务器,个人认为就是一个不稳定的命题,因为我亲身经历过从live555实现流媒体实时直播服务器,到不断不稳定,不断修复,最终在并发量怎么也上不去,稳定性始终达不到的情况下,放弃live555做服务器的想法,转投到Darwin的框架下,最终获得胜利,并在Darwin的基础上,建立了开源流媒体服务器EasyDarwin;
live555做服务器程序,如果是用于在RTSP客户端、IPCamera内置RTSPServer,那是比较可取的、快速形成产品功能的方案,但如果是想将live555做成在Windows或者Linux上的服务端,建议还是换条路子,尤其是想在Windows下做服务器,live555在Windows下长时间运行,必然会出现底层select的异常错误。还有一点,live555的单线程架构,是由于live555在十几年前基础架构设计时形成的,已经很难满足现今服务器端设计的要求,尤其是在多任务,多并发的情况下,live555中任何方法函数,如果稍有阻塞,整个系统循环就停止工作了,所以这是有很大的弊端的!
在RTSP流媒体服务器方面,推荐大家用Darwin Streaming Server或者我们的开源项目EasyDarwin,在点播、直播、流媒体转发方面,Darwin都有比较好的表现,而且架构清晰,易扩展,适合做为大型项目的基础参考:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。