Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2123700
  • 博文数量: 229
  • 博客积分: 7217
  • 博客等级: 上校
  • 技术积分: 3224
  • 用 户 组: 普通用户
  • 注册时间: 2009-02-19 17:23
个人简介

个人主页https://xugaoxiang.com,微信公众号: Dev_Club 或者搜索 程序员Club

文章分类

全部博文(229)

文章存档

2017年(1)

2016年(20)

2015年(23)

2013年(1)

2012年(23)

2011年(68)

2010年(62)

2009年(31)

分类: LINUX

2016-08-26 15:09:21

软硬件环境

  • ubuntu 16.04
  • EasyDarwin latest

前言

EasyDarwin是基于Apple开源项目Darwin Streaming Server开发的流媒体服务器,支持RTSP点播、直播(推拉模式)、HLS直播等功能;经过几年的发展,项目已经非常稳定,而且相关扩展的项目也很多,形成了自己的项目族,具体可参考他们的官方网站

编译安装

下载编译

git clone 
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,下载地址,视频处理非常简单,这里就不多说了。

easy_0

相关错误码

响应吗 报文描述 定义
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 

easy_02

参考文献

阅读(3372) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~