crtmpserver流媒体服务器的介绍与搭建

crtmpserver流媒体服务器的介绍与搭建 (2012-02-29 11:28)

标签:  crtmpserver  C++ RTMP Server  rtmp  Adobe FMS(Flash Med  流媒体服务器  分类: crtmpserver

前言

      Adobe的FMS(Flash Media Server)是很好用。但对应着分级授权的是money和有限功能开放。商业的东西既然用不起,也阻碍了我们的技术进步,那就只能求助于开源社区了。而crtmpserver就是FMS的替代者之一

 

1. crtmpserver简介

    crtmpserver的功能总来说:

  • 支持推送给它的rtmp流的接收与播放器请求的分发;
  • rtmp流媒体服务器树状网络集群的构建;
  • 支持iPhone,Android。

 

 

    下面是官网首页的功能与应用介绍(http://www.rtmpd.com/)

    crtmpserver it is a high performance streaming server able to stream (live or recorded) in the following technologies:

  • To and from Flash (RTMP,RTMPE, RTMPS, RTMPT, RTMPTE)
  • To and from embedded devices: iPhone, Android
  • From surveillance cameras
  • IP-TV using MPEG-TS and RTSP/RTCP/RTP protocols

    Also, crtmpserver can be used as a high performance rendes-vous server. For example, it enables you to do:

  • Audio/Video conferencing
  • Online gaming
  • Online collaboration
  • Simple/complex chat applications

2. crtmpserver流媒体服务器的搭建(linux平台)

    

    它的编译与build环境要求先安装一些linux工具

2.1 cmake的安装

    下载最新的cmake(http://www.cmake.org/)。

  1. #tar -zxvf cmake-2.8.7.tar.gz
  2. #cd cmake-2.8.7
  3. #./bootstrap
  4. #gmake
  5. #make install

2.2 openssl的安装

    下载openssl-0.9.8版(crtmpserver暂只支持这个版本,我用的是openssl-0.9.8t。http://www.openssl.org/

  1. #tar -zxvf openssl-0.9.8t.tar.gz
  2. #cd openssl-0.9.8t
  3. #./Configure
  4. #make .
  5. #make install

2.3 crtmpserver的编译与安装

  1. #svn co --username anonymous --password "" https://svn.rtmpd.com/crtmpserver/branches/1.0 crtmpserver
  2. #cd crtmpserver
  3. #sh ./cleanup.sh
  4. #cd builders/cmake
  5. #cmake .
  6. #make
  7. #./crtmpserver/crtmpserver ./crtmpserver/crtmpserver.lua

   NOTE:

   A. 如果make成功,最后一行命令是以“./crtmpserver/crtmpserver.lua”为配置脚本启动“crtmpserver"服务。

   B. 最后一行命令的目录是在"builders/cmake"下。

 

2.4 测试流的接收与分发

    最后一行命令执行后,可以看到默认脚本配置下启动的服务和对应的端口。如“RTMP”协议对应的是“1935”端口。

    如下所示:

--- --------------- ----- ------------------------- -------------------------

|tcp|       0.0.0.0 |1935|       inboundRtmp   |            appselector|

--- --------------- ----- ------------------------- -------------------------

推送:    

     可以使用Adobe 的FMLE(Flash Media Live Encoder)给这个服务器推送rtmp流。成功后会有相应的log信息提示。

     也可以使用ffmpeg给这个服务器推送rtmp流。成功后会有相应的log信息提示。但是请注意,ffmpeg推送rtmp流给它一定要使用"librtmp"才能成功。使用ffmpeg自带的rtmp推送会导致失败。原因应该是ffmpeg自带的rtmp程序不完整,解析不了第二次握手时服务发送来的包信息。

观看:

     推送成功后,用户端就可以用flash播放器或能播放rtmp流的播放器(如http://flv-player.us/index_mdv.php)看你推送的节目啦。

    也可以使用像rtmpdump的软件将rtmp流录成文件。

  

3. 简单的配置修改

    有时服务器会对某些端口做限制,这时就需要自己指定端口,如"80"端口。这个需求可以通过修改它的配置脚本“crtmpserver/crtmpserver.lua”来实现。

     如要添加“80”端口的"rtmp"服务,可以给“crtmpserver/crtmpserver.lua”添加如下代码。(包含“port=80"的第一层大括号的代码是要添加的)

  1. default=true, 
  2. acceptors = 
  3.   { 
  4.     ip="0.0.0.0", 
  5.     port=80, 
  6.     protocol="inboundRtmp" 
  7.    }, 
  8.    { 
  9.      ip="0.0.0.0", 
  10.      port=1935, 
  11.      protocol="inboundRtmp" 
  12.    },
  13.    ...
  14.   }
  15. }

  重启服务就可以看到端口生效,就可以从“80“接收rtmp流啦。

 

时间: 2024-09-18 01:48:13

crtmpserver流媒体服务器的介绍与搭建的相关文章

crtmpserver 流媒体服务器集群安装配置详解

red5单机还是比较不错的,但是官方网站没有文档,不知道集群怎么配置,网查找了半天,只有red5 0.8版本有集群配置.以后的版本看了一下,有集群的插件,但是不知道怎么装插件,就算装好了插件,怎么配置集群,还是不知道啊.没文档坑爹. crtmpserver 流媒体服务器,研究学习,感觉还是不错的,下面说一下,集群配置. 一,crtmpserver下载 https://github.com/j0sh/crtmpserver 二,服务器说明 192.168.10.208 主服务器 192.168.1

obs nginx-rtmp-module搭建流媒体服务器实现直播 ding

接下来我就简单跟大家介绍一下利用nginx来搭建流媒体服务器. 我选择的是腾讯云服务器 1.下载nginx-rtmp-module: nginx-rtmp-module的官方github地址:https://github.com/arut/nginx-rtmp-module 使用命令: [php] view plain copy   git clone https://github.com/arut/nginx-rtmp-module.git     将nginx-rtmp-module下载到l

流媒体技术学习笔记之(一)nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器

参照网址: [1]http://blog.csdn.net/redstarofsleep/article/details/45092147 [2]HLS介绍:http://www.cnblogs.com/haibindev/archive/2013/01/30/2880764.html 上面这两个流的地址分别是: 第一个就是推送的地址: RTMP推流地址: rtmp://serverIp:1935/myapp/test1 第二个是HTTP地址:  HLS推流地址: http://serverIp

用VLC搭建流媒体服务器

问题描述 用VLC搭建流媒体服务器 最近在用VLC做本地文件播放和视频传输的程序,已经实现了本地文件的播放和流媒体的接收,请问怎么利用VLC搭建流媒体服务器,向外串流呢?如果方便能不能共享一下代码? 最好是用C++. 解决方案 参考: 用vlc搭建简单流媒体服务器(UDP和TCP方式) http://blog.csdn.net/kangear/article/details/8750238

用nginx搭建基于rtmp或者http的flv、mp4流媒体服务器

http://itindex.NET/detail/48702-nginx-rtmp-http   一.流媒体播放方式  1.  HTTP方式  这种方式要下载FLV视频文件到本地播放,一旦FLV视频文件下载完成,就不会消耗服务器的资源和带宽,但是拖动功能没有RTMP/RTMP流媒体方式强大,很多视频网站都是用HTTP方式实现的,如:YouTube,土豆,酷6等  2.  RTMP/RTMP流媒体方式  这种方式不用下载FLV视频文件到本地,可以实时的播放flv文件,可以任意拖拽播放进度条,但是

用nginx搭建http/rtmp/hls协议的MP4/FLV流媒体服务器

前前后后搭建了两三个星期,终于可以告一段落,nginx实在是有点强大.写一篇笔记来记录一下这个过程中的思路和解决方案. 一.搭建nginx平台: 基本是基于http://blog.csdn.net/xiaoliouc/article/details/8363984 一步步安装nginx搭建流媒体服务器 这篇博客来搭建. 我的ubuntu是14.04LTS.各种包的版本是: nginx-1.9.9 nginx_mod_h264_streaming-2.2.7.tar.gz openssl-0.9.

[终极精简版][图解]Nginx搭建flv mp4流媒体服务器

花了我接近3周,历经了重重问题,今日终于把流媒体服务器搞定,赶紧的写个博文以免忘记... 起初是跟着网上的一些教程来的,但是说的很不全面,一些东西也过时不用了(比如jwplayer老版本).我这次是用的最新版jwplayer6.8,在配置上有很多不同的地方,也很坑,值得注意一下!在配置方面,我精简了很多,没有了那么多繁琐的配置项需要修改. 注意:本人是在虚拟机centos6.2系统下搭建的流媒体服务器,在win7主机上做测试. 另,文章最后有下载地址,可下载搭建过程中所有用到的包和其他文件. 废

想搭建一款流媒体服务器

问题描述 想搭建一款流媒体服务器 需求如下, ① 把摄像头采集的视频数据,通过流媒体服务器如VLC或OBS流媒体服务器框架 把采集的视频数据转换为流. ② 基于哪种协议( http或者rtsp或者其他)可以把流放到网络上看,或者生成二维码,手机扫一下即可观看 问题:① 选择哪一款流媒体框架? ② 如何把流放到网络上?

求大神帮忙解决流媒体服务器搭建的问题。

问题描述 我做了个视频网站,现在要用到视频服务器,现在有几个问题非常疑惑.问题有几点:1.流媒体搭建的过程.2.用什么工具搭建.3.我如何调用流媒体服务器上的视频文件.感谢各位帮帮忙.. 解决方案