Answers.Body: <p>There's another free, more lightweight alternative to wowza and red5 - the nginx-rtmp-module, which frees you from messing around with java</p>
  
  <p><a href="https://github.com/arut/nginx-rtmp-module/" rel="nofollow">https://github.com/arut/nginx-rtmp-module/</a></p>
  
  <p>and here's a guide to set it up with the free Open Broadcaster Software (which unfortunately is windows only)
  <a href="https://obsproject.com/forum/resources/how-to-set-up-your-own-private-rtmp-server-using-nginx.50/" rel="nofollow">https://obsproject.com/forum/resources/how-to-set-up-your-own-private-rtmp-server-using-nginx.50/</a></p>
  
  <p>For the streaming user end, the only decent free solution I've found for OSX is Adobe Flash Media Live Encoder. </p>
  
  <p>So, a free and relatively lightweight pipeline for streaming from osx would be</p>
  
  <p><strong>Camtwist and Soundflower for capturing</strong></p>
  
  <p><strong>Adobe Flash Media Live Encoder for streaming RTMP to the vps (or Open Broadcaster Software on windows)</strong></p>
  
  <p><strong>An ubuntu vps running nginx with the nginx-rtmp-module (needs to be built from source)</strong></p>
  
  <p><strong>Embed the stream on a website with something like JWPlayer</strong></p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-05-03T12:21:47.883Z
Answers.LastActivityDate: 2014-05-03T12:42:11.967Z
Answers.LastEditDate: 2014-05-03T12:42:11.967Z
Answers.UserDisplayName: takosuke
Answers.Body: <p>In addition to the mentioned Red5 and Wowza, there have been new protocols and media servers introduced in the past decade. For example, SRT/RIST is widely used in streaming and broadcasting, WebRTC/WHIP has replaced Flash for web streaming, and new codecs like H.265 and AV1 are becoming more popular. The new media server <a href="https://github.com/ossrs/srs" rel="nofollow noreferrer">SRS</a> supports these protocols well and works well with clients.</p>
  <p>Streaming servers need to support various streaming protocols, such as RTMP, SRT, HLS, HTTP-FLV, WebRTC, DASH, etc. They also need to support protocol conversion, like converting RTMP to HLS or WebRTC, and WebRTC to RTMP or HLS. This is because, during streaming, OBS might use RTMP or SRT, or a web page might use WebRTC, while viewers may require HLS or WebRTC. Modern streaming servers have the capability to perform these protocol conversions.</p>
  <p>In fact, streaming solutions not only include media servers like SRS and clients like FFmpeg, OBS, and WebRTC, but also essential features such as authentication, recording, re-streaming, and transcoding. These features require a combination of multiple open-source projects, working together with servers and clients. <a href="https://github.com/ossrs/srs-stack" rel="nofollow noreferrer">SRS Stack</a> is designed to address this issue.</p>
  <p>SRS Stack is a more suitable solution for you, which can be deployed on a VPS or started directly using Docker. You can refer to the following documentation:</p>
  <ul>
  <li><a href="https://blog.ossrs.io/how-to-setup-a-video-streaming-service-by-1-click-e9fe6f314ac6" rel="nofollow noreferrer">How to Setup a Video Streaming Service by 1-Click</a></li>
  <li><a href="https://blog.ossrs.io/publish-your-srs-livestream-through-wordpress-ec18dfae7d6f" rel="nofollow noreferrer">How to Publish Your SRS Livestream Through WordPress</a></li>
  <li><a href="https://blog.ossrs.io/maximize-your-live-streaming-reach-a-guide-to-multi-platform-streaming-38be22beec57" rel="nofollow noreferrer">Maximize Your Live Streaming Reach: A Guide to Multi-Platform Streaming</a></li>
  <li><a href="https://blog.ossrs.io/how-to-record-live-streaming-to-mp4-file-2aa792c35b25" rel="nofollow noreferrer">How to Record Live Streaming to MP4 File</a></li>
  <li><a href="https://blog.ossrs.io/virtual-live-events-revolutionizing-the-way-we-experience-entertainment-ba1895828b4f" rel="nofollow noreferrer">Virtual Live Events: Revolutionizing the Way We Experience Entertainment</a></li>
  <li><a href="https://blog.ossrs.io/easily-stream-your-rtsp-ip-camera-to-youtube-twitch-or-facebook-c078db917149" rel="nofollow noreferrer">Easily Stream Your RTSP IP Camera to YouTube, Twitch, or Facebook</a></li>
  </ul>
  <p>Streaming solutions need to support specific business scenarios. We welcome your feedback to continuously improve SRS Stack.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-10-23T01:33:35.570Z
