Record multiple channels from one multiplex
DVB transmissions are multiplexed Transport Streams containing several data streams (video, audio, epg, eit, ...) identified by PIDs. When you select a TV/Radio program or data service (like EPG, Teletext, IPv4, ...) the necessary PIDs are remuxed into a new data stream which can be handled by your application. In case of a media player one video PID and one or several audio PIDs are muxed into a TS- or PES-container (there can also be timing information like PCR).
The DVB-standard specifies the MPEG2 codec for video and audio. Alternatively AC3 can be used for audio.
As of the high bandwith of DVB multiplexes (up to 90 MBit/s) there is usually more than one TV- or radio-program in a multiplex. In contrast to the Windoze BDA driver, the LinuxDVB kernel driver can also deliver the complete Transport Stream of a multiplex.
By remuxing the TS into more than one new stream other TV applications like VDR can record several TV programs in a DVB multiplex at the same time using only one tuner for the multiplex.
Multiplex recording also allows overlapping of sequent recordings of the same program. That avoids the annoying problem with the end of a broadcast being in the next recording or the beginning of a broadcast being at the end of a previous recording.
This currently can't be done in MythTV.
Contents
Pledge
A pledge to pay a developer who implements this feature has started.
Countries with multiplexed DVB/ATSC transmissions
Africa
Antarctica
Asia
Australia
- ABC and ABC2, with ABC2 repeating much of the ABC content later in the week (great if you run out of tuners)
- SBS with SBS world News
- Digital 44 (Sydney only) - datacasting of news/tab/expo/christian tv/parliament
Europe
- Astra 19.2° and EutelSat 13.0° DVB-S (up to 20 radio or 8 TV programs per transponder/multiplex)
Finland
- All TV stations on DVB-C/-T (up to 6 TV channels per multiplex)
Germany
- All TV stations on DVB-C/-T (4 TV programs per VHF/UHF multiplex)
UK
The UK is made up of 6 multiplexes. As you can see below, with only 6 tuners you could have quite an incredible MythTV recording platform.
Mux 1 | Mux 2 | Mux A | Mux B | Mux C | Mux D |
BBC ONE | ITV1 | abc1 | 301 | E4+1 | Film4 |
BBC TWO | ITV2 | bid tv | 302 / Community | Sky Sports | Ideal World |
BBC THREE | ITV3 | Five | 305 | Sky Sports News | ITV Play |
BBC NEWS 24 / CBBC | CITV | Five Life | BBC FOUR / CBeebies | Sky Three | The HITS |
Channel 4 | Five US | BBC News Multiscreen | UKTV History / smileTV | TMF | |
E4 | price-drop tv | BBC Parliment | UKTV Bright Ideas / f tn | ||
More 4 | QVC | ||||
Quiz Call | Teachers' TV |
Netherlands
- TV stations on the Digitenne network DVB-T (multiple TV programs per multiplex, all FTA public channels on one multiplex)
In addition, there are a large number of radio stations.
The full list can be found here: [1]
Feel free to reformat or move the above data if you feel it's too big or not relevant for this page.
North America
Digital cable transmissions are multiplexed. The standard encoding appears to be QAM-256 for unencrypted channels. Usually there are also lots of audio only channels multiplexed into the stream, so each frequency can have a number of streams. Maximum for one frequency with Rogers cable in the Toronto area appears to be 14 streams on one frequency...a mixture of unencrypted video+audio, audio and encrypted HD.
Rogers has a total of 424 streams!
An example dvbscan output:
Unique name:frequency:modulation: video id: audio id: serviceid (pid)
- dumping lists (424 services)
[076e]:513000000:QAM_256:26:27:1902 [0773]:513000000:QAM_256:29:30:1907 [0774]:513000000:QAM_256:18:19:1908 [0776]:513000000:QAM_256:32:33:1910 [0775]:513000000:QAM_256:37:40:1909 [0778]:513000000:QAM_256:51:52:1912 [0779]:513000000:QAM_256:53:56:1913 [07b3]:519000000:QAM_256:21:24:1971 [07b5]:519000000:QAM_256:41:42:1973 [07b6]:519000000:QAM_256:43:44:1974 [07b7]:519000000:QAM_256:46:47:1975 [07b2]:519000000:QAM_256:49:50:1970
South America
Discussions
Please read these discussions, and the Trac ticket thoroughly before starting a new discussion about the subject on the mailing list.
- is mythtv smart enough to do this with recordings? thread on mailing list
- One mux, multiple channels - status? thread on mailing list
- Recording 2 channels on same multiplex (HDHomerun) thread on mailing list
- Record >1 channel per multiplex? thread on mailing list
- Handle multiple DVB channels simultaneously from a single multiplex thread on mailing list.
- Trac ticket
If someone has time, it would be great if the ideas in these threads and the ticket could be summarised?
Documentation
Software Engineering
Analysis Phase
Current state:
MythTV does not support multiplex reception
Goal:
Multiplex reception
Design Phase
FAQ:
Q: How to get several recordings from one multiplex?
A: Grab the complete Transport Stream from a DVB/ATSC device into a ringbuffer and demux it into several MPEG streams.
Q: Does it make sense to store the TS on harddisk instead of using a ringbuffer?
A: No, unless you can afford 40 GByte diskspace per recording hour (DVB-S multiplexes can have bitrates up to 90 MBit/s).
Q: Is it possible to record encrypted and decode the recording offline/later?
A: In theory, yes. Practically NOT.
- The decoding is done by CAM modules with smartcards.
- The CAM modules use a extended PCMCIA interface with special wiring.
- You need a kernel driver for the CAMs.
- Also consider the high load for the PCI/PCMCIA interface.
- Legal issues in most countries.
Q: How to prevent MythTV-backend crashes by broken Transport Streams?
A:
- Validate Transport Stream by defining preconditions in the TS remuxer
- Fork a transport stream demuxer process for each recording.
- Make sure to handle process signals correctly (no zombies)!
Q: How to handle multiplexes in the recording scheduler?
A: Use source type (DVB-C/-S/-T), frequency (DVB-C/-S/-T) and polarisation (DVB-S) to identify programs on the same multiplex.
Q: How to adapt the recording scheduler for multiplex recordings?
A: A simple Solutuion for this is in the Ticket in Track about this feature. This is not the full Solution, but it works.
Implementation Phase
Far, far away ...
Testing Phase
Testing by SVN-Users ;-)