NAME
dvbstream - Transmit a DVB transport stream via RTP
SYNOPSIS
dvbstream [ -f freq] [ -p vh] [ -s symbolrate] [ -c cardnum] [ -o ] [
-ps ] [ -i ipaddr ] [ -r port] [-a apid] [ -v vpid] p -t ttpid] [-n
secs ] [ pid1 ... ]
DESCRIPTION
dvbstream takes a TS (transport stream) from A DVB (Digital Video
Broadcast, either DVB-S for satellite cards, DVB-C for cable, or DVB-T
for terrestrial) and broadcasts (a subset of) it over a LAN using the
RTP protocol.
Some options are not available on Budget DVB cards.
OPTIONS
-f The Frequency to tune into, in MHz.
-p, v|h
The polarisation; either h (horizontal) or v (vertical).
-s symbolrate
The symbol rate of the DVB stream, typically 27500.
-c cardnum
Select which DVB card to use. The cardnum must be between 0 and
3.
-a apid
Select which audio PID to output on the TV-OUT of the DVB card
(Full cards only).
-v vpid
Select which video PID to output on the TV-OUT of the DVB card
(Full cards only).
-t ttpid
Select which Teletext PID to output on the TV-OUT of the
DVB card (Full cards only). -n secs Timeout and shut
down after secs seconds.
-ps Output a PS rather than a (default) PES stream.
-o Output to stdout rather than broadcast.
-i ipaddr
IP Multicast port to output to (default is
224.0.1.2)
-r port
IP multicast port to outpu to (default is 5004).
SERVER USAGE
If you wanted to broadcast TVC International from Astra
19E, you would type the following command:
dvbstream -f 12441 -p v -s 27500 512 660
You can specify up to 8 PIDs on the command-line to
include in the multicasted transport stream. A 10MBit/s
network should be able to handle one video and one audio
stream, or eight audio streams.
If you also want to view the TV channel on the TV-OUT of
your DVB-S card (or using xawtv or similar), then you can
use the "-v" and "-a" flags before the video and audio
PIDs respectively:
dvbstream -f 12441 -p v -s 27500 -v 512 -a 660
dvbstream also has the ability to map PIDS to different
values before you stream it. For example, if you type
dvbstream -f 12441 -p v -s 27500 -v 512:1 -a 660:2
then the video stream will become "PID 1" and the audio
stream will become "PID 2".
Also, with driver versions from October 2001 onwards, you
can broadcast the entire transport stream (if you are
using a budget card) with the command:
dvbstream 8192
8192 is a "dummy PID" (legal PIDS are in the range
0-8191) and the driver interprets this to mean the entire
TS. Obviously, it would make no sense to use the map
feature on this "pid".
CLIENT USAGE
To receive the stream on any other machine on your LAN,
use the dumprtp utility (from ts-rtp). An slightly
improved version is included in this archive. e.g.
dumprtp > received.ts
If you have a DVB card on the second machine, you can use
the rtpfeed command to decode the stream. Type "rtpfeed
-h" for usage information. rtpfeed was written by
Guenter Wildmann <a8909020@unet.univie.ac.at> - please
address any bugs or comments to Guenter.
If you don’t have a DVB card on the client machine, You
can use mpg123 and the mpegtools provided with the DVB
driver for live audio decoding:
dumprtp | ts2es apid | mpg123 -
This command line is included with dvbstream as the
"rtpradio.sh" script.
If you only want audio, you can run dvbstream with eight
audio PIDs, and then your clients can choose which PID to
play.
For live TV channel playing, the best solution I have
found is mplayer (http://www.mplayerhq.hu). Please
install the latest CVS version - mplayer is being rapidly
improved.
You can then view TV being streamed over the network
using the following command:
dumprtp | ts2ps vpid apid | mplayer -cache 2048 -
This command line is included with dvbstream as the
"rtptv.sh" script.
MPLAYER RTP-PS SUPPORT
The file "mplayer-libmpdemux-network.c.patch" contains a
patch for the current (31 Jan 2001) CVS version of
mplayer to "enable" the experimental RTP support. To
apply it, check out a fresh copy of mplayer using and
change into the "main/libmpdemux" directory.
Then apply the command:
patch <
/path_to/dvbstream-0.4pre2/mplayer-libmpdemux-network.c.patch
You can then build mplayer as normal. To receive a RTP
stream broadcast with dvbstream’s "-ps" option, you just
need to type the following command on the client machine:
mplayer rtp://224.0.1.2:5004/ -cache 2048
TELNET INTERFACE
From v0.4 onwards, DVBstream incorporates a "telnet"
interface to allow you to remotely start and stop the
streaming, and tune the card to a different channel.
The following commands are supported:
TUNE freq pol srate STOP ADDV pid[:map] ADDA pid[:map]
ADDT pid[:map] ADD pid[:map] QUIT
STOP closes down all PIDs and stops the streaming. The
other commands should be self-explanatory. See the
scripts in the TELNET directory for example usage. x
HISTORY
dvbstream fixes a number of bugs that were present in the
original ts-rtp application.
SEE ALSO
rtpfeed(1), dumprtp(1), and ts2es(1)
AUTHORS
dvbstream was written by Dave Chapman
<dave@dchapman.com> 2001, 2002. and is made available
under the GNU Public License.
This man page was written by Alastair McKinstry,
<mckinstry@computer.org>.