<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jul 13, 2021 at 10:41 PM Reinis Rozitis <<a href="mailto:r@roze.lv">r@roze.lv</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">> How would that work?<br>
> From the presentation on RTMP it looks like that nginx is just serving cached VODs instead of the actual stream.<br>
<br>
RTMP and HLS are two different streaming technologies. <br>
HLS just consists of a playlist (.m3u8) file (usually the player reads it by continuously making http requests) which points to video chunk files which again are served via simple http. This is why (contrary to rtmp) hls is easy to scale/cache and/or use via all kinds of CDNs.<br></blockquote><div><br></div><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">Indeed, converting RTMP to HLS is something that I already have.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">This is the video, I was talking about: <a href="https://www.youtube.com/watch?v=Js1OlvRNsdI">https://www.youtube.com/watch?v=Js1OlvRNsdI</a></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">The streams read through different protocols are completely out of sync. I suspect it is because nginx is just serving stale cached chunks.</div></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small"><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> And even if it can actually proxy the requests (which I doubt)<br>
<br>
It can.</blockquote><div><br></div><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">How? The presentation does not cover that.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">And it can't be a simple HTTP, because as you said yourself, with HLS I would just end up with a cached playlist and bunch of useless VOD chunks that I don't want to ever serve.</div></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
> , it can't be configured dynamically.<br>
<br>
As to "dynamically" depends on what are your needs.<br>
<br>
The commercial nginx plus version provides an API [1] for dynamic upstream configuration but you are not limited by it. <br>
For example you can use Lua code [2] to determine/set upstream in a very dynamic way. There are also some third party modules with such functionality.<br>
<br>
But again you didn't actually specify what is the issue?<br>
<br>
<br>
[1] <a href="https://docs.nginx.com/nginx/admin-guide/load-balancer/dynamic-configuration-api/" rel="noreferrer" target="_blank">https://docs.nginx.com/nginx/admin-guide/load-balancer/dynamic-configuration-api/</a><br>
[2] <a href="https://github.com/openresty/lua-resty-core/blob/master/lib/ngx/balancer.md" rel="noreferrer" target="_blank">https://github.com/openresty/lua-resty-core/blob/master/lib/ngx/balancer.md</a></blockquote><div><br></div><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">Thanks for the links.</div></div></div></div>