我有一个由nginx-rtmp驱动的自定义RTMP服务器。
这是我的配置:
server {
listen 1935;
chunk_size 4000;
ping 10s;
ping_timeout 5s;
application live {
live on;
wait_key on;
play_restart on;
}
}
当广播公司想要开始直播时,他/她会将内容发布到rtmp://myserver.com/live/someUserDefinedStreamName
。
当观众想要观看直播时,他/她将从API端点获取流网址,这就是问题所在。
someUserDefinedStreamName
实际上是" public",这意味着每个人都可以将内容发布到此网址以假装为广播公司。
有关此问题的任何建议,以防止观众了解原始流网址吗?
例如,广播公司将内容发布到rtmp://myserver.com/live/someUserDefinedStreamName
,而观看者可以使用rtmp://myserver.com/live?someHashString
观看视频流,但是如何?
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以使用nginx-rtmp模块中的选项轻松保护您的rtmp资源, 使用on_play保护资源免受播放(通过检查自定义后端的权限)和on_publish来限制发布用户。
rtmp{
application appname{
# a url to your custom backend
on_play http://localhost:9090/check_user;
# backend server should return 200 for allowing otherwise return 401 or 403
# you can also return 301 or 302 like redirection for redirecting to
# other stream
on_publish http://localhost:9090/check_publish_perm;
# same conditions as on_play
}
}