红联Linux门户
Linux帮助

EasyDarwin流媒体服务器

发布时间:2016-08-27 10:03:11来源:高翔的博客作者:djstavaV
软硬件环境
ubuntu 16.04
EasyDarwin latest
 
前言
EasyDarwin是基于Apple开源项目Darwin Streaming Server开发的流媒体服务器,支持RTSP点播、直播(推拉模式)、HLS直播等功能;经过几年的发展,项目已经非常稳定,而且相关扩展的项目也很多,形成了自己的项目族,具体可参考他们的官方网站http://www.easydarwin.org
 
编译安装
下载编译
git clone https://github.com/EasyDarwin/EasyDarwin
cd EasyDarwin
chmod a+x Buildit
./Buildit i386(或者x64,根据你的平台决定)
 
运行服务
源码编译完成后,会在i386目录下生成可执行文件easydarwin,默认的配置文件在WinNTSupport/easydarwin.xml
./easydarwin -c WinNTSupport/easydarwin.xml -d
easydarwin.xml包含了N多的配置项,你可以根据自己的需要进行修改。目前的话,你只需要知道视频存放路径movie_folder,默认值是Movies
 
备注
普通的mp4文件如果直接丢到Movies目录下,vlc是无法进行rtsp点播的。视频文件需要先借助第三方工具进行RTSP/RTP hint处理,这里推荐My MP4Box GUI,下载地址http://www.videohelp.com/software/My-MP4Box-GUI,视频处理非常简单,这里就不多说了。
EasyDarwin流媒体服务器
 
相关错误码
响应吗 报文描述 定义
200 Success OK 成功  
201 Success Created 成功创建  
202 Success Accepted 已接受用于处理,但处理尚未完成  
204 Success No Content 已接收请求,但不存在要回送的信息  
206 Success Partial Content 已接收请求,但要回送的信息不完整  
301 Redirect Permanent Moved 请求的数据具有新的位置且更改是永久的。  
302 Redirect Temp Moved 请求的数据临时具有不同 URI  
303 Redirect See Other 可在另一 URI 下找到对请求的响应  
305 Use Proxy 必须通过位置字段中提供的代理来访问请求的资源  
400 Client Bad Request 请求中有语法问题,或不能满足请求  
401 Client Unauthorized 未授权客户端访问数据  
402 Payment Required 需要付款,表示计费系统已有效  
403 Client Forbidden 禁止, 即使有授权也不需要访问  
404 Not Found 服务器找不到给定的资源  
405 Method Not Allowed 请求的方法不支持  
407 Proxy Authentication Required 代理认证请求,客户机首先必须使用代理认证自身  
408 Request Timeout 请求超时  
409 Conflict 请求冲突  
412 Precondition Failed 前提条件失败  
415 Unsupported Media Type 服务器拒绝服务请求,因为不支持请求实体的格式  
500 Server Internal Error 内部错误,因为意外情况,服务器不能完成请求  
501 Server Not Implemented 未执行,服务器不支持请求  
502 Server Bad Gateway 错误网关,服务器接收到来自上游服务器的无效响应  
503 Server Unavailable 由于临时过载或无法获得服务护,服务器无法处理请求  
505 RTSP Version Not Supported 不支持的RTSP版本  
600 Memcache Not Found 找不到Memcache服务器  
601 Database Not Found 找不到Database 服务器  
602 User Not Found 找不到用户信息(该用户不存在)  
603 Device Not Found 找不到设备信息(该设备不存在或者没有与请求用户绑定)  
604 Session Not Found 找不到会话信息(Session过期或者不存在)  
605 Service Not Found 找不到请求的服务模块  
620 Password Error 密码错误  
621 XML Parse Error XML解析失败  
622 Permission Error 没有权限
 
摄像头作为视频源进行rtsp直播
服务器端利用ffmpeg抓取摄像头数据,然后推送到easyDarwin
ffmpeg -f video4linux2 -s 720x576 -i /dev/video0 -f audio_device -f rtsp rtsp://127.0.0.1/live/test.sdp
 
客户端利用vlc播放
vlc rtsp://127.0.0.1:554/live/test.sdp
EasyDarwin流媒体服务器
 
本文永久更新地址:http://www.linuxdiyf.com/linux/23657.html