当前位置:   article > 正文

挑战一个人搭建一套完整直播系统3: Nginx-rtmp-module

nginx-rtmp-module

Nginx-rtmp-module(NRM)的出现使得非专业流媒体开发工程师也可以简单、迅速搭建媒体流服务器,本节将介绍NRM的使用。

NRM模块安装

复制NRM源代码:

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

在Nginx文件夹下重新配置NRM模块(注意RNM的相对位置)

./configure --add-module=../../live/nginx-rtmp-module/

重新编译安装

make && make install

重新启动nginx

/etc/init.d/nginx restart

直播系统搭建

修改启动脚本的Nginx配置文件

  1. worker_processes 1;
  2. events {
  3. worker_connections 1024;
  4. }
  5. rtmp{
  6. server{
  7. listen 1935;
  8. application mylive{
  9. live on;#开启直播
  10. hls on;#开启hls
  11. hls_path /usr/local/m3u8File; #配置HLS m3u8文件存放地址
  12. }
  13. }
  14. }
  15. http {
  16. include mime.types;
  17. default_type application/octet-stream;
  18. sendfile on;
  19. keepalive_timeout 65;
  20. server {
  21. listen 80;
  22. server_name localhost;
  23. location / {
  24. root html;
  25. index index.html index.htm;
  26. }
  27. location /mylive_hls{
  28. types {
  29. #m3u8 type设置
  30. application/vnd.apple.mpegurl m3u8;
  31. # ts 分片文件设置
  32. video/mp2t ts;
  33. }
  34. alias /usr/local/m3u8File;
  35. add_header Cache-Control no-cache; #禁止缓存
  36. }
  37. error_page 500 502 503 504 /50x.html;
  38. location = /50x.html {
  39. root html;
  40. }
  41. }
  42. }

重新加载配置文件:

nginx -s reload

创建目录

mkdir /usr/local/m3u8File

推流拉流

直播技术中,经常会涉及推流(push)和拉流(pull),将流媒体推送到流媒体服务器的过程被叫做推流,向服务器获取视频数据的过程叫做拉流,我们首先在一台机器上测试推流和拉流的功能。先在ubuntu安装VLC播放器(直接软件商店搜索安装即可):

通过ffmpeg进行推流,指令如下:

ffmpeg -i test1.mp4 -vcodec libx264 -acodec aac -f flv rtmp://127.0.0.1:1935/mylive/1

test1.mp4为要推送的视频文件,libx264为视频编码库,aac为音频编码库,live为配置文件nginx.conf中application后面的参数是串流码(Stream Key),用来区分同一个application的不同直播流,rtmp://127.0.0.1:1935/mylive/1为具体的服务器推流地址。

打开VLC播放器,选择媒体->打开网络串流

 输入对应的直播地址:rtmp://127.0.0.1:1935/mylive/1,点击播放,此时播放器会处于读取直播流的状态,此时执行上面的推流命令,就可以看到VLC播放器播放推过来的直播视频了:

 基本平台搭建和实现先介绍到这里。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/195965
推荐阅读
相关标签
  

闽ICP备14008679号