|
vobStreamerTM
- a network DVD player application
Stream your DVD content over a LAN
|
"vobStreamer" is a command-line program that reads the
audio and video tracks from one or more ".vob"
files (e.g., from a DVD), and streams them - via multicast
- using the open standard
RTSP
and
RTP
protocols.
It is best-suited for streaming DVD content over high-bitrate
(wired or wireless)
local-area networks (LANs).
Important note!
This program is intended for
streaming DVDs - such as
'in-house' corporate training videos
and
personal 'home video' DVDs
- whose content you own.
It is not intended for streaming commercial movie DVDs;
these DVDs are encrypted, and "vobStreamer"
is unable to stream them.
(Note that "vobStreamer" contains no decryption,
media decoding, or DVD-specific functionality.)
Please use this application to stream only content that you are legally
permitted to distribute.
Basic operation
The simplest way to run this program is:
vobStreamer foo.vob
where foo.vob is the name of a single VOB file.
Alternatively, the command line can contain the names of more than one
VOB file,
and "vobStreamer" will read through each one, in order.
For example, if your DVD is mounted in the directory "/dev/dvd",
then you can stream the entire DVD by running
vobStreamer /dev/dvd/video_ts/vts_*.vob
(assuming a standard Unix shell).
"vobStreamer" will skip over (and not stream)
any file that it cannot read, or that
contains malformed content (such as encrypted data).
Once reaching the end of the argument file list,
"vobStreamer" will start
again from the beginning of the list.
On starting up, "vobStreamer" creates an internal RTSP server,
and prints out a URL (beginning with "rtsp://") that receiving
media players (on the same multicast-enabled network)
can use to play the stream.
Using a different RTSP server port number
By default, "vobStreamer" uses the default RTSP port number,
554, for its built-in RTSP server.
Most Unix systems, however, require 'root' privileges in order to use
that port number.
To use a different port number, use the
"-p <RTSP-server-port-number>"
option - e.g.,
vobStreamer -p 8554 /dev/dvd/video_ts/vts_*.vob
Receiving and playing the stream
Several existing players are able to receive and play the
video stream only.
These players include
QuickTime Player (with a MPEG-2 decoder plugin),
RealOne (and/or "Helix") Player (ditto),
and
Cisco's IP/TV player.
At present, only two players are
known to be able to receive and play
both audio and video:
Another way to receive both the audio and video stream is to
use the
"openRTSP"
tool, which will record the incoming stream into two files:
one for audio; the other for video.
Streaming over low-bandwidth networks
"vobStreamer" is best-suited for
LANs such as
100 Mbps (or higher) Ethernet.
(802.11a or 802.11g wireless LANs
(but not 802.11b) may also work.)
When streaming over a lower-bandwidth network,
you may wish to use the
"-i"
option.
This option tells "vobStreamer" to transmit only
"I" (i.e., 'key') frames,
which typically occur about twice each second.
With this option, "P" and "B" frames will not be sent.
Note:
If you use "MPlayer" to receive/play an I-frame-only stream,
you should run "MPlayer" with the "-fps 2" option, otherwise it can
get confused about the video stream's actual frame rate.
Other options
To transmit only video
(and not audio), use the
"-v" option.
Similarly, to transmit only audio
(and not video), use the
"-a" option.
(The "-a" option is, of course, another
possible way to use "vobStreamer"
over a low-bandwidth network.)
Source code
This program uses the "RTSPServer",
"MPEGDemux", "MPEGVideoRTPSink",
and
"AC3AudioRTPSink"
(and corresponding 'framer')
modules from the "liveMedia" library,
which is distributed as part of the
"LIVE555 Streaming Media"
source code package.
The source code for the program itself is also bundled with this package,
as the file "vobStreamer.cpp"
in the "testProgs" directory.
See the
"LIVE555 Streaming Media"
documentation
for instructions on how to build this program from source.
Support and customization
If you are interested in seeing new features added to the program
(e.g., support for additional RTP payload formats (codecs)),
or are interested in customizing this program's functionality
and/or embedding it within your own application
or appliance,
please email
support(at)live555.com
To do...
- Add support for optional unicast streaming.
(Note, however, that the existing
"testOnDemandRTSPServer"
test program supports unicast streaming of VOB files.)
- Add support for IPv6.
Summary of command-line options
-a | transmit only the audio stream |
-i | stream only 'key' video frames - i.e., I-frames
(to reduce the output bitrate) |
-p <RTSP-server-port-number> | specify the port number for the built-in RTSP server (default: 554) |
-v | transmit only the video stream |
"LIVE555", "vobStreamer",
and the Live Networks logo are trademarks of
Live Networks, Inc.