Tvheadend dvb config revamp » History » Version 15
Andreas Smas, 2012-12-05 10:14
| 1 | 1 | Andreas Smas | There are a few problems with how the TV adapter tab is implemented today |
|---|---|---|---|
| 2 | |||
| 3 | 10 | Andreas Smas | * It cannot handle a large amount of services. With DVB-S you can easily hit >1k services. Ticket #100 |
| 4 | * It's hard (but possible via sorting) to see which services that is transmitted on which mux. |
||
| 5 | * The DVB satconf solution is a bit cumbersome |
||
| 6 | * Updates to the quality meter indicator refreshed the grid in a way that is bad UX. Ticket #108 |
||
| 7 | * If a DVB adapter is renamed by the kernel after boot (/dev/dvb/adapterX -> /dev/dvb/adapterY) the user must do a lot of work |
||
| 8 | * Inter-adapter dependencies are not handled (adapters with both analog and digital receivers, etc) |
||
| 9 | 1 | Andreas Smas | |
| 10 | Therefore the plan is to totally redesign how Tvheadend interacts with hardware. |
||
| 11 | 4 | Andreas Smas | |
| 12 | 10 | Andreas Smas | h1. Device tree |
| 13 | |||
| 14 | |||
| 15 | 3 | Andreas Smas | This tree will present the available devices to the user |
| 16 | 2 | Andreas Smas | |
| 17 | 10 | Andreas Smas | <pre> |
| 18 | 3 | Andreas Smas | + DVB Adapter #1 |
| 19 | | + DVB-C Frontend |
||
| 20 | | |
||
| 21 | + DVB Adapter #2 |
||
| 22 | | + DVB-T Frontend |
||
| 23 | | + DVB-C Frontend |
||
| 24 | | |
||
| 25 | + DVB Adapter #3 |
||
| 26 | | + DVB-S Frontend |
||
| 27 | | | + Switchport 1 |
||
| 28 | | | + Switchport 2 |
||
| 29 | 1 | Andreas Smas | | | + Switchport 3 |
| 30 | 3 | Andreas Smas | | | + Switchport 4 |
| 31 | 1 | Andreas Smas | | | + Switchport n |
| 32 | | + DVB-T Frontend |
||
| 33 | | |
||
| 34 | + V4L Adapter #1 |
||
| 35 | + Tuner |
||
| 36 | + Composite |
||
| 37 | + S-Video |
||
| 38 | 10 | Andreas Smas | </pre> |
| 39 | 1 | Andreas Smas | |
| 40 | Pressing on a node will present the user with information about the entry and a few configuration options as follows: |
||
| 41 | |||
| 42 | 10 | Andreas Smas | |
| 43 | 13 | Andreas Smas | h2. DVB / ATSC Adapter |
| 44 | 12 | Andreas Smas | |
| 45 | 13 | Andreas Smas | h3. Info part |
| 46 | 12 | Andreas Smas | |
| 47 | 1 | Andreas Smas | Various information about the hardware |
| 48 | |||
| 49 | 13 | Andreas Smas | h3. Config part |
| 50 | 1 | Andreas Smas | |
| 51 | 10 | Andreas Smas | * Enable/Disable adapter |
| 52 | |||
| 53 | 1 | Andreas Smas | |
| 54 | 10 | Andreas Smas | |
| 55 | 13 | Andreas Smas | h2. DVB-C / DVB-T / ATSC Frontends |
| 56 | 1 | Andreas Smas | |
| 57 | 13 | Andreas Smas | h3. Info part |
| 58 | 12 | Andreas Smas | |
| 59 | 1 | Andreas Smas | TBD |
| 60 | |||
| 61 | 13 | Andreas Smas | h3. Config part |
| 62 | 1 | Andreas Smas | |
| 63 | 10 | Andreas Smas | * Network the frontend is attached to |
| 64 | 1 | Andreas Smas | * If this device may update network configuration |
| 65 | 10 | Andreas Smas | |
| 66 | |||
| 67 | 11 | Andreas Smas | |
| 68 | 13 | Andreas Smas | h2. DVB-S Frontends |
| 69 | 1 | Andreas Smas | |
| 70 | 13 | Andreas Smas | h3. Info part |
| 71 | 12 | Andreas Smas | |
| 72 | 3 | Andreas Smas | TBD |
| 73 | 10 | Andreas Smas | |
| 74 | 13 | Andreas Smas | h3. Config part |
| 75 | 10 | Andreas Smas | |
| 76 | * Number of Diseqc switchports |
||
| 77 | or |
||
| 78 | * Network the frontend is attached to |
||
| 79 | * If this device may update network configuration |
||
| 80 | 1 | Andreas Smas | * LnB configuration |
| 81 | 10 | Andreas Smas | |
| 82 | 1 | Andreas Smas | |
| 83 | 13 | Andreas Smas | h2. Switchport |
| 84 | 11 | Andreas Smas | |
| 85 | 13 | Andreas Smas | h3. Info part |
| 86 | 12 | Andreas Smas | |
| 87 | 3 | Andreas Smas | TBD |
| 88 | 1 | Andreas Smas | |
| 89 | 13 | Andreas Smas | h3. Config part |
| 90 | 10 | Andreas Smas | |
| 91 | * Network the switchport is attached to |
||
| 92 | * If this device may update network configuration |
||
| 93 | 3 | Andreas Smas | * LnB configuration |
| 94 | |||
| 95 | 1 | Andreas Smas | |
| 96 | |||
| 97 | 13 | Andreas Smas | h2. V4L adpater |
| 98 | 1 | Andreas Smas | |
| 99 | 13 | Andreas Smas | h3. Info part |
| 100 | 12 | Andreas Smas | |
| 101 | 1 | Andreas Smas | Various information about the hardware |
| 102 | 10 | Andreas Smas | |
| 103 | 13 | Andreas Smas | h3. Config part |
| 104 | 10 | Andreas Smas | |
| 105 | 1 | Andreas Smas | * Enable/Disable adapter |
| 106 | |||
| 107 | 10 | Andreas Smas | |
| 108 | 1 | Andreas Smas | |
| 109 | 13 | Andreas Smas | h2. V4L frontends |
| 110 | 12 | Andreas Smas | |
| 111 | 13 | Andreas Smas | h3. Info part |
| 112 | 11 | Andreas Smas | |
| 113 | 1 | Andreas Smas | Various information about the hardware |
| 114 | 4 | Andreas Smas | |
| 115 | 13 | Andreas Smas | h3. Config |
| 116 | 4 | Andreas Smas | |
| 117 | 10 | Andreas Smas | * TV system type (PAL, NTSC, etc) (for tuners) |
| 118 | 1 | Andreas Smas | * Network the frontend is attached to |
| 119 | 10 | Andreas Smas | |
| 120 | 14 | Andreas Smas | h1. DVB Networks |
| 121 | 1 | Andreas Smas | |
| 122 | 14 | Andreas Smas | <pre> |
| 123 | + DVB Network #1 (Comhem Stockholm) <- network |
||
| 124 | | + 290 MHz <- mux |
||
| 125 | | + SVT 1 <- service |
||
| 126 | | | + Video MPEG2 768*576i <- elementary stream |
||
| 127 | | | | Audio MPEG2 Stereo |
||
| 128 | | + SVT 2 |
||
| 129 | | | + Video MPEG2 768*576i |
||
| 130 | | | | Audio MPEG2 Stereo |
||
| 131 | | + 298 MHz |
||
| 132 | | |... |
||
| 133 | </pre> |
||
| 134 | 1 | Andreas Smas | |
| 135 | 15 | Andreas Smas | The DVB networks can then be attached to one or more adapters (DVB-C and DVB-S case) |
| 136 | |||
| 137 | For DVB-S adapters a network could be attached directly to the adapter or to a switchport, etc. This depends a bit on how the adapter is configured. |
||
| 138 | 14 | Andreas Smas | |
| 139 | |||
| 140 | 4 | Andreas Smas | h1. Device mapper |
| 141 | |||
| 142 | |||
| 143 | Upon startup Tvheadend will try to map the available hardware to the adapters as good as it can. |
||
| 144 | |||
| 145 | 10 | Andreas Smas | * device type AND device name AND bus-id AND device path |
| 146 | * device type AND device name AND bus-id |
||
| 147 | * device type AND device name |
||
| 148 | * device type AND bus-id |
||
| 149 | 6 | Andreas Smas | * device type |
| 150 | |||
| 151 | 1 | Andreas Smas | ||device path||Path in filesystem||/dev/dvb/...|| |
| 152 | 10 | Andreas Smas | ||bus-id||Hardware address||Bus 001 Device 004: ID 0ccd:0038 [[TerraTec]] Electronic GmbH Cinergy T2 DVB-T Receiver |
| 153 | ||device-name||Name of device(vendor) as reported via DVB API||ST STV0297 DVB-C|| |
||
| 154 | 1 | Andreas Smas | ||device-type||Frontend type(s)||DVB-T, DVB-C, etc|| |
| 155 | |||
| 156 | It will start will all devices and try rule 1 then all devices that could not be mapped and rule 2, and so on. |
||
| 157 | This will mitigate problems when USB controllers probe devices in different order, etc |
||
| 158 | 10 | Andreas Smas | Also you can swap your DVB hardware to a new one (different vendor) and still have tvheadend map it correctly. |
| 159 | |||
| 160 | If the mapper cannot find a hardware device using the first rule the adapter info/configuration will highlight this |
||
| 161 | 1 | Andreas Smas | and the user will be able to "nail" the configuration to the detected hardware. Ie. to acknowledge to Tvheadend |
| 162 | that: "Yes, this is the correct hardware. I've changed/moved it" or whatever |