配置
ts_live
Syntax: ts_live [rtmp service port] [app=bind rtmp application]
Context: location
- Desc
http-ts需要在http模块的location里配置。
- app参数:当location与application的名字不同时,需要其后跟 app=xxx 来把location与application绑定起来。如果location与application的名字相同,则无需app=xxx参数绑定。
必须显示配置
- app参数:当location与application的名字不同时,需要其后跟 app=xxx 来把location与application绑定起来。如果location与application的名字相同,则无需app=xxx参数绑定。
- For example
rtmp { server { listen 1935; application live0 { live on; } application live1 { live on; } } } http { server { listen 80; location ts0 { ts_live 1935 app=live0; } location ts1 { ts_live 1935 app=live1; } location live0 { ts_live 1935; } location live1 { ts_live 1935; } } }
测试
- live0
- rtmp推流地址:
rtmp://ip/live0/stream-name
- http-ts播放地址:
http://ip/live0/stream-name
和http://ip/ts0/stream-name
- rtmp推流地址:
- live1
- rtmp推流地址:
rtmp://ip/live1/stream-name
- http-ts播放地址:
http://ip/live1/stream-name
和http://ip/ts1/stream-name
- rtmp推流地址:
动态挂载点
在生产环境里,尤其是ToB的服务里,很可能需要非常多的application,比较笨的方法是我们在配置文件里一条条配置,这非常不利于管理和扩展。
下面展示如何通过通配符,自动生成application,并且通过http-ts url参数指定挂载点名称。
配置模板
```nginx
rtmp {
server {
listen 1935;
application * {
live on;
}
}
}
http {
server {
listen 80;
location ts {
ts_live 1935;
}
}
}
```
挂载点名称可以随意指定,此处依旧以live0、live1为例进行说明
- live0
- rtmp推流地址:rtmp://ip/live0/stream-name
- http-ts播放地址:http://ip/ts/stream-name?app=live0
- live1
- rtmp推流地址:rtmp://ip/live1/stream-name
- http-ts播放地址:http://ip/live1/stream-name?app=live1
下篇hls配置