Ruby on rails Rails、Desive和Nginx RTMP认证
我正在开发一个将由一个相当小的社区使用的实时流媒体服务,目前我无法确定如何保护从OBS/xSplit接收rtmp并将其作为HLS发布的nginx服务器。HLS使用VideoJS播放。用户帐户使用Desive模块完成,用户名用于创建客户端和拖缆的路径。我需要添加流密钥来保护用户帐户不被任何人流到,这可以通过nginx.conf中的on_publish和PHP实现,但这不适用于我的RoR/designe accounts系统。如何在Desive和Rails中实现这一点 编辑:我被要求添加一些代码,尽管我不知道在Rails中有什么方法可以做到这一点,下面是一个PHP和Python示例 NGINX http服务器在端口8080上运行,但位于端口80上的apache2代理之后,因为这台机器承载多个网站 这是我的NGINX配置Ruby on rails Rails、Desive和Nginx RTMP认证,ruby-on-rails,nginx,devise,rtmp,Ruby On Rails,Nginx,Devise,Rtmp,我正在开发一个将由一个相当小的社区使用的实时流媒体服务,目前我无法确定如何保护从OBS/xSplit接收rtmp并将其作为HLS发布的nginx服务器。HLS使用VideoJS播放。用户帐户使用Desive模块完成,用户名用于创建客户端和拖缆的路径。我需要添加流密钥来保护用户帐户不被任何人流到,这可以通过nginx.conf中的on_publish和PHP实现,但这不适用于我的RoR/designe accounts系统。如何在Desive和Rails中实现这一点 编辑:我被要求添加一些代码,尽
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
#gzip on;
server {
listen 8080;
server_name localhost;
location /hls {
types {
application/vnd.apple.mpegurl m3u8;
}
root /tmp;
add_header Cache-Control no-cache;
# To avoid issues with cross-domain HTTP requests (e.g. during development)
add_header Access-Control-Allow-Origin *;
}
location / {
root html;
index index.html index.htm;
}
location /stat {
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl {
root /var/www/html/;
}
#error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
deny play all;
hls on;
hls_path /tmp/hls;
hls_fragment 15s;
}
}
}
请包含问题的代码。您可以使用rails应用程序处理身份验证。使用streamkey向用户表中添加新列。为用户添加新的post操作,以检查流的名称是否与他们的streamkey匹配。流的名称可用于on_publish以及尝试发布时传递的任何url参数。因此,只需让您的用户将?streamkey=附加到OBS密钥中,并在控制器操作中检查它。如果不匹配,则返回400响应以拒绝,返回200响应以允许。然后,只需将密钥提供给用户,您就可以开始了。请包含问题的代码您可以使用rails应用程序处理身份验证。使用streamkey向用户表中添加新列。为用户添加新的post操作,以检查流的名称是否与他们的streamkey匹配。流的名称可用于on_publish以及尝试发布时传递的任何url参数。因此,只需让您的用户将?streamkey=附加到OBS密钥中,并在控制器操作中检查它。如果不匹配,则返回400响应以拒绝,返回200响应以允许。然后,只需将密钥提供给用户就可以了。