EasyDarwin服务器搭建及客户端推流完整示例

Windows下环境搭建
一、准备工作,需要先下载我们需要的程序
1、EasyDarwin  下载地址:https://github.com/EasyDarwin/EasyDarwin
2、ffmpeg         下载地址:http://ffmpeg.org/
3、nginx            下载地址:http://nginx.org/en/download.html
二、搭建WEB服务
1、修改nginx配置文件,
一个是WEB服务监听的端口,之后EasyDarwin服务端会用到;
另一个是WEB服务根目录,也是HLS切片和视频存放的位置。为了测试方便新建一个test.txt文件,里面随便录入内容,如:good luck
2、启动WEB服务
开启命令:start nginx.exe
停止命令:nginx.exe -s stop
三、编译源程序,修改配置文件
1、编译下载下来的EasyDarwin,用VS 打开 .\EasyDarwin-master\EasyDarwin\WinNTSupport\EasyDarwin.sln,编译。正常情况下不会出错,如果出错了检查下是否丢失文件。
2、拷贝必要动态库到运行目录下,将EasyDarwin-master\EasyDarwin\Lib下所有文件拷贝到你的运行目录下,默认是\EasyDarwin-master\EasyDarwin\WinNTSupport\Debug
3、手动新建目录,在运行目录下,新建目录 Movies(存放视频文件和切片等) 和 Logs(日志目录)
4、修改配置文件,
HTTP_ROOT_DIR是WEB服务地址;LOCAL_IP_ADDRESS是服务器IP地址
如果是采用HLS,需要将参数设置为true。
其他的一些参数可以根据个人需要做修改。
四、系统测试
1、首先启动WEB服务(命令:start nginx.exe),浏览器中访问:http://192.168.1.107:8088/test.txt,如果没看到”good luck“,那就在检查下端口是否被占用(命令:netstat -ano)。
2、启动EasyDarwin服务器(命令:EasyDarwin.exe -d -c easydarwin.xml)
启动成功后,输出是这样子,说明运行的动态库加载,端口设置都没有问题。(EasyDarwin服务器端口是554,有可能和系统的一个media服务冲突,需要关闭掉此服务)
3、启动ffmpeg.exe,开始推流
推流命令:E:\ffmpeg\bin>ffmpeg.exe -i rtsp://192.168.1.100:10554/udp/av0_1 -vcodec copy -acodec copy -rtsp_transport tcp -f rtsp rtsp://192.168.1.107/live2.sdp
注:rtsp://192.168.1.100:10554/udp/av0_1,是我们IPCamera的RTSP地址;
后面rtsp://192.168.1.107/live2.sdp 是我们推送到服务端,用于外部访问的RTSP地址;
正常情况下FFMPEG输出是这样的,说明推送成功。
4、验证推送的视频流
测试RTSP地址:用客户端程序VLC或者EasyPlayer,打开地址 rtsp://192.168.1.107/live2.sdp
测试HLS地址:
可以先请求获得真正的HLS地址,再访问。(请求链接:http://192.168.1.107:8081/api/easyhlsmodule?name=live&url="RTSP://192.168.1.107/live2.sdp")
再用客户端程序VLC或者EasyPlayer,打开地址 http://192.168.1.107:8088/live/live.m3u8
LINUX系统上除了EasyDarwin编译不同,其他配置基本是一样的,之后我再把LINUX上需要的命令都贴下。

时间: 2024-08-10 18:41:12

EasyDarwin服务器搭建及客户端推流完整示例的相关文章

SVN服务器搭建及客户端配置

为什么要使用SVN? 在程序的编写过程中,每个程序员都会负责开发一个或多个模块,且开发中会生成很多不同的版本, 这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本. Subversion是什么? 它是一个自由/开源的版本控制系统,一组文件存放在中心版本库,记录每一次文件和目录的修改,Subversion允许把数据恢复到早期版本, 或是检查数据修改的历史,Subversion可以通过网络访问它的版本库,从而使用户在不同的电脑上进行操作. 一:SVN服务器搭建和使用: 1.   

Git 服务器搭建与客户端安装

大纲: 一.前言 二.搭建Git服务器 yum安装Git服务器 创建一个git用户,用来运行git服务 创建客户端登录证书 初始化Git仓库 禁用shell登录 克隆远程仓库 三.安装客户端 Windows 客户端 Linux 客户端 四.总结 注,测试机 CentOS 5.5 x86_64,Git 服务器版本:git version 1.8.2.1,客户端版本:git version 1.9.2.msysgit.0.所有软件请到这里下载:http://msysgit.github.io/. 一

linux svn服务器搭建、客户端操作、备份与恢复

Subversion(SVN)是一个开源的版本控制系統,管理着随时间改变的数据.这些数据放置在一个中央资料档案库中,这个档案库很像一个普通的文件服务器,它会记住每一次文件的变动,这样就可以把档案恢复到旧的版本,或是浏览文件的变动历史. 本文目录: linux svn服务器部署 linux svn客户端命令操作 linux svn备份与恢复 一.linux svn服务器部署 1.安装svn [[email protected]~]#yum install -y subversion [[email

SIP协议&开源SIP服务器搭建和客户端安装

1. SIP SIP 是一个应用层的控制协议,可以用来建立,修改,和终止多媒体会话,例如Internet电话 SIP在建立和维持终止多媒体会话协议上,支持五个方面: 1)   用户定位: 检查终端用户的位置,用于通讯. 2)   用户有效性:检查用户参与会话的意愿程度. 3)   用户能力:检查媒体和媒体的参数. 4)   建立会话: “ringing”,建立会话参数在呼叫方和被叫方. 5)       会话管理:包括发送和终止会话,修改会话参数,激活服务等等. 1.1 SIP基本组成要素 用户

