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

摘要:
转到下载以下载Windows平台下的源代码和发布版本。我们只能构建一个交叉编译环境来编译Windows下的可执行程序。当然,用于流媒体发布服务器的开源工具也相当不错。现在我通过ffmpeg将流发布到crtmpserver。这是我选择构建开源代码的原因之一

合肥程序员群:49313181。 合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入) Q Q:408365330 E-Mail:egojit@qq.com

综合:有这样需求,将摄像头视屏发布出去,并且需要在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/里面能看到源码下载地址,

rtmp1

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

二.开始发布视频

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

rtmp2

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

rtmp3

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

rtmp4

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

rtmp5

我的就是配置在media中的。

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

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

rtmp6

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

rtmp8rtmp7

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

后记:

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

免责声明:文章转载自《开源代码Window下搭建rtmp流媒体服务器》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇小米智能家居接入智能家居平台homeassistant的方法vSAN 兼容性查询指南下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

ffmpeg参数说明(转载)

ffmpeg.exe -i F:\闪客之家\闪客之歌.mp3 -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 f:\11.flv ffmpeg -i F:\01.wmv -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 f:\test.flv 使用-ss参数 作用(time_off set...

基于第三方开源库的OPC服务器开发指南(3)——OPC客户端

本篇将讲解如何编写一个OPC客户端程序测试我们在前文《基于第三方开源库的OPC服务器开发指南(2)——LightOPC的编译及部署》一篇建立的服务器。本指南的目的是熟悉OPC服务器的开发流程,所以客户端部分我就不做过多描述,只是简单讲解几个关键技术细节及其实现函数,完整工程源码请从如下地址获取: https://github.com/Neo-T/OPCDA...

Windows平台如何集成RTSP/RTMP直播播放功能

前段时间,我们在 https://blog.csdn.net/renhui1112/article/details/104143794 提到“RTSP播放器开发过程中需要考虑哪些关键因素”,本次主要介绍,如何调用SDK实现RTSP/RTMP播放能力。本文以调用大牛直播SDK为例: demo说明 SDK提供C++/C#两套接口,对外提供32/64位库,C...

画画板--第三方开源--DrawableView

Android上的第三方开源DrawableView支持手写,类似于写字板。DrawableView支持改变画笔颜色,画笔线条粗细,画布的手势缩放和拖曳显示部分区域。并最终支持将手绘的图保存到本地。在github上的项目主页:https://github.com/PaNaVTEC/DrawableView先把布局文件中写一个DrawableView:...

nginx + ffmpeg

第一种方案:ffmpeg+nginx 新的ffmpeg已经支持HLS。(本人也参与了代码供献,给自己做个广告:)) 点播: 生成hls分片: ffmpeg -i <媒体文件> -c:v libx264 -c:a aac -f hls /usr/local/nginx/html/test.m3u8 直播: ffmpeg -i udp://@:12...

shell脚本实现 视频格式转换 ffmpeg 实现视频转换

#!/bin/bash original=$1 echo $original #check whether file is exist #if $original de chang du wei 0 huo bu $original bu shi chang gui wenjian if [ -z $original ] || [ ! -f $...