Answers.LastActivityDate: 2023-10-23T01:39:16.180Z
Answers.LastEditDate: 2023-10-23T01:39:16.180Z
Answers.UserDisplayName: Winlin
Answers.Body: <p>It varies a little from one server to another, but the basic components are an encoder/streaming client on the local client that takes input from the camera and turns it in to a stream that can be sent to the stream server on the VPS.  </p>
  
  <p>The job of the stream server (such as Red5) is then to provide a publishing point that relays the stream to viewers.  The streaming server can either pull from the client or the client can push to a target location on the stream server in order to provide content to the publishing point.</p>
  
  <p>Each viewer then connects to the published RTMP stream on the streaming server and is provided with a copy of the stream that is being uploaded.  Note that every copy has to be sent out separately unless you are on a private network where you can use multicast, so bandwidth needs rise quickly, though it should be possible to do 50 SD or lower quality streams from a single VPS provided it has a reliable 100Mbps connection.</p>
  
  <p>The website simply contains a viewer that hooks up to the RTMP (or similar) stream and is actually operating client side, not server side.</p>
  
  <p><strong>So to quickly recap, client uploads to back end of streaming server, streaming server replicates out to every viewer requesting to watch it and the web server simply gives users a client side viewer that connects to the video stream.</strong></p>
  
  <p>To briefly hit on what each one of the component you mentioned.</p>
  
  <ul>
  <li><strong>RTMP</strong> is real time media protocol, which is a common streaming protocol used for actually relaying the video stream content.</li>
  <li><strong>Red5</strong> is a fairly popular free streaming media server software used for replicating out RTMP and similar media streams to clients.</li>
  <li><strong>Wowza</strong> is another streaming media server software, however it is a commercial, paid software product.  If you are limited to free software, Wowza is not an option.</li>
  <li><strong>FFMpeg</strong> is a popular open source video encoder.  It runs on the client and can be configured to publish a stream that can be sent to Red5 or similar streaming media server.</li>
  </ul>
  
  <p>Additionally, you will need an end-point viewer capable of consuming the stream.  Software like Windows Media Player or Quicktime should be able to view a stream, but it is often best to include an embedded cross platform player in the website that people are going to for the stream.  There are many options for this component with different strengths and weaknesses, but any should work for your purposes.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2014-04-29T15:33:56.623Z
Answers.LastActivityDate: 2014-04-29T15:33:56.623Z
Answers.UserDisplayName: AJ Henderson
Body: <p>I've been looking at a million resources and I can't find a definitive answer to this. </p>
  
  <p>I'm looking to do a small scale (max 50 viewers possibly), low quality live video stream, with nothing but my existing equipment (mac and firewire camera), a low end ubuntu vps and free software. Stream from the mac and host the stream on a website on the vps.</p>
  
  <p>I don't want to use services like justin.tv or ustream because the advertising is very intrusive, and I'd also like to learn how to do it myself. 
  I have some server admin skills, but this is a new world to me, and I can't make sense of how all the pieces fit together. I spent all night reading about rtmp, rec5, wowza, ffmpeg and now i don't understand anything at all. </p>
  
  <p>Can someone give me possible workflows to piece the 3 parts together?ie, streaming from local computer, receiving in vps, broadcasting on website. </p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2014-09-22T15:37:53.953Z