ntp服务器搭建与客户端设置

服务器对时间要求非常严格,linux服务器文件的生成,日志,以及数据库的连接都是根据时间的逻辑 进行任务处理,如果时间不同步,那么,处理的任务,以及出问题的分析日志,时间不对,很难分析 直接更改linux服务器时间,影响特别大,大家都知道,服务器群启动是有规律的,如果随便更改linux服务器时间 很有可能造成时间逻辑大站,造成其它模块报警,以及数据库报警等,所以建服务器之前,先配置ntp服务器, 部分服务器为了安全不能上网,所以不能同步网络时间,所以我们让它同步我局域网的ntp服务器,以下是设置

samba   服务器搭建   笔记 (生产环境常见的示例)  

文件服务器  SAMBA 可以在线修改文件  samba   NFS   NFS网络共享文件系统 服务器端 mkdir   /share vim    /etc/exports /share  192.168.1.0/24(rw   sync)##将/share目录  共享给192.168.1.0 网段 客户端 #showmount   -e   192.168.1.120    ##查看主机192.168.1.120服务器   共享的目录 #mount   - t   nfs   192.16

Redis服务器搭建/配置/及Jedis客户端的使用方法

Redis服务器搭建 安装 在命令行执行下面的命令: $ wget http://download.redis.io/releases/redis-2.8.13.tar.gz $ tar xzf redis-2.8.13.tar.gz $ cd redis-2.8.13 $ make 编译完成后,会产生六个文件: redis-server:这个是redis的服务器 redis-cli:这个是redis的客户端 redis-check-aof:这个是检查AOF文件的工具 redis-check-d

绝对独创---关于直播(推流-拉流-服务器搭建)

1.公司有风声要做直播,赶好这段有时间,自己研究了一下.其实走过的弯路比较多,后来在拉流/推流/服务器搭建都完成之后,思路变得很清晰. 2.首先从服务器搭建说起,关于三种主流的HLS/RTMP/FLV,这里我使用的是RTMP,关于其中的切换,我们需要看一下ngnix的配置文件的相关参数文档. 我使用的是ngnix+rtmp,也就是本地搭建ngnix服务器,另外在ngnix服务器上添加了rtmp的模块.闭门造车容易猝死,我参考的是简书上的,请移步:http://www.jianshu.com/p/

cxf-webservice完整示例

最近一段时间研究webservice,一般来说,开发java的Webservice经常使用axis2和cxf这两个比较流行的框架 先使用cxf,开发一个完整示例,方便对webservice有一个整体的概念 使用的工具主要有eclipse.maven 一.开发服务端 整体结构如下: 1.创建maven的web工程,这个就不多赘述了,如果以前没搭建过可以去网上搜索下,网上资源很多 2.配置POM.xml文件,引入相应的jar包 <project xmlns="http://maven.apac