External, stand-alone player such as Windows Media Player and Apple's QuickTime player require a user to enter the address of a stream to view it. This adds complexity that most users don't need! VBrick StreamPlayer provides a multicast viewing guide, but this is useless for the public Internet. Further, video in a web page provides great flexibility...you can easily customize the graphics that might wrap around a player, add text and links, adjust the size, and perform advanced functions.
It is easy to view video over the Internet directly from the VBrick MPEG-4 appliance. In this brief tutorial, we will use VBrick's StreamPlayer technology embedded in a web page.
For embedded video, StreamPlayer is not a "player" at all -- it is a special plug-in ("source filters and decoders") for Windows Media Player. When you embed Windows Media Player and open a VBrick URL, the MPEG-4 video plays. In fact, as long as a viewer's computer has the plug-in installed, you can use most of the Windows Media Player methods, including .asx play lists.
The first thing you must do is ensure the viewer's Windows computer has the necessary VBrick plug-in. Simply include the following on any web page that will display MPEG-4 video:
The above will cause the VBrick component to be installed on the viewer's
computer. The user's IE browser must be set to allow signed ActiveX
controls to be installed and run. If the user's computer already has the
plug-in installed, nothing will happen. If they don't already have it, it
will be installed. Download time is just a few moments, depending on
connection speed. Windows Media Player does not support standard MPEG-4, and
the player does not know how to "talk" to multi-vendor MPEG-4 servers.
The VBrick plug-in adds this capability. You will use "vbrtsp" instead
of "rtsp" to display MPEG-4 video. Cut and paste the following to your
web page:
To view this video, click here. You can easily script the player, allowing the user to select videos, set
preferences, etc. Here is an example of a player with external buttons and
a dropdown selection list. Cut and paste this into a web page: To view this video click here. The VBrick MPEG-4 video is ideally sent to the player from the
VBrick via User
Datagram Protocol (UDP). The player makes a request to the VBrick on port 554,
and the VBrick streams the audio/video to the first player on UDP ports 6970, 6971,
6972 and 6973. For this reason, any firewalls in the path must be open for
port 554 and at least 6970-6973. Unfortunately, many firewalls block all UDP by
default. To view the video, the user's firewall must be reconfigured --
sometimes this is an impossible prospect because IT managers will ask you to
prove the impossible: "Prove to me that nothing bad will ever happen if I
open these ports in the corporate firewall". VBrick appliance firmware version 3.1 and above supports HTTP
tunneling. With HTTP tunneling, the streams can be sent via
HTTP on port 80 or other defined port, thereby getting though most firewalls.
If using HTTP tunneling, you can include the port in your URL, for example "vbrtsp://123.123.123.123:80/myvideo".
StreamPlayer (version 4.2) will
automatically negotiate and select HTTP tunneling if UDP fails. One VBrick can webcast up to 200 simultaneous viewers on the
public Internet, up to a total of about 50 Mbps (VBrick firmware
version 3.1 and above). If your audio/video is set to 300 Kbps, ten
viewers will require 3000 Kbps (3 Mbps) and 100 viewers will require 30000 Kbps
(30 Mbps). This may be more Internet access bandwidth than you have
available. If so, you may send your video to a "reflector"
(see below). The VBrick appliance allows you to limit the number of
viewers. You can do this by setting the maximum number of simultaneous
viewers or the maximum allowable bandwidth. Viewers that exceed this
setting will be denied access and your web page might simply warn: "If you
cannot view the video, the system may be at capacity. Please try again
later". A VBrick MPEG-4 appliance is not just an
"encoder"...it is a full multifunction server! As with any
server, it must be accessible to the clients it seeks to serve. Therefore,
if you wish to deliver audio/video from a VBrick directly to Internet clients,
the VBrick must be on an "outside" address, or NAT'ed to an outside
address. VBrick appliances are not Windows or Linux servers!! They
are virtually immune to viruses or worms and are very safe to locate on an
outside address (although you will want to give them a strong
username/password). If your VBrick includes the VBSTAR option (internal hard
disk), you do not even need an additional web server! You can build and
upload all web pages directly to your VBrick server and allow it to deliver the
viewing pages directly. There are example pages and instructions elsewhere
on www.videoalive.com. Rather than serving viewers directly from the VBrick
appliance, you can send one stream to a reflector server and have that reflector
server deliver the streams to your viewers. The advantage of this approach
is that you do not need high bandwidth at your encoding location. Another
important advantage is that your source VBrick does not need to be on an
"outside" address and my be NAT'ed. You can host your own reflector server by configuring
Apple's free Darwin Server. Configure your VBrick to unicast to this
server, create a SDP file by pressing the "Get SDP" button on your
VBrick management interface, and place this SDP file on your server. You
then code your player with the IP address of the reflector server rather than
the VBrick server. Obviously, your reflector server must have adequate
bandwidth to deliver (reflect) streams your desired number of viewers. Public reflector service is available from PowerStream (http://vbrick.powerstream.net).
Their servers have very high speed Internet access and their service
automatically uploads the SDP from your VBrick. This is a very
cost-effective and convenient service to deliver video to thousands of viewers
on the public Internet. The following live video streams are available for testing
your embedded video player code.
URL
Description
vbrtsp://64.251.63.239/webcast
VBrick Fish