编程技术分享平台

网站首页 > 技术教程 正文

一起玩树莓派3源码方式搭建nginx+rtmp服务器及测试

xnh888 2024-09-25 23:32:16 技术教程 14 ℃ 0 评论

以上图文内容均是EEWORLD论坛网友:shinykongcn 原创,在此感谢。

欢迎微博@EEWORLD

如果你也写过此类原创干货请关注微信公众号:EEWORLD(电子工程世界)回复“投稿”,也可将你的原创发至:bbs_service@eeworld.com.cn,一经入选,我们将帮你登上头条!

与更多行业内网友进行交流请登陆EEWORLD论坛。

nginx(Engine X)是一个很流行的web服务器,以小巧、稳定、并发能力强著称。很多大公司服务器都用的这货,比如eeworld论坛:

rtmp(Real-Time Messaging Protocol)是由Micromedia开发的一种流媒体传输协议,已归入Adobe,最先是为了播放Flash视频而开发的。是目前直播行业用的非常多的一种流媒体传输协议,有成熟的cdn加速用于分布式大并发和流量加速,是直播行业的主流解决方案。rtmp的服务器有很多,比如Adobe自己的商业服务器FMS,另有一些其它的开源解决方案,我最终选用的是nginx。因为nginx除了做web服务器外,另外有很多的插件(Module)支持,用于功能扩展。其中就用ngnix-rtmp-module,用于搭建rtmp server,实现视频点播和直播功能。接下来就我们在树莓派上搭建一个nginx服务器+rtmp流媒体服务器吧。

nginx+rtmp编译:

  • 树莓派3官方的Raspbian系统本身就是Linux,具备了绝大部分搭建服务器的条件,只需安装一些必要的支持包即可,主要是nginx的一些依赖。apt-get 用起来也是很方便的,安装命令:

    复制代码

  1. sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev

  • 下载nginx和nginx-rtmp-module源码,nginx源码下载地址:http://nginx.org/download/,我们可以下载各种版本,这里我们选用最新的1.9.15版本,nginx-rtmp-module可通过github下载,很方便:

    复制代码

    1. wget http://nginx.org/download/nginx-1.9.15zip

    2. git clone https://github.com/arut/nginx-rtmp-module.git

  • 下载完后解压nginx, unzip nginx-1.9.9.zip即可,然后在nginx-1.9.9目录下新建一个extra文件夹(mkdir extra),并将nginx-rtmp-module目录移到extra目录下。执行configure以生成Makefile配置:

    复制代码

    1. ./configure --with-http_ssl_module --add-module=../nginx-rtmp-module

  • 再执行make -j4等待nginx编译完成。

  • 一切顺利的话,编译成功再执行sudo make install,将编译好的nginx安装到系统之中,默认安装在/usr/local/nginx目录下。

  • nginx rtmp配置和简单测试:

    nginx配置文件在/usr/local/nginx/conf目录下,配置rtmp server功能需要修改该目录下nginx.conf文件,在文件的末尾(大括号之后,不要添加到大括号里面)添加以下内容,需要sudo权限才能修改 sudo vi /usr/local/nginx/conf/nginx.conf:

    1. # rtmp server

    2. rtmp {

    3. server {

    4. listen 1935;

    5. chunk_size 4096;

    6. application live {

    7. live on;

    8. record off;

    9. }

    10. application vod {

    11. play /home/pi/Videos;

    12. }

    13. }

    14. }

    复制代码

    简单说明一下,这里配置了两个rtmp application,live用于直播,vod用于点播,点播的内容来自于是/home/pi/Videos目录。详细的配置方法可以参考wiki:https://github.com/arut/nginx-rtmp-module/wiki/Directives

    nginx启动并测试:

    启动nginx很简单,执行 sudo /usr/local/nginx/sbin/nginx 即可。

    下面开始测试nginx是否运行成功了,检测方法是在pc浏览器中输入树莓派的ip地址,访问树莓派3搭建的web服务器,如能看到下图,恭喜你,nginx启动成功了。

    rtmp点播测试:

    这里需要用到点特殊的播放器,也就是支持rtmp的播放器,祭出神器vlc(下载戳我),支持各种格式、各种协议、各种硬件加速,功能非常强大,流媒体开发必备。所谓点播,就是在线播放服务器上的视频,前面配置的时候已经配置好/home/pi/Videos为点播目录了,假如Videos目录下有一个test.mp4的文件,那点播地址是什么呢?很简单rtmp://rpi3_ip/vod/test.mp4 ,我们直接在vlc中点击File ->Open Network,然后填入上面的地址就可以啦,不出意外的话,test.mp4文件缓冲一会儿之后就能开始播放啦。。。

    看个tbbt

    Tags:

    本文暂时没有评论,来添加一个吧(●'◡'●)

    欢迎 发表评论:

    最近发表
    标签列表