user11830: Not sure if this is the right place to ask this question (pretty technical), but I thought I'd start here.
I'm interested in building a website that will have a streaming-video feature. It's not quite live video, because the videos will only be available after they have been reviewed. However, I would like the videos to be viewable on demand (ie, I don't want there to be a waiting period for them to be uploaded and encoded, like Youtube). 
Basically, I'm wondering how to live-stream video directly to a server, so that it is being encoded on the fly, and can be watched as soon as the stream ends.
Thanks for your help!

user12516: If you’re up for building your own server, and have some coding skill, then you could look at setting up a nginx server running the RTMP extension that can capture an re-stream live or on demand video. It can also do near realtime transcoding or "at completion of capture" transcoding using ffmpeg.
For the system I setup, I send live video in using an IP based camera system from multiple sources that can do RTMP streaming, or if I want to capture desktop content like a video game I use OBS to do the streaming to the server.
The actually user website itself runs from a node.js based system that has access to the content recorded by the nginx rtmp capture.
OR
You could look at a pre-build solution like Kaltura which has both a open-source community version and a commercial version. Think of it as your own YouTube server setup that has a tone of features ready to go out-of-the-box.


11830: <p>Not sure if this is the right place to ask this question (pretty technical), but I thought I'd start here.</p>

<p>I'm interested in building a website that will have a streaming-video feature. It's not quite live video, because the videos will only be available after they have been reviewed. However, I would like the videos to be viewable on demand (ie, I don't want there to be a waiting period for them to be uploaded and encoded, like Youtube). </p>

<p>Basically, I'm wondering how to live-stream video directly to a server, so that it is being encoded on the fly, and can be watched as soon as the stream ends.</p>

<p>Thanks for your help!</p>
 12516: <p>If you’re up for building your own server, and have some coding skill, then you could look at setting up a nginx server running the <a href="https://github.com/arut/nginx-rtmp-module" rel="nofollow noreferrer">RTMP extension</a> that can capture an re-stream live or on demand video. It can also do near realtime transcoding or "at completion of capture" transcoding using ffmpeg.</p>

<p>For the system I setup, I send live video in using an IP based camera system from multiple sources that can do RTMP streaming, or if I want to capture desktop content like a video game I use <a href="https://obsproject.com" rel="nofollow noreferrer">OBS</a> to do the streaming to the server.<a href="https://i.stack.imgur.com/gk3Q8.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/gk3Q8.png" alt="enter image description here"></a></p>

<p>The actually user website itself runs from a node.js based system that has access to the content recorded by the nginx rtmp capture.</p>

<p><strong>OR</strong></p>

<p>You could look at a pre-build solution like Kaltura which has both a <a href="http://www.kaltura.org" rel="nofollow noreferrer">open-source community version</a> and a <a href="http://corp.kaltura.com" rel="nofollow noreferrer">commercial version</a>. Think of it as your own YouTube server setup that has a tone of features ready to go out-of-the-box.
<a href="https://i.stack.imgur.com/yDGV4.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/yDGV4.jpg" alt="enter image description here"></a></p>
