nginx配置m3u8

本文介绍了在Nginx中配置m3u8流媒体服务时,使用`root`和`alias`指令的不同。通过`root`配置,路径会被拼接到指定的基础目录下寻找资源,而`alias`则直接指向指定的目录。配置示例中展示了如何设置类型、缓存控制和跨域访问,并强调了两者在路径解析上的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

nginx配置m3u8只需要配置一个location就可以了,不过在访问时路径时有点区别,播放路径为
http://localhost/video/a.m3u8(文件在/usr/local/nginx/html/video/a.m3u8,video目录有ffmpeg生成的a.m3u8和ts文件)
用root配置路径为/usr/local/nginx/html 作用是把/video拼接在/usr/local/nginx/html下去找资源,下面的配置就会拼接成(/usr/local/nginx/html/video)去这个目录下找a.m3u8
用alias配置为/usr/local/nginx/html/video/ ,alias等于是给目录起了一个别名,必须以 / 结束,下面的配置就是直接去(/usr/local/nginx/html/video/)这个目录找资源
root

location /video {
   	 types{
   		 application/vnd.apple.mpegurl m3u8;
   		 video/mp2t ts;
   	 }
     root /home/local/nginx/html;
     add_header Cache-Control no-cache;
   	 add_header Access-Control-Allow-Origin *;
 }

alias

location /video {
   	 types{
   		 application/vnd.apple.mpegurl m3u8;
   		 video/mp2t ts;
   	 }
     alias /home/local/video;
     add_header Cache-Control no-cache;
   	 add_header Access-Control-Allow-Origin *;
 }
Nginx是一个高性能的HTTP服务器和反向代理服务器,也可以作为IMAP/POP3/SMTP服务器。要在Nginx上搭建m3u8流媒体服务,你需要以下几个步骤: 1. **安装Nginx和RTMP模块**: 首先,你需要安装带有RTMP模块的Nginx。RTMP模块是实现流媒体功能的关键。 ```bash sudo apt-get update sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev wget http://nginx.org/download/nginx-1.18.0.tar.gz tar -zxvf nginx-1.18.0.tar.gz cd nginx-1.18.0 wget https://github.com/arut/nginx-rtmp-module/archive/master.zip unzip master.zip ./configure --add-module=./nginx-rtmp-module-master make sudo make install ``` 2. **配置Nginx**: 编辑Nginx配置文件(通常位于 `/usr/local/nginx/conf/nginx.conf`),添加RTMP配置和HTTP配置。 ```nginx worker_processes auto; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 8080; server_name localhost; location / { root html; index index.html index.htm; } location /live { flv_live on; chunked_transfer_encoding on; add_header 'Access-Control-Allow-Origin' '*'; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } rtmp { server { listen 1935; application live { live on; record off; } } } ``` 3. **启动Nginx**: 启动Nginx服务。 ```bash sudo /usr/local/nginx/sbin/nginx ``` 4. **推流**: 使用推流软件(如OBS Studio)将流推送到Nginx服务器。例如,推流地址为 `rtmp://your_server_ip/live/stream`。 5. **播放流**: 使用支持HLS的播放器(如VLC)播放m3u8流。播放地址为 `http://your_server_ip:8080/live/stream.m3u8`。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值