14662|9

1403

帖子

1

TA的资源

纯净的硅(中级)

楼主
 

一起玩树莓派3 + 源码方式搭建nginx+rtmp服务器,及简单测试 [复制链接]

 
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


查看本帖全部内容,请登录或者注册

最新回复

本帖最后由 52Hz_ 于 2019-11-4 20:37 编辑 雨天爱吃肉 发表于 2019-8-23 14:52 楼主  你好 我输入 ./configure --with-http_ssl_module --add-module=../nginx-rtmp-modul ... 我也遇到了这个问题,请问你解决了吗 补充:这个问题倒是解决了,下载另一个版本的就可以找到   详情 回复 发表于 2019-11-4 20:09

赞赏

1

查看全部赞赏

点赞 关注(1)
个人签名HELLO_WATER

回复
举报

1310

帖子

3

TA的资源

一粒金砂(高级)

沙发
 
顶起来,很棒,期待更进一步
 
 

回复

356

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
 
 
 

回复

1367

帖子

6

TA的资源

版主

4
 
追风,你一直播我就知道很高大上了 我要先马克一下
 
个人签名

1084534438 欢迎交流  [加油,一切皆有可能]

 
 

回复

1403

帖子

1

TA的资源

纯净的硅(中级)

5
 
RCSN 发表于 2016-11-19 21:58
追风,你一直播我就知道很高大上了  我要先马克一下

我得先去看 The Grand Tour了,哈哈~
 
个人签名HELLO_WATER
 
 

回复

15

帖子

0

TA的资源

一粒金砂(初级)

6
 
为了创建能点播小电影的便携服务器也是拼了
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

7
 
楼主你好 我想和你探讨一下关于视频流的问题~Q 1196028994  谢谢~
 
 
 

回复

182

帖子

0

TA的资源

禁止发言

8
 
学习下  谢谢分享
 
个人签名嘉立创PCB打样  QQ800058452
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

9
 

楼主  你好 我输入 ./configure --with-http_ssl_module --add-module=../nginx-rtmp-module
显示bash: ./configure: 没有那个文件或目录   是什么原因  小白刚入手

 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

10
 
本帖最后由 52Hz_ 于 2019-11-4 20:37 编辑
雨天爱吃肉 发表于 2019-8-23 14:52 楼主  你好 我输入 ./configure --with-http_ssl_module --add-module=../nginx-rtmp-modul ...

我也遇到了这个问题,请问你解决了吗

补充:这个问题倒是解决了,下载另一个版本的就可以找到

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
Microchip 直播|利用motorBench开发套件高效开发电机磁场定向控制方案 报名中!
直播主题:利用motorBench开发套件高效开发电机磁场定向控制方案
直播时间:2025年3月25日(星期二)上午10:30-11:30
快来报名!

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表