Private Video Streaming

What is Private Video Streaming?

Private Video Streaming is a feature of Sc2gears which allows everyone to start their own video stream with 1 click!

Private Video Streaming is available in the Tools menu.

Google Ads

Description

Sc2gears' Private Video Streaming is unique in many ways.

First, it's very easy to use. You can start streaming with 1 click! On the Private Video Streaming window you can change all kinds of parameters of the video stream and you can see streaming statistics while you stream.

The private streaming does not require registration to any server, and it does not require clients (the viewers) to download and install any software (not even Sc2gears).

When Private streaming is started, your computer will broadcast the stream to all clients. This is a big difference compared to streaming services where there is a central broadcaster server.

I have implemented a specialized HTTP server for this purpose. Clients can view the video stream from any browser. The client interface (which is a web page) does not require any plugins (not even Flash plugin), which means clients can start viewing the stream from ANY platform, even from CELL PHONES!

On the Private Video Streaming window you can customize the video stream. You can give a name and a description which will appear on the streaming web page. You can set a password to protect your stream from those who know you stream but you don't want them to give access. You can stream your full screen or just a custom area. As the output you can stream with the original size, select from many standard video sizes or you can resize it to the size of your choice (either keeping the aspect ratio or distorted). You can specify the video refresh rate (FPS), and you can specify the server port to stream on. And finally you can specify the video image quality from very low quality to maximum (where you will see no difference from the original picture). This image quality has great impact on the video size (outgoing bandwidth).

There is built-in support to save the streaming video as an AVI file. The saved video file can be opened with any movie players or can be uploaded to YouTube. Saved AVI size limit: 4GB (due to AVI format; if the AVI file reaches 4GB, further video data will not be written to prevent video file corruption).

The Private Video Streaming window also calculates and shows you streaming statistics while streaming. These include streaming time, frames captured, average refresh rate, average frame size, average video size (per second), total frame size, frames transmitted, total outgoing bandwidth and saved AVI size (in case you're saving the stream video).

You can see a table of stream viewers. The table includes all viewers since the start of streaming including those who are not viewing anymore. The table lists the viewer's IP address, frames sent, outgoing bandwidth and the number of bad password attempts.

On the client web page you can pause/resume playing and zoom the video stream. The client web page listens to the video stream parameters and automatically reloads if stream parameters are changed.

The stream is video only, no sound is broadcasted.

The Streaming server component does not pose any security risk, because I have developed a specialized HTTP server which is only capable of serving the streaming web page components and the video stream and nothing else. The internal streaming server runs only if private video streaming is in progress, the server is stopped immediately when the streaming is stopped.

Tips

1) You should always set the stream name and stream description so clients will always know who you are and what are streaming right now.

2) You should always set the output video size to something other than the original size. Streaming the full screen with original size consumes an enormous outgoing bandwidth. And even if you have big outgoing bandwidth, the clients might not have the required incoming bandwidth (especially if we talk abut cell phone clients).

3) If your computer is not able to perform the refresh rate (FPS) you specified (you can see this in the Streaming Statistics), decrease the refresh rate so clients will try to download less video data.

4) Lower image quality is still quite acceptable if you stream a game for example, and at the same time it can greatly reduce outgoing bandwidth. Play a little with the quality to find an optimal value for you.

5) You can decrease your outgoing bandwidth in several ways: stream only a custom area of your screen, decrease output video size, decrease the refresh rate (FPS), decrease image quality.

6) If you want to stream your full screen, you can increase the reachable FPS if you switch to a lower screen resolution (but this may not be feasible to many...).

7) The stream viewing web page does not uses any plugins, it's assembled from basic HTML components. That is, always use the latest version of your browser which will be faster and you will achieve smoother video on the client side.

8) If you want to watch the video stream full screen, select "Full Window" zoom value on the streaming web page and enter browser full screen mode (F11 key).

Notes: The video encoding is optimized for pictures and not for text. So if you stream your OS window, you might find a certain video size+image quality bad, but if you stream an SC2 game or a movie with the same parameters, you will find it a lot less disturbing.

Streaming issues

Since in private video streaming your computer is the broadcaster server, the clients must be able to access it.

The most common issue is a local firewall or anti-virus software which can shield your computer and not allow incoming connections (therefore block clients). Be sure to enable Sc2gears (javaw.exe) in your firewall to be able to receive incoming connections. Also allow the server port you select for streaming in your firewall.

The next common issue is a router or proxy server your computer might be behind. Your external IP (visible from the internet) might not be the same as your local IP address. You have to share a streaming URL with your clients which contains your external IP address and the port your router/proxy server is configured to. Check your external IP address here.

If clients outside from your local or home network wants to view your stream, your router or proxy server must be configured to allow incoming connections and to route them to your computer (your local IP + selected server port).