共计 1505 个字符,预计需要花费 4 分钟才能阅读完成。
Nginx 如何搭建简单直播服务器,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
前言
使用 Nginx + Nginx-rtmp-module 在 Ubuntu 中搭建简单的 rtmp 推流直播服务器。
服务器环境
Ubuntu 16.04
相关概念
RTMP:RTMP 协议是 Real Time Message Protocol(实时信息传输协议) 的缩写,它是由 Adobe 公司提出的一种应用层的协议。依赖于 flash 播发器来拉流。
请求样式:rtmp://xxx.xxx.xxx.xxx:1935/ttest(命名空间)/test(推流码)
HLS:苹果出的一套 Http Live Streaming 协议,它的工作原理简单来说就是把一段视频流,分成一个个小的基于 HTTP 的文件来下载。通过读取.m3u8 文件读取一个一个的视频流片段。
请求样式:http://xxx.xxx.xxx.xxx/video(nginx 配置路由)/test.m3u8
nginx-rtmp-module:基于 Nginx 的流媒体 Server
测试工具
1. 推流工具:易推流 (ios)
2. 拉流工具:VLC media player(pc)
实现步骤
一、安装或升级 Nginx
sudo apt-get install software-properties-common python-software-properties sudo add-apt-repository ppa:nginx/stable sudo apt-get update sudo apt-get install nginx
二、安装 nginx-rtmp-module
sudo apt-get install libnginx-mod-rtmp
三、编写 nginx 配置
1. /etc/nginx/nginx.conf
user ubuntu; rtmp{ server{ listen 1935; chunk_size 4000; application test{ live on; record off; hls on; hls_path /usr/local/src/nginx/html/test; hls_fragment 1s; hls_playlist_length 3s; } } }
2. /etc/nginx/sites-enables/default
location /video/ { alias /usr/local/src/nginx/html/godeyeTest/; # 余下三行配置是解决跨域问题 add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Methods GET, POST, OPTIONS add_header Access-Control-Allow-Headers DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization }
四、新建路径,重启 nginx 服务
1. mkdir 配置中的路径 (/usr/local/src/nginx/html/test)
2. serive nginx restart
看完上述内容,你们掌握 Nginx 如何搭建简单直播服务器的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!