multi-redirect handler

This commit is contained in:
Alex 2022-03-13 15:27:34 +01:00
parent 4c12b907d0
commit cd77e170e6
2 changed files with 36 additions and 10 deletions

View File

@ -4,18 +4,34 @@ local autoload = require("lapis.util").autoload
local function Authhandler(self)
local name = self.params.name
local password = self.params.password
print(name)
print(password)
local yt_streamkey = self.params.youtube or nil
local endpoints = {
puik='something',
wstd='something',
buzz='something'
}
if endpoints[name] == password then
return {status = 201}
local urls = {}
local hls_url = "rtmp://127.0.0.1/streamhls/" .. name
table.insert(urls, hls_url)
if yt_streamkey then
local yt_url = "rtmp://127.0.0.1/youtube/" .. yt_streamkey
table.insert(urls, yt_url)
end
local redirect_urls = table.concat(urls, ",")
return {
"remote push", {
layout=false,
redirect_to=redirect_urls
}
}
else
return {status = 404}
end

View File

@ -16,13 +16,23 @@ rtmp {
live on;
on_publish http://localhost:${{PORT}}/auth;
}
application youtube {
live on;
exec ffmpeg -i rtmp://localhost:1935/youtube/$name -c:a copy -c:v copy -f flv rtmp://a.rtmp.youtube.com/live2/$name;
}
application streamhls {
live on;
#relays the incoming video to low quality streams on this server, audio-only version and to a different server
exec ffmpeg -i rtmp://localhost:1935/stream/$name
-c:a copy -c:v copy -f flv rtmp://localhost/hls/$name_hi;
exec ffmpeg -i rtmp://localhost:1935/stream/$name -max_muxing_queue_size 1024
-c:a copy -c:v libx264 -b:v 500K -preset superfast -profile:v baseline -f flv rtmp://localhost/hls/$name_low
2>/mnt/radio/logs/ffmpeg-$name_low.log;
exec ffmpeg -i rtmp://localhost:1935/streamhls/$name
-c:a copy -c:v copy -f flv rtmp://localhost/hls/$name_hi;
exec ffmpeg -i rtmp://localhost:1935/streamhls/$name -max_muxing_queue_size 1024
-c:a copy -c:v libx264 -b:v 128K -preset superfast -profile:v baseline -f flv rtmp://localhost/hls/$name_low;
# 2>/mnt/radio/logs/ffmpeg-$name_low.log;
}
@ -54,7 +64,7 @@ http {
server {
listen ${{PORT}};
lua_code_cache ${{CODE_CACHE}};
# nginx-rtmp hls and status endpoints
location /hls {
types {