java搭建rtmp服务器,开源代码Window下搭建rtmp流媒体服务器

本帖最后由 rfvn 于 2014-1-23 09:01 编辑

综合:有这样需求,将摄像头视屏发布出去,并且需要在web网页上通过Flash播放器播放。首先Flash被我所知道的所有浏览器所支持。如果是Activex控件。还需要被用户额外安装,而且一不小心还会出问题。但是Flash player默认是被安装的。而且是比较稳定的。虽然开源的VLC播放器所提供的OCX相当不错。可是个人还是觉得没有Flash直接播放方便。flash支持的视频格式有限,像mp4等格式都不会被flash player直接支持。所以就有了选择RTMP协议的视频流。支持点播和时间查询播放。那么下面我们就在Windows下搭建一个RTMP视频流发布程序。我选择的都是开源代码编译出的程序去搭建。免费,可定制。:)ffmpeg+ CRtmpserver

一.准备:下载ffmpeg. 这个支持很多很多的格式视频http://ffmpeg.org/download.html。进入下载,可以下载源码和Windows 平台下的Release版。然后下载crtmpserver.http://www.rtmpd.com/  这是官网。,但是官网不提供Windows下的编译好的程序。http://www.rtmpd.com/resources/里面能看到源码下载地址,

302bad67f9dda864b7616bad5169f95e.gif

222248116479.jpg (194.79 KB, 下载次数: 18)

2014-1-23 09:00 上传

需要我们自己下载源代码编译。可以看到是SVN进行管理的。进入Wiki。可以看到详细的说明文档。它是在linux下编写完成(很多好的开源代码都是在linux下编写完成,所以我们还是非常有必要学习学习linux)。我们只能搭建交叉编译环境,编译出Windows下可执行程序。我喜欢Ubuntu下编译。交叉编译环境如何搭建。直接百度。很多资料可以参考。这样两个重要的开源工具下载准备完成。当然我们需要一个好的flash播放器。当然流媒体发布服务器开源工具还有比较好的。比如Red5.这是java写的,感兴趣的可以进去看看。

二.开始发布视频

首先我们可以直接将视频文件发布到media目录中

302bad67f9dda864b7616bad5169f95e.gif

222248131169.jpg (134.15 KB, 下载次数: 19)

2014-1-23 09:00 上传

可以看到media目录中我放入了几个视频文件:

302bad67f9dda864b7616bad5169f95e.gif

222248141014.jpg (17.15 KB, 下载次数: 16)

2014-1-23 09:00 上传

这样我们就可以以rtmp流的形式访问视频了;首先得启动服务。直接用批处理启动。run.bat.

302bad67f9dda864b7616bad5169f95e.gif

222248160547.jpg (223.33 KB, 下载次数: 15)

2014-1-23 09:00 上传

这样就实现了rtmp静态视频发布rtmp流给flash player播放。注意我们这里视频放在media文件夹中这个是由crtmpserver的配置文件中配置的。它的配置文件是lua脚本写的。

302bad67f9dda864b7616bad5169f95e.gif

222248174915.jpg (28.18 KB, 下载次数: 19)

2014-1-23 09:00 上传

我的就是配置在media中的。

现在我通过ffmpeg将流发布给crtmpserver对外发布。

我写了一个批处理直接运行。批处理内容是:

302bad67f9dda864b7616bad5169f95e.gif

222248181011.jpg (21.41 KB, 下载次数: 20)

2014-1-23 09:00 上传

我将2.mp4视频发布成编码成H264以rtmp格式发布出去。

302bad67f9dda864b7616bad5169f95e.gif

222248211792.jpg (378.2 KB, 下载次数: 16)

2014-1-23 09:00 上传302bad67f9dda864b7616bad5169f95e.gif

222248248827.jpg (266.54 KB, 下载次数: 12)

2014-1-23 09:00 上传

这样这个2.mp4就被发布出去了。

后记:

虽然都是以视频文件发布rtmp流发布的。但是这只是简单的搭建实例。我们可以将他用到很多地方。我后面打算通过它直接将摄像头的视频流编码成H264发布出去rtmp流供flash player播放。然后远程查看。同时我打算利用Drectshow操作电脑摄像头实现视频即时一对一或者一对多聊天。并且存储服务器视频文件供历史聊天视频查询。这也是我选择开源代码搭建的原因之一

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值