Project

General

Profile

Tvheadend internals » History » Version 8

Andreas Smas, 2009-12-15 19:49

1 3 Andreas Smas
= Tvheadend technical overview =
2
3 1 Andreas Smas
This page is very much work-in-progress.
4
5
= Nomenclature =
6
7
=== Channel ===
8
9
A channel is what's typically perceived as a TV-channel by ordinary people. A channel will receive data from one or many Transports. If Tvheadend has multiple DVB adapters, connected to the same or different networks, where the same channel exists, multiple transports will map to the same channel.
10
11
see: channel.[ch]
12
13 6 Andreas Smas
=== Service / Transport ===
14 1 Andreas Smas
15 6 Andreas Smas
A Service / Transport is a specific source for a channel.
16 1 Andreas Smas
17 6 Andreas Smas
The term service and transport is used interchangeably in Tvheadend. ie. It's the same thing. This is something that should be fixed in the future.
18
19 1 Andreas Smas
see: transport.[ch]
20
21
=== Multiplex ===
22
23 6 Andreas Smas
A Multiplex is analogous to a DVB MPEG Transport Stream. For a given Adapter, only one Multiplex can be received (i.e tuned) at the same time. A DVB Multiplex carries a number of services.
24
However, all services/transports on that particular multiplex can be decoded and fed further into Tvheadend.
25 1 Andreas Smas
26
see: dvb/dvb_multiplex.[ch]
27
28
=== Adapter ===
29
30
Represents a piece of hardware.
31
32
see: dvb/dvb_adapter.[ch]
33
34
=== Subscription ===
35
36
This is what temporary binds a transport to a channel when someone wants to receive data from it.
37
38 4 Andreas Smas
All subscriptions are sorted according to weight. Subscriptions with higher weight will outrank lower weighted subscriptions.
39 1 Andreas Smas
40
If two subscriptions competes for the same resource (typically a DVB-adapter in order to tune a specific multiplex) the one with higher with will win.
41
Of course, a lower weighted subscription can "sneak" on a multiplex as long as the higher weighted subscription keeps it tuned.
42 2 Andreas Smas
43
see: subscriptions.[ch]
44 3 Andreas Smas
45
= Locking and concurrency =
46
47
 TBA
48
49 1 Andreas Smas
= Video recording =
50
51 3 Andreas Smas
 TBA
52
53
= Supported codecs =
54
55 6 Andreas Smas
 * MPEG2 Video
56
 * MPEG2 Audio
57
 * H.264
58
 * AC/3
59 7 Andreas Smas
60 8 Andreas Smas
= ExtJS based web interface =
61 7 Andreas Smas
62
Tvheadend currently uses ExtJs 2.2.1. The documentation is located [http://www.extjs.com/deploy/ext-2.2.1/docs/ here]