Comments.Text: If you can use .net and wouldnt mind rtsp then check out net7mma.codeplex.com
Comments.UserDisplayName: Jay
Tags: <ffmpeg><streaming><broadcasting><rtmp>
Title: How to do a video live stream through a VPS?
UserDisplayName: takosuke
ThreadText: # How to do a video live stream through a VPS?
  
  (Asked by: username_0 on 2014-04-29)
  
  I've been looking at a million resources and I can't find a definitive answer to this.
  
  I'm looking to do a small scale (max 50 viewers possibly), low quality live video stream, with nothing but my existing equipment (mac and firewire camera), a low end ubuntu vps and free software. Stream from the mac and host the stream on a website on the vps.
  
  I don't want to use services like justin.tv or ustream because the advertising is very intrusive, and I'd also like to learn how to do it myself.
  I have some server admin skills, but this is a new world to me, and I can't make sense of how all the pieces fit together. I spent all night reading about rtmp, rec5, wowza, ffmpeg and now i don't understand anything at all.
  
  Can someone give me possible workflows to piece the 3 parts together?ie, streaming from local computer, receiving in vps, broadcasting on website.
  
  **Tags:** ffmpeg, streaming, broadcasting, rtmp
  
  > **Comments:**
  > **username_1**: If you can use .net and wouldnt mind rtsp then check out net7mma.codeplex.com  
  
  ---
  
  ## 3 answers
  
  ### Answer by username_3 on 2014-04-29. Score: 3 | Accepted answer
  
  It varies a little from one server to another, but the basic components are an encoder/streaming client on the local client that takes input from the camera and turns it in to a stream that can be sent to the stream server on the VPS.
  
  The job of the stream server (such as Red5) is then to provide a publishing point that relays the stream to viewers. The streaming server can either pull from the client or the client can push to a target location on the stream server in order to provide content to the publishing point.
  
  Each viewer then connects to the published RTMP stream on the streaming server and is provided with a copy of the stream that is being uploaded. Note that every copy has to be sent out separately unless you are on a private network where you can use multicast, so bandwidth needs rise quickly, though it should be possible to do 50 SD or lower quality streams from a single VPS provided it has a reliable 100Mbps connection.
  
  The website simply contains a viewer that hooks up to the RTMP (or similar) stream and is actually operating client side, not server side.
  
  **So to quickly recap, client uploads to back end of streaming server, streaming server replicates out to every viewer requesting to watch it and the web server simply gives users a client side viewer that connects to the video stream.**
  
  To briefly hit on what each one of the component you mentioned.
  
  * **RTMP** is real time media protocol, which is a common streaming protocol used for actually relaying the video stream content.
  * **Red5** is a fairly popular free streaming media server software used for replicating out RTMP and similar media streams to clients.
  * **Wowza** is another streaming media server software, however it is a commercial, paid software product. If you are limited to free software, Wowza is not an option.
  * **FFMpeg** is a popular open source video encoder. It runs on the client and can be configured to publish a stream that can be sent to Red5 or similar streaming media server.
  
  Additionally, you will need an end-point viewer capable of consuming the stream. Software like Windows Media Player or Quicktime should be able to view a stream, but it is often best to include an embedded cross platform player in the website that people are going to for the stream. There are many options for this component with different strengths and weaknesses, but any should work for your purposes.
  
  
  ---
  
  ### Answer by username_0 on 2014-05-03. Score: 2
  
  There's another free, more lightweight alternative to wowza and red5 - the nginx-rtmp-module, which frees you from messing around with java
  
  <https://github.com/arut/nginx-rtmp-module/>
  
  and here's a guide to set it up with the free Open Broadcaster Software (which unfortunately is windows only)
  <https://obsproject.com/forum/resources/how-to-set-up-your-own-private-rtmp-server-using-nginx.50/>
  
  For the streaming user end, the only decent free solution I've found for OSX is Adobe Flash Media Live Encoder.
  
  So, a free and relatively lightweight pipeline for streaming from osx would be
  
  **Camtwist and Soundflower for capturing**
  
  **Adobe Flash Media Live Encoder for streaming RTMP to the vps (or Open Broadcaster Software on windows)**
  
  **An ubuntu vps running nginx with the nginx-rtmp-module (needs to be built from source)**
  
  **Embed the stream on a website with something like JWPlayer**
  
  
  ---
  
  ### Answer by username_2 on 2023-10-23. Score: 0
  
  In addition to the mentioned Red5 and Wowza, there have been new protocols and media servers introduced in the past decade. For example, SRT/RIST is widely used in streaming and broadcasting, WebRTC/WHIP has replaced Flash for web streaming, and new codecs like H.265 and AV1 are becoming more popular. The new media server [SRS](https://github.com/ossrs/srs) supports these protocols well and works well with clients.
  
  Streaming servers need to support various streaming protocols, such as RTMP, SRT, HLS, HTTP-FLV, WebRTC, DASH, etc. They also need to support protocol conversion, like converting RTMP to HLS or WebRTC, and WebRTC to RTMP or HLS. This is because, during streaming, OBS might use RTMP or SRT, or a web page might use WebRTC, while viewers may require HLS or WebRTC. Modern streaming servers have the capability to perform these protocol conversions.
  
  In fact, streaming solutions not only include media servers like SRS and clients like FFmpeg, OBS, and WebRTC, but also essential features such as authentication, recording, re-streaming, and transcoding. These features require a combination of multiple open-source projects, working together with servers and clients. [SRS Stack](https://github.com/ossrs/srs-stack) is designed to address this issue.
  
  SRS Stack is a more suitable solution for you, which can be deployed on a VPS or started directly using Docker. You can refer to the following documentation:
  
  * [How to Setup a Video Streaming Service by 1-Click](https://blog.ossrs.io/how-to-setup-a-video-streaming-service-by-1-click-e9fe6f314ac6)
  * [How to Publish Your SRS Livestream Through WordPress](https://blog.ossrs.io/publish-your-srs-livestream-through-wordpress-ec18dfae7d6f)
  * [Maximize Your Live Streaming Reach: A Guide to Multi-Platform Streaming](https://blog.ossrs.io/maximize-your-live-streaming-reach-a-guide-to-multi-platform-streaming-38be22beec57)
  * [How to Record Live Streaming to MP4 File](https://blog.ossrs.io/how-to-record-live-streaming-to-mp4-file-2aa792c35b25)
  * [Virtual Live Events: Revolutionizing the Way We Experience Entertainment](https://blog.ossrs.io/virtual-live-events-revolutionizing-the-way-we-experience-entertainment-ba1895828b4f)
  * [Easily Stream Your RTSP IP Camera to YouTube, Twitch, or Facebook](https://blog.ossrs.io/easily-stream-your-rtsp-ip-camera-to-youtube-twitch-or-facebook-c078db917149)
  
  Streaming solutions need to support specific business scenarios. We welcome your feedback to continuously improve SRS Stack.
  
  
  ---
  
  