Dvbstream: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
(removed references to www.linuxstb.org)
(added a lot)
Line 3: Line 3:
Part of this project are also dvbtune (a simple tune utility list szap/tzap/czap), dvbaudio (a tool for DVB audio recordings) and dvbtextsubs (a package for generating DVD subtitles from a DVB broadcast).
Part of this project are also dvbtune (a simple tune utility list szap/tzap/czap), dvbaudio (a tool for DVB audio recordings) and dvbtextsubs (a package for generating DVD subtitles from a DVB broadcast).


Dvbstream
http://sourceforge.net/projects/dvbtools
* streams one or more PIDs over network
* supports network multicast broadcasting (if that is setup with your kernel), so many can recieve the stream, not only one computer in the network.
* provides a protocol in backwards direction so that the client computer can control the frequency of the DVB card of the server computer and which PIDs get streamed over network
* can also be used to easily write a stream to harddisk (locally, without network usage - see the [[First steps with a budget DVB card]])


==Usage - Server==
After tuning to a transponder, you run dvbstream as follows:

dvbstream pid1 pid2 ... pid8

On the client, use the included dumprtp utility to receive selected PIDs from the multicast:

dumprtp pid1 pid2 > received.ts


==Usage - Client==
To receive the stream on any other machine on your LAN, use the dumprtp utility (included with the dvbstream package, so you'll have to install that also on your client). Easiest usage:
dumprtp > received.ts

If you have a full-featured DVB card on the client machine, you can use the rtpfeed command to decode the stream; type "rtpfeed -h" for usage information.

Otherwise the same restrictions apply as with a system with a [[budget]] DVB card. If you don't have a FF 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 -

Alternatively, you can pipe the dumprtp output to your favourite video player, e.g. gxine:
dumprtp | gxine

It's advisable to cache some data locally if you're in a slow or strongly used network environment, e.g. with mplayer:
mplayer -cache 2048 rtp://224.0.1.2:5004/
But keep in mind that you'll see the goal only seconds after it happened, so you'll hear the neighbours scream before you see it youself...

===PID selection===
If you only want audio, you can run dvbstream with eight audio PIDs,
and then your clients can choose which PID to play. Dvbstream supports up to 8 PIDs, and audio streams have much lower bandwidth so you can stream many of them.


==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.


==See also==
* Some of the text here has been taken from http://cvs.sourceforge.net/viewcvs.py/dvbtools/dvbstream/README?rev=1.4 (by Alastair McKinstry) which stands under a GNU license (the tiny amounts should be fair use anyway).
* http://sourceforge.net/projects/dvbtools


[[Category:Software]]
[[Category:Software]]

Revision as of 23:41, 15 July 2006

dvbstream can broadcast either a (subset of a) DVB transport stream or a DVB program stream over a LAN using the rtp protocol. It attempts to be compliant with RFCs 1889, 1890, 2038 and 2250.

Part of this project are also dvbtune (a simple tune utility list szap/tzap/czap), dvbaudio (a tool for DVB audio recordings) and dvbtextsubs (a package for generating DVD subtitles from a DVB broadcast).

Dvbstream

  • streams one or more PIDs over network
  • supports network multicast broadcasting (if that is setup with your kernel), so many can recieve the stream, not only one computer in the network.
  • provides a protocol in backwards direction so that the client computer can control the frequency of the DVB card of the server computer and which PIDs get streamed over network
  • can also be used to easily write a stream to harddisk (locally, without network usage - see the First steps with a budget DVB card)


Usage - Server

After tuning to a transponder, you run dvbstream as follows:

dvbstream pid1 pid2 ... pid8

On the client, use the included dumprtp utility to receive selected PIDs from the multicast:

dumprtp pid1 pid2 > received.ts


Usage - Client

To receive the stream on any other machine on your LAN, use the dumprtp utility (included with the dvbstream package, so you'll have to install that also on your client). Easiest usage:

 dumprtp > received.ts

If you have a full-featured DVB card on the client machine, you can use the rtpfeed command to decode the stream; type "rtpfeed -h" for usage information.

Otherwise the same restrictions apply as with a system with a budget DVB card. If you don't have a FF 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 -

Alternatively, you can pipe the dumprtp output to your favourite video player, e.g. gxine:

 dumprtp | gxine

It's advisable to cache some data locally if you're in a slow or strongly used network environment, e.g. with mplayer:

 mplayer -cache 2048 rtp://224.0.1.2:5004/

But keep in mind that you'll see the goal only seconds after it happened, so you'll hear the neighbours scream before you see it youself...

PID selection

If you only want audio, you can run dvbstream with eight audio PIDs, and then your clients can choose which PID to play. Dvbstream supports up to 8 PIDs, and audio streams have much lower bandwidth so you can stream many of them.


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.


See also