DVBSTREAM(1)

✨ NAME ✨

okay so, bestie, let me put you on: this is dvbstream, the section 1 command that transmits a DVB transport stream via RTP. it's giving "your TV signal, but make it network" πŸ’–


πŸŽ€ 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 πŸ’–

so here's the vibe: dvbstream takes a TS (transport stream) from a DVB (Digital Video Broadcast β€” and yes, that's DVB-S for satellite cards, DVB-C for cable, or DVB-T for terrestrial, cover all the letters girlie ✨) and broadcasts (a subset of) it over a LAN using the RTP protocol. lowkey iconic.

heads up bestie: some options are not available on Budget DVB cards. know your card, okay? πŸ’€

πŸ‘‘ OPTIONS πŸ‘‘

  • -f β€” the Frequency to tune into, in MHz. ✨
  • -p, v|h β€” the polarisation; either h (horizontal) or v (vertical). pick your vibe πŸ’…
  • -s symbolrate β€” the symbol rate of the DVB stream, typically 27500.
  • -c cardnum β€” select which DVB card to use. the cardnum has to be between 0 and 3. no rogue cards allowed πŸŽ€
  • -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. (in the original this one is glued onto the end of the -t entry, but it's its own flag, iykyk 🫢)
  • -ps β€” Output a PS rather than a (default) PES stream.
  • -o β€” Output to stdout rather than broadcast. main character energy, no network required πŸ’–
  • -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). and yes the original literally says "outpu to" β€” not me fixing it, periodt 😭

🌈 SERVER USAGE 🌈

say 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. slay, but respect the bandwidth bestie πŸ¦‹

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". glow-up for your PIDs πŸ’…

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". don't do it, it's giving nonsense πŸ™ˆ


πŸ¦‹ CLIENT USAGE πŸ¦‹

to receive the stream on any other machine on your LAN, use the dumprtp utility (from ts-rtp). a 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. radio era πŸ’–

if you only want audio, you can run dvbstream with eight audio PIDs, and then your clients can choose which PID to play. choose-your-own-adventure but make it audio ✨

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. bestie it is so fast-moving, keep up 🌸

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. (yes, "using and change into" β€” that's what it says, I don't make the rules πŸ’€)

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. remote control era, obsessed πŸ‘‘

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. and yeah, there's a lone x dangling at the end of that paragraph in the original β€” no cap, I'm leaving it right here where it lives: x 😭


🌸 HISTORY 🌸

dvbstream fixes a number of bugs that were present in the original ts-rtp application. glow-up arc complete πŸ’–


⭐ 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 General Public License. 🫢

this man page was written by Alastair McKinstry, <mckinstry@computer.org>.


and that's the whole thing bestie, Linux flavour, dated 4 March 2005 β€” literally two decades of slay in one page. stream responsibly, hydrate, and may your PIDs always be legal πŸ’–βœ¨πŸŽ€πŸ¦‹πŸŒΈπŸ’