Streaming de chaînes TNT sur un réseau local » Historique » Version 4
Julien Aubé, 29/09/2011 18:00
1 | 1 | Julien Aubé | h1. Streaming de chaînes TNT sur un réseau local |
---|---|---|---|
2 | 1 | Julien Aubé | |
3 | 4 | Julien Aubé | Cette page explique l'une des installations possible pour diffuser les chaînes de la TNT sur un réseau local, en multicast et HTTP. |
4 | 1 | Julien Aubé | |
5 | 3 | Julien Aubé | *Note*: J'ai ajouté la possibilité de streamer via HTTP car la plupart des points d'accès sans fil 802.11b/g on un comportement délicat en |
6 | 3 | Julien Aubé | cas de trames multicast: Ils réduisent la vitesse de connexion à 1Mbps. |
7 | 1 | Julien Aubé | Ceci est bien sur rédhibitoire pour un flux DVB. |
8 | 1 | Julien Aubé | |
9 | 4 | Julien Aubé | L'idée, dans le cadre d'un FAI, de diffuser les chaînes en HD en multicast dans le réseau interne du FAI (en utilisant l'IGMP-Snooping pour limiter la diffusion aux seuls flux nécessaires), puis au plus près des abonnés, terminer sur une machine qui fait fonctionner udpxy pour mettre à disposition les chaînes en HTTP. |
10 | 1 | Julien Aubé | |
11 | 4 | Julien Aubé | D'abord pour des raisons de compatibilité avec les lecteurs vidéos, mais aussi pour réduire les coûts du matériel chez lâabonné (pas besoin de switch avec IGMP-Snooping par exemple). |
12 | 1 | Julien Aubé | |
13 | 1 | Julien Aubé | |
14 | 4 | Julien Aubé | Dans cet exemple les chaînes en HD ne sont pas diffusées, les chaînes chiffrés non plus. |
15 | 4 | Julien Aubé | |
16 | 4 | Julien Aubé | La bande passante utilisés est de environ 10Mbps lorsque toute les chaînes sont actives. |
17 | 4 | Julien Aubé | |
18 | 3 | Julien Aubé | *Historique* |
19 | 3 | Julien Aubé | |
20 | 3 | Julien Aubé | - Repassé en IPv4 pour la diffusion: Les switchs ne gèrent pas l'IPv6 et MLD, les set-top-box non plus. |
21 | 3 | Julien Aubé | - Ajouté _minisapserver_ pour le stream en multicast |
22 | 3 | Julien Aubé | - Utilisation d'_iproute2_ plutôt que _ifconfig_ |
23 | 3 | Julien Aubé | - Ajout du convertisseur de stream _udpxy_ |
24 | 1 | Julien Aubé | |
25 | 1 | Julien Aubé | h2. Matériel |
26 | 1 | Julien Aubé | |
27 | 1 | Julien Aubé | Il faut: |
28 | 1 | Julien Aubé | |
29 | 1 | Julien Aubé | * Un PC, relativement puissant, sous Linux. J'ai choisi un AMD Fusion E350, avec 8Go de RAM. |
30 | 4 | Julien Aubé | * Autant de tuners TV que de multiplex à diffuser. Sur Cahors, il y a 4 multiplex, j'ai choisi 2 cartes TV double-tuner : Terratec Cinergy T DualRC ( http://www.terratec.net/fr/produkte/Cinergy_T_Stick_Dual_RC_102264.html ). Il est possible d'en ajouter d'autre si nécessaire. |
31 | 1 | Julien Aubé | * Un amplificateur TV muni de autant de sorties que de tuners TV, si possible placé au plus près de l'antenne. Un simple dérivateur dégrade le signal, et les cartes TV n'aiment pas. |
32 | 1 | Julien Aubé | * Je conseille de faire toute l'installation en connecteurs de type "F" (filetés, comme pour le satellite). J'ai simplement utilisé des convertisseurs au niveau de la prise murale, et des cartes TV. La raison, c'est que ces connecteurs sont moins sujets aux vibrations et aux perturbations transitoires. |
33 | 4 | Julien Aubé | * Au niveau réseau , un switch capable de faire de l'IGMP-Snooping (sinon vous avez le risque d'inonder le réseau). |
34 | 1 | Julien Aubé | |
35 | 1 | Julien Aubé | h2. Driver des cartes TV |
36 | 1 | Julien Aubé | |
37 | 4 | Julien Aubé | Pour 4 tuner il vous faut arriver à la situation suivante: |
38 | 1 | Julien Aubé | <pre> |
39 | 1 | Julien Aubé | /dev/dvb/adapter0/demux0 |
40 | 1 | Julien Aubé | /dvr0 |
41 | 1 | Julien Aubé | /frontend0 |
42 | 1 | Julien Aubé | /net0 |
43 | 1 | Julien Aubé | /adapter1/demux0 |
44 | 1 | Julien Aubé | /dvr0 |
45 | 1 | Julien Aubé | /frontend0 |
46 | 1 | Julien Aubé | /net0 |
47 | 1 | Julien Aubé | /adapter2/demux0 |
48 | 1 | Julien Aubé | /dvr0 |
49 | 1 | Julien Aubé | /frontend0 |
50 | 1 | Julien Aubé | /net0 |
51 | 1 | Julien Aubé | /adapter3/demux0 |
52 | 1 | Julien Aubé | /dvr0 |
53 | 1 | Julien Aubé | /frontend0 |
54 | 1 | Julien Aubé | /net0 |
55 | 1 | Julien Aubé | </pre> |
56 | 1 | Julien Aubé | |
57 | 1 | Julien Aubé | Dans le cas des cartes USB de type Terratec Cinergy T DualRC , le driver est _dvb_usb_af9015_ . |
58 | 1 | Julien Aubé | |
59 | 1 | Julien Aubé | Ce driver nécessite un firmware, et après plusieurs essais, le firmware (http://otit.fi/~crope/v4l-dvb/af9015/af9015_firmware_cutter/firmware_files/ ) qui marche le mieux est le 4.65 , à placer dans /lib/firmware/<kernel-version>/dvb-usb-af9015.fw . |
60 | 4 | Julien Aubé | Attention, souvent la distribution *écrase* ce fichier et place une version différente du firmware, ceci crée des bugs bizarres. |
61 | 1 | Julien Aubé | |
62 | 1 | Julien Aubé | Dans /etc/modprobe.d/dvb/cof j'ai placé les options suivantes: |
63 | 1 | Julien Aubé | <pre> |
64 | 1 | Julien Aubé | options dvb_usb_af9015 remote=-1 |
65 | 1 | Julien Aubé | options dvb_usb disable-rc-polling=1 |
66 | 1 | Julien Aubé | options usbcore autosuspend=-1 |
67 | 1 | Julien Aubé | </pre> |
68 | 1 | Julien Aubé | Ceci désactive la télécommande (qui ne marche pas sur ces adaptateurs de toute façon) et évite de flooder les logs, mais aussi désactive la suspension USB , qui fait planter la carte et nécessite un redémarrage à froid. |
69 | 1 | Julien Aubé | |
70 | 1 | Julien Aubé | Une fois que ça marche, j'ai ceci dans les logs: |
71 | 1 | Julien Aubé | |
72 | 1 | Julien Aubé | <pre> |
73 | 1 | Julien Aubé | [ 14.632591] dvb-usb: found a 'TerraTec Cinergy T Stick Dual RC' in cold state, will try to load a firmware |
74 | 1 | Julien Aubé | [ 14.694155] dvb-usb: downloading firmware from file 'dvb-usb-af9015.fw' |
75 | 1 | Julien Aubé | [ 14.762381] dvb-usb: found a 'TerraTec Cinergy T Stick Dual RC' in warm state. |
76 | 1 | Julien Aubé | [ 14.762638] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. |
77 | 1 | Julien Aubé | [ 14.763897] DVB: registering new adapter (TerraTec Cinergy T Stick Dual RC) |
78 | 1 | Julien Aubé | [ 14.827810] af9013: firmware version:4.65.0.0 |
79 | 1 | Julien Aubé | [ 14.834356] DVB: registering adapter 0 frontend 0 (Afatech AF9013 DVB-T)... |
80 | 1 | Julien Aubé | [ 14.846115] mxl5007t 1-00c0: creating new instance |
81 | 1 | Julien Aubé | [ 14.849933] mxl5007t_get_chip_id: unknown rev (3f) |
82 | 1 | Julien Aubé | [ 14.850017] mxl5007t_get_chip_id: MxL5007T detected @ 1-00c0 |
83 | 1 | Julien Aubé | [ 14.852144] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. |
84 | 1 | Julien Aubé | [ 14.852906] DVB: registering new adapter (TerraTec Cinergy T Stick Dual RC) |
85 | 1 | Julien Aubé | [ 15.501354] af9013: found a 'Afatech AF9013 DVB-T' in warm state. |
86 | 1 | Julien Aubé | [ 15.505639] af9013: firmware version:4.65.0.0 |
87 | 1 | Julien Aubé | [ 15.521986] DVB: registering adapter 1 frontend 0 (Afatech AF9013 DVB-T)... |
88 | 1 | Julien Aubé | [ 15.522339] mxl5007t 2-00c0: creating new instance |
89 | 1 | Julien Aubé | [ 15.525602] mxl5007t_get_chip_id: unknown rev (3f) |
90 | 1 | Julien Aubé | [ 15.525687] mxl5007t_get_chip_id: MxL5007T detected @ 2-00c0 |
91 | 1 | Julien Aubé | [ 15.528612] dvb-usb: TerraTec Cinergy T Stick Dual RC successfully initialized and connected. |
92 | 1 | Julien Aubé | [ 15.974156] dvb-usb: found a 'TerraTec Cinergy T Stick Dual RC' in cold state, will try to load a firmware |
93 | 1 | Julien Aubé | [ 15.984388] dvb-usb: downloading firmware from file 'dvb-usb-af9015.fw' |
94 | 1 | Julien Aubé | [ 16.051462] dvb-usb: found a 'TerraTec Cinergy T Stick Dual RC' in warm state. |
95 | 1 | Julien Aubé | [ 16.051719] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. |
96 | 1 | Julien Aubé | [ 16.052967] DVB: registering new adapter (TerraTec Cinergy T Stick Dual RC) |
97 | 1 | Julien Aubé | [ 16.060942] af9013: firmware version:4.65.0.0 |
98 | 1 | Julien Aubé | [ 16.067817] DVB: registering adapter 2 frontend 0 (Afatech AF9013 DVB-T)... |
99 | 1 | Julien Aubé | [ 16.068222] mxl5007t 3-00c0: creating new instance |
100 | 1 | Julien Aubé | [ 16.071530] mxl5007t_get_chip_id: unknown rev (3f) |
101 | 1 | Julien Aubé | [ 16.071615] mxl5007t_get_chip_id: MxL5007T detected @ 3-00c0 |
102 | 1 | Julien Aubé | [ 16.073434] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer. |
103 | 1 | Julien Aubé | [ 16.074030] DVB: registering new adapter (TerraTec Cinergy T Stick Dual RC) |
104 | 1 | Julien Aubé | [ 16.717317] af9013: found a 'Afatech AF9013 DVB-T' in warm state. |
105 | 1 | Julien Aubé | [ 16.721354] af9013: firmware version:4.65.0.0 |
106 | 1 | Julien Aubé | [ 16.737449] DVB: registering adapter 3 frontend 0 (Afatech AF9013 DVB-T)... |
107 | 1 | Julien Aubé | [ 16.737808] mxl5007t 4-00c0: creating new instance |
108 | 1 | Julien Aubé | [ 16.741072] mxl5007t_get_chip_id: unknown rev (3f) |
109 | 1 | Julien Aubé | [ 16.741157] mxl5007t_get_chip_id: MxL5007T detected @ 4-00c0 |
110 | 1 | Julien Aubé | [ 16.743857] dvb-usb: TerraTec Cinergy T Stick Dual RC successfully initialized and connected. |
111 | 1 | Julien Aubé | </pre> |
112 | 1 | Julien Aubé | |
113 | 1 | Julien Aubé | h2. Software |
114 | 1 | Julien Aubé | |
115 | 1 | Julien Aubé | h3. Chaînes TV |
116 | 1 | Julien Aubé | |
117 | 1 | Julien Aubé | Il vous faudra connaître les chaînes TV qui vous sont accessibles. |
118 | 1 | Julien Aubé | Pour cela, l'utilitaire a utiliser est _scan_ : |
119 | 1 | Julien Aubé | |
120 | 1 | Julien Aubé | <pre>scan -a 0 /usr/local/share/dvb/dvb-t/fr-Cahors</pre> |
121 | 1 | Julien Aubé | |
122 | 1 | Julien Aubé | (Bien sur il faut remplacer le fichier par celui de votre zone géographique) |
123 | 1 | Julien Aubé | |
124 | 1 | Julien Aubé | Ceci va vous lister la liste des chaînes sur chaque multiplex. |
125 | 1 | Julien Aubé | |
126 | 1 | Julien Aubé | h3. Mumudvb |
127 | 1 | Julien Aubé | |
128 | 4 | Julien Aubé | J'ai commencé par utiliser mumudvb. Il est plus simple d'utilisation et supporte l'igmp, mais malheureusement je l'ai trouvé moins stable dans le temps: Une erreur dans le flux TV (ce qui arrive de temps en temps) le fait planter sèchement. J'ai malgré tout inséré les fichiers de configuration que j'ai utilisé en attachement de cet article. |
129 | 1 | Julien Aubé | (Attention, ces fichiers ne diffusent pas en multicast - ils sont configurés pour l'unicast) |
130 | 2 | Julien Aubé | |
131 | 2 | Julien Aubé | mumudvb_card0.conf: |
132 | 2 | Julien Aubé | <pre> |
133 | 2 | Julien Aubé | #------------ TUNING ------------- |
134 | 2 | Julien Aubé | #The DVB/ATSC card we want to use |
135 | 2 | Julien Aubé | card=0 |
136 | 2 | Julien Aubé | autoconf_unicast_start_port=1320 |
137 | 2 | Julien Aubé | port_http=4242 |
138 | 2 | Julien Aubé | freq=818 |
139 | 2 | Julien Aubé | unicast=1 |
140 | 2 | Julien Aubé | autoconfiguration=2 |
141 | 2 | Julien Aubé | dvr_buffer_size=16 |
142 | 2 | Julien Aubé | multicast_ttl=0 |
143 | 2 | Julien Aubé | sap=0 |
144 | 2 | Julien Aubé | </pre> |
145 | 2 | Julien Aubé | |
146 | 2 | Julien Aubé | mumudvb_card1.conf: |
147 | 2 | Julien Aubé | <pre> |
148 | 2 | Julien Aubé | #------------ TUNING ------------- |
149 | 2 | Julien Aubé | #The DVB/ATSC card we want to use |
150 | 2 | Julien Aubé | card=1 |
151 | 2 | Julien Aubé | autoconf_unicast_start_port=1310 |
152 | 2 | Julien Aubé | port_http=4241 |
153 | 2 | Julien Aubé | freq=786 |
154 | 2 | Julien Aubé | unicast=1 |
155 | 2 | Julien Aubé | autoconfiguration=2 |
156 | 2 | Julien Aubé | dvr_buffer_size=16 |
157 | 2 | Julien Aubé | multicast_ttl=0 |
158 | 2 | Julien Aubé | sap=0 |
159 | 2 | Julien Aubé | </pre> |
160 | 2 | Julien Aubé | |
161 | 2 | Julien Aubé | mumudvb_card2.conf: |
162 | 2 | Julien Aubé | <pre> |
163 | 2 | Julien Aubé | #------------ TUNING ------------- |
164 | 2 | Julien Aubé | #The DVB/ATSC card we want to use |
165 | 2 | Julien Aubé | card=2 |
166 | 2 | Julien Aubé | autoconf_unicast_start_port=1300 |
167 | 2 | Julien Aubé | port_http=4240 |
168 | 2 | Julien Aubé | freq=490 |
169 | 2 | Julien Aubé | unicast=1 |
170 | 2 | Julien Aubé | autoconfiguration=2 |
171 | 2 | Julien Aubé | dvr_buffer_size=16 |
172 | 2 | Julien Aubé | multicast_ttl=0 |
173 | 2 | Julien Aubé | sap=0 |
174 | 2 | Julien Aubé | </pre> |
175 | 2 | Julien Aubé | |
176 | 2 | Julien Aubé | mumudvb_card3.conf: |
177 | 2 | Julien Aubé | <pre> |
178 | 2 | Julien Aubé | #------------ TUNING ------------- |
179 | 2 | Julien Aubé | #The DVB/ATSC card we want to use |
180 | 2 | Julien Aubé | card=3 |
181 | 2 | Julien Aubé | autoconf_unicast_start_port=1330 |
182 | 2 | Julien Aubé | port_http=4243 |
183 | 2 | Julien Aubé | freq=698 |
184 | 2 | Julien Aubé | unicast=1 |
185 | 2 | Julien Aubé | autoconfiguration=2 |
186 | 2 | Julien Aubé | dvr_buffer_size=16 |
187 | 2 | Julien Aubé | multicast_ttl=0 |
188 | 2 | Julien Aubé | sap=0 |
189 | 2 | Julien Aubé | </pre> |
190 | 2 | Julien Aubé | |
191 | 2 | Julien Aubé | Le fichier de playlist pour VLC associé _TV.m3u_: |
192 | 2 | Julien Aubé | <pre> |
193 | 2 | Julien Aubé | #EXTM3U |
194 | 2 | Julien Aubé | #EXTINF:-1,France 2 |
195 | 2 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
196 | 2 | Julien Aubé | http://tavernier:4240/bynumber/1 |
197 | 2 | Julien Aubé | #EXTINF:-1,France 5 |
198 | 2 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
199 | 2 | Julien Aubé | http://tavernier:4240/bynumber/2 |
200 | 2 | Julien Aubé | #EXTINF:-1,France O |
201 | 2 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
202 | 2 | Julien Aubé | http://tavernier:4240/bynumber/3 |
203 | 2 | Julien Aubé | #EXTINF:-1,LCP |
204 | 2 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
205 | 2 | Julien Aubé | http://tavernier:4240/bynumber/4 |
206 | 2 | Julien Aubé | #EXTINF:-1,France 3 |
207 | 2 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
208 | 2 | Julien Aubé | http://tavernier:4240/bynumber/5 |
209 | 2 | Julien Aubé | #EXTINF:-1,TF1 |
210 | 2 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
211 | 2 | Julien Aubé | http://tavernier:4241/bynumber/1 |
212 | 2 | Julien Aubé | #EXTINF:-1,NRJ12 |
213 | 2 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
214 | 2 | Julien Aubé | http://tavernier:4241/bynumber/2 |
215 | 2 | Julien Aubé | #EXTINF:-1,TMC |
216 | 2 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
217 | 2 | Julien Aubé | http://tavernier:4241/bynumber/3 |
218 | 2 | Julien Aubé | #EXTINF:-1,ARTE |
219 | 2 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
220 | 2 | Julien Aubé | http://tavernier:4241/bynumber/4 |
221 | 2 | Julien Aubé | #EXTINF:-1,M6 |
222 | 2 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
223 | 2 | Julien Aubé | http://tavernier:4242/bynumber/1 |
224 | 2 | Julien Aubé | #EXTINF:-1,W9 |
225 | 2 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
226 | 2 | Julien Aubé | http://tavernier:4242/bynumber/2 |
227 | 2 | Julien Aubé | #EXTINF:-1,NT1 |
228 | 2 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
229 | 2 | Julien Aubé | http://tavernier:4242/bynumber/3 |
230 | 2 | Julien Aubé | #EXTINF:-1,Direct 8 |
231 | 2 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
232 | 2 | Julien Aubé | http://tavernier:4243/bynumber/1 |
233 | 2 | Julien Aubé | #EXTINF:-1,BFM TV |
234 | 2 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
235 | 2 | Julien Aubé | http://tavernier:4243/bynumber/2 |
236 | 2 | Julien Aubé | #EXTINF:-1,i>TELE |
237 | 2 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
238 | 2 | Julien Aubé | http://tavernier:4243/bynumber/3 |
239 | 2 | Julien Aubé | #EXTINF:-1,DirectStar |
240 | 2 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
241 | 2 | Julien Aubé | http://tavernier:4243/bynumber/4 |
242 | 2 | Julien Aubé | #EXTINF:-1,Gulli |
243 | 2 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
244 | 1 | Julien Aubé | http://tavernier:4243/bynumber/5 |
245 | 2 | Julien Aubé | #EXTINF:-1,France 4 |
246 | 2 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
247 | 2 | Julien Aubé | http://tavernier:4243/bynumber/6 |
248 | 2 | Julien Aubé | </pre> |
249 | 2 | Julien Aubé | |
250 | 2 | Julien Aubé | h3. DVBlast |
251 | 2 | Julien Aubé | |
252 | 2 | Julien Aubé | DVBlast est un logiciel écrit par les auteurs de VLC. Il a moins de fonctionnalités que mumudvb et est plus compliqué à configurer. |
253 | 2 | Julien Aubé | |
254 | 4 | Julien Aubé | Néanmoins, il est très stable, surtout face aux erreurs des flux DVB, qui restent fréquentes même avec une bonne réception. |
255 | 1 | Julien Aubé | |
256 | 2 | Julien Aubé | Il ne gère pas malheureusement pas l'IGMP, ce qui explique que j'ai utilisé une configuration spéciale: |
257 | 1 | Julien Aubé | |
258 | 3 | Julien Aubé | Pour éviter de flooder le réseau, j'ai monté une interface *dummy0* en inscrivant _dummy_ dans _/etc/modules_ . |
259 | 1 | Julien Aubé | Ensuite, cette interface est montée et mise en place pour accepter le multicast: |
260 | 1 | Julien Aubé | |
261 | 3 | Julien Aubé | <pre> |
262 | 3 | Julien Aubé | ip link set dummy0 multicast on |
263 | 3 | Julien Aubé | ip addr add 10.0.0.100 dev dummy0 |
264 | 3 | Julien Aubé | ip link set dummy0 up |
265 | 3 | Julien Aubé | ip route add 225.1.0.0/16 dev dummy0 |
266 | 2 | Julien Aubé | </pre> |
267 | 2 | Julien Aubé | |
268 | 1 | Julien Aubé | |
269 | 3 | Julien Aubé | Ainsi le trafic multicast ne sort pas de la machine, ce qui est mon objectif pour le moment. |
270 | 2 | Julien Aubé | |
271 | 3 | Julien Aubé | Pour diffuser en multicast sur le réseau local, il suffit de commenter les lignes ci-dessus dans le script de démarrage. |
272 | 3 | Julien Aubé | |
273 | 1 | Julien Aubé | Voici la configuration que j'ai utilisé. Ces données sont à modifier en fonction de votre émetteur: |
274 | 1 | Julien Aubé | |
275 | 1 | Julien Aubé | <pre> |
276 | 1 | Julien Aubé | <IP>[:<port>][/udp] <always on> <SID> [<PID>,]* |
277 | 1 | Julien Aubé | </pre> |
278 | 1 | Julien Aubé | |
279 | 4 | Julien Aubé | Le flag always_on est mis à 1. |
280 | 1 | Julien Aubé | |
281 | 1 | Julien Aubé | Le SID est celui de la chaine, trouvé via _scan -a 0 /usr/local/share/dvb/dvb-t/fr-Cahors_. |
282 | 1 | Julien Aubé | |
283 | 1 | Julien Aubé | /etc/dvblast/dvblast.0.conf: |
284 | 1 | Julien Aubé | <pre> |
285 | 3 | Julien Aubé | ; France 2 |
286 | 3 | Julien Aubé | 225.1.1.1:2000 1 257 |
287 | 3 | Julien Aubé | ; France 5 |
288 | 3 | Julien Aubé | 225.1.1.2:2000 1 260 |
289 | 3 | Julien Aubé | ; France O |
290 | 3 | Julien Aubé | 225.1.1.3:2000 1 261 |
291 | 3 | Julien Aubé | ; LCP |
292 | 3 | Julien Aubé | 225.1.1.4:2000 1 262 |
293 | 3 | Julien Aubé | ; France 3 |
294 | 3 | Julien Aubé | 225.1.1.5:2000 1 302 |
295 | 1 | Julien Aubé | </pre> |
296 | 1 | Julien Aubé | |
297 | 1 | Julien Aubé | /etc/dvblast/dvblast.1.conf: |
298 | 1 | Julien Aubé | <pre> |
299 | 3 | Julien Aubé | ; Direct 8 |
300 | 3 | Julien Aubé | 225.1.4.1:2000 1 513 |
301 | 3 | Julien Aubé | ; BFM TV |
302 | 3 | Julien Aubé | 225.1.4.2:2000 1 515 |
303 | 3 | Julien Aubé | ; i>TELE |
304 | 3 | Julien Aubé | 225.1.4.3:2000 1 516 |
305 | 3 | Julien Aubé | ; DirectStar |
306 | 3 | Julien Aubé | 225.1.4.4:2000 1 517 |
307 | 3 | Julien Aubé | ; Gulli |
308 | 3 | Julien Aubé | 225.1.4.5:2000 1 518 |
309 | 3 | Julien Aubé | ; France 4 |
310 | 3 | Julien Aubé | 225.1.4.6:2000 1 519 |
311 | 2 | Julien Aubé | </pre> |
312 | 2 | Julien Aubé | |
313 | 2 | Julien Aubé | /etc/dvblast/dvblast.2.conf: |
314 | 2 | Julien Aubé | <pre> |
315 | 3 | Julien Aubé | ; TF1 |
316 | 3 | Julien Aubé | 225.1.2.1:2000 1 1537 |
317 | 3 | Julien Aubé | ; NRJ12 |
318 | 3 | Julien Aubé | 225.1.2.2:2000 1 1538 |
319 | 3 | Julien Aubé | ; TMC |
320 | 3 | Julien Aubé | 225.1.2.3:2000 1 1542 |
321 | 3 | Julien Aubé | ; ARTE |
322 | 3 | Julien Aubé | 225.1.2.4:2000 1 1543 |
323 | 2 | Julien Aubé | </pre> |
324 | 2 | Julien Aubé | |
325 | 2 | Julien Aubé | /etc/dvblast/dvblast.3.conf: |
326 | 2 | Julien Aubé | <pre> |
327 | 3 | Julien Aubé | ; M6 |
328 | 3 | Julien Aubé | 225.1.3.1:2000 1 1025 |
329 | 3 | Julien Aubé | ; W9 |
330 | 3 | Julien Aubé | 225.1.3.2:2000 1 1026 |
331 | 3 | Julien Aubé | ; NT1 |
332 | 3 | Julien Aubé | 225.1.3.3:2000 1 1027 |
333 | 2 | Julien Aubé | </pre> |
334 | 2 | Julien Aubé | |
335 | 2 | Julien Aubé | Voici le fichier de démarrage, situé dans _/etc/init.d/dvblast_ . |
336 | 2 | Julien Aubé | C'est là ou sont précisé les fréquences de travail de chaque récepteur. |
337 | 2 | Julien Aubé | |
338 | 2 | Julien Aubé | <pre> |
339 | 2 | Julien Aubé | #! /bin/sh |
340 | 2 | Julien Aubé | ### BEGIN INIT INFO |
341 | 2 | Julien Aubé | # Provides: dvblast |
342 | 2 | Julien Aubé | # Required-Start: $remote_fs $syslog |
343 | 2 | Julien Aubé | # Required-Stop: $remote_fs $syslog |
344 | 2 | Julien Aubé | # Default-Start: 2 3 4 5 |
345 | 2 | Julien Aubé | # Default-Stop: 0 1 6 |
346 | 2 | Julien Aubé | # Short-Description: Starts DVBlast daemons. |
347 | 2 | Julien Aubé | # Description: DVBlast is a DVB streamer. |
348 | 2 | Julien Aubé | ### END INIT INFO |
349 | 2 | Julien Aubé | |
350 | 2 | Julien Aubé | run_dvblast() |
351 | 2 | Julien Aubé | { |
352 | 2 | Julien Aubé | rm -f /tmp/dvblast.$1.sock |
353 | 2 | Julien Aubé | dvblast -e -qq -t0 -r /tmp/dvblast.$1.sock -a $1 -f $2 -c /etc/dvblast/dvblast.$1.conf >/tmp/dvblast.$1.log 2>&1 & |
354 | 2 | Julien Aubé | sleep 0.5s |
355 | 2 | Julien Aubé | } |
356 | 2 | Julien Aubé | |
357 | 1 | Julien Aubé | . /lib/lsb/init-functions |
358 | 1 | Julien Aubé | |
359 | 1 | Julien Aubé | test -f /usr/bin/dvblast || exit 0 |
360 | 1 | Julien Aubé | |
361 | 1 | Julien Aubé | case "$1" in |
362 | 2 | Julien Aubé | start) |
363 | 1 | Julien Aubé | run_dvblast 0 490167000 |
364 | 1 | Julien Aubé | run_dvblast 1 698167000 |
365 | 1 | Julien Aubé | run_dvblast 2 786167000 |
366 | 1 | Julien Aubé | run_dvblast 3 818167000 |
367 | 1 | Julien Aubé | ;; |
368 | 1 | Julien Aubé | stop) |
369 | 1 | Julien Aubé | killall dvblast |
370 | 1 | Julien Aubé | rm -f /tmp/dvblast.[0-3].sock |
371 | 1 | Julien Aubé | ;; |
372 | 1 | Julien Aubé | restart) |
373 | 1 | Julien Aubé | $0 stop |
374 | 1 | Julien Aubé | sleep 1 |
375 | 1 | Julien Aubé | $0 start |
376 | 1 | Julien Aubé | ;; |
377 | 1 | Julien Aubé | *) |
378 | 1 | Julien Aubé | echo "Usage: /etc/init.d/dvblast {start|stop|restart}" |
379 | 1 | Julien Aubé | exit 1 |
380 | 1 | Julien Aubé | esac |
381 | 1 | Julien Aubé | |
382 | 1 | Julien Aubé | exit 0 |
383 | 1 | Julien Aubé | </pre> |
384 | 1 | Julien Aubé | |
385 | 3 | Julien Aubé | Dans cette configuration, il est possible, plutôt que de créer un fichier de playlist VLC, d'installer et de faire tourner un serveur SAP. |
386 | 3 | Julien Aubé | |
387 | 3 | Julien Aubé | Il faut installer le programme _minisapserver_ , l'activer dans _/etc/defaults/minisapserver_, |
388 | 3 | Julien Aubé | et faire un fichier de configuration: _/etc/sap.conf_ |
389 | 3 | Julien Aubé | |
390 | 1 | Julien Aubé | <pre> |
391 | 3 | Julien Aubé | # sap.cfg - Configuration file of the mini SAP server |
392 | 3 | Julien Aubé | |
393 | 3 | Julien Aubé | # Global miniSAPserver options |
394 | 3 | Julien Aubé | [global] |
395 | 3 | Julien Aubé | |
396 | 3 | Julien Aubé | # Number of seconds between announces. 5 is default. Internet announces better use 30. |
397 | 3 | Julien Aubé | sap_delay=20 |
398 | 3 | Julien Aubé | |
399 | 3 | Julien Aubé | # The network interface on which to stream. |
400 | 3 | Julien Aubé | interface=eth1 |
401 | 3 | Julien Aubé | |
402 | 3 | Julien Aubé | [program] |
403 | 3 | Julien Aubé | type=rtp |
404 | 3 | Julien Aubé | name=TF1 |
405 | 3 | Julien Aubé | user=videolan |
406 | 3 | Julien Aubé | machine=OB_Network |
407 | 3 | Julien Aubé | site=http://obnet.org |
408 | 3 | Julien Aubé | address=225.1.2.1 |
409 | 3 | Julien Aubé | port=2000 |
410 | 3 | Julien Aubé | |
411 | 3 | Julien Aubé | [program] |
412 | 3 | Julien Aubé | type=rtp |
413 | 3 | Julien Aubé | name=France 2 |
414 | 3 | Julien Aubé | user=videolan |
415 | 3 | Julien Aubé | machine=OB_Network |
416 | 3 | Julien Aubé | site=http://obnet.org |
417 | 3 | Julien Aubé | address=225.1.1.1 |
418 | 3 | Julien Aubé | port=2000 |
419 | 3 | Julien Aubé | |
420 | 3 | Julien Aubé | [program] |
421 | 3 | Julien Aubé | type=rtp |
422 | 3 | Julien Aubé | name=France 3 |
423 | 3 | Julien Aubé | user=videolan |
424 | 3 | Julien Aubé | machine=OB_Network |
425 | 3 | Julien Aubé | site=http://obnet.org |
426 | 3 | Julien Aubé | address=225.1.1.5 |
427 | 3 | Julien Aubé | port=2000 |
428 | 3 | Julien Aubé | |
429 | 3 | Julien Aubé | [program] |
430 | 3 | Julien Aubé | type=rtp |
431 | 3 | Julien Aubé | name=France 4 |
432 | 3 | Julien Aubé | user=videolan |
433 | 3 | Julien Aubé | machine=OB_Network |
434 | 3 | Julien Aubé | site=http://obnet.org |
435 | 3 | Julien Aubé | address=225.1.4.6 |
436 | 3 | Julien Aubé | port=2000 |
437 | 3 | Julien Aubé | |
438 | 3 | Julien Aubé | [program] |
439 | 3 | Julien Aubé | type=rtp |
440 | 3 | Julien Aubé | name=France 5 |
441 | 3 | Julien Aubé | user=videolan |
442 | 3 | Julien Aubé | machine=OB_Network |
443 | 3 | Julien Aubé | site=http://obnet.org |
444 | 3 | Julien Aubé | address=225.1.1.2 |
445 | 3 | Julien Aubé | port=2000 |
446 | 3 | Julien Aubé | |
447 | 3 | Julien Aubé | [program] |
448 | 3 | Julien Aubé | type=rtp |
449 | 3 | Julien Aubé | name=France O |
450 | 3 | Julien Aubé | user=videolan |
451 | 3 | Julien Aubé | machine=OB_Network |
452 | 3 | Julien Aubé | site=http://obnet.org |
453 | 3 | Julien Aubé | address=225.1.1.3 |
454 | 3 | Julien Aubé | port=2000 |
455 | 3 | Julien Aubé | |
456 | 3 | Julien Aubé | [program] |
457 | 3 | Julien Aubé | type=rtp |
458 | 3 | Julien Aubé | name=Arte |
459 | 3 | Julien Aubé | user=videolan |
460 | 3 | Julien Aubé | machine=OB_Network |
461 | 3 | Julien Aubé | site=http://obnet.org |
462 | 3 | Julien Aubé | address=225.1.2.4 |
463 | 3 | Julien Aubé | port=2000 |
464 | 3 | Julien Aubé | |
465 | 3 | Julien Aubé | [program] |
466 | 3 | Julien Aubé | type=rtp |
467 | 3 | Julien Aubé | name=M6 |
468 | 3 | Julien Aubé | user=videolan |
469 | 3 | Julien Aubé | machine=OB_Network |
470 | 3 | Julien Aubé | site=http://obnet.org |
471 | 3 | Julien Aubé | address=225.1.3.1 |
472 | 3 | Julien Aubé | port=2000 |
473 | 3 | Julien Aubé | |
474 | 3 | Julien Aubé | [program] |
475 | 3 | Julien Aubé | type=rtp |
476 | 3 | Julien Aubé | name=W9 |
477 | 3 | Julien Aubé | user=videolan |
478 | 3 | Julien Aubé | machine=OB_Network |
479 | 3 | Julien Aubé | site=http://obnet.org |
480 | 3 | Julien Aubé | address=225.1.3.2 |
481 | 3 | Julien Aubé | port=2000 |
482 | 3 | Julien Aubé | |
483 | 3 | Julien Aubé | [program] |
484 | 3 | Julien Aubé | type=rtp |
485 | 3 | Julien Aubé | name=NRJ12 |
486 | 3 | Julien Aubé | user=videolan |
487 | 3 | Julien Aubé | machine=OB_Network |
488 | 3 | Julien Aubé | site=http://obnet.org |
489 | 3 | Julien Aubé | address=225.1.2.2 |
490 | 3 | Julien Aubé | port=2000 |
491 | 3 | Julien Aubé | |
492 | 3 | Julien Aubé | [program] |
493 | 3 | Julien Aubé | type=rtp |
494 | 3 | Julien Aubé | name=TMC |
495 | 3 | Julien Aubé | user=videolan |
496 | 3 | Julien Aubé | machine=OB_Network |
497 | 3 | Julien Aubé | site=http://obnet.org |
498 | 3 | Julien Aubé | address=225.1.2.3 |
499 | 3 | Julien Aubé | port=2000 |
500 | 3 | Julien Aubé | |
501 | 3 | Julien Aubé | [program] |
502 | 3 | Julien Aubé | type=rtp |
503 | 3 | Julien Aubé | name=Direct 8 |
504 | 3 | Julien Aubé | user=videolan |
505 | 3 | Julien Aubé | machine=OB_Network |
506 | 3 | Julien Aubé | site=http://obnet.org |
507 | 3 | Julien Aubé | address=225.1.4.1 |
508 | 3 | Julien Aubé | port=2000 |
509 | 3 | Julien Aubé | |
510 | 3 | Julien Aubé | [program] |
511 | 3 | Julien Aubé | type=rtp |
512 | 3 | Julien Aubé | name=NT1 |
513 | 3 | Julien Aubé | user=videolan |
514 | 3 | Julien Aubé | machine=OB_Network |
515 | 3 | Julien Aubé | site=http://obnet.org |
516 | 3 | Julien Aubé | address=225.1.3.3 |
517 | 3 | Julien Aubé | port=2000 |
518 | 3 | Julien Aubé | |
519 | 3 | Julien Aubé | [program] |
520 | 3 | Julien Aubé | type=rtp |
521 | 3 | Julien Aubé | name=DirectStar |
522 | 3 | Julien Aubé | user=videolan |
523 | 3 | Julien Aubé | machine=OB_Network |
524 | 3 | Julien Aubé | site=http://obnet.org |
525 | 3 | Julien Aubé | address=225.1.4.4 |
526 | 3 | Julien Aubé | port=2000 |
527 | 3 | Julien Aubé | |
528 | 3 | Julien Aubé | [program] |
529 | 3 | Julien Aubé | type=rtp |
530 | 3 | Julien Aubé | name=LCP |
531 | 3 | Julien Aubé | user=videolan |
532 | 3 | Julien Aubé | machine=OB_Network |
533 | 3 | Julien Aubé | site=http://obnet.org |
534 | 3 | Julien Aubé | address=225.1.1.4 |
535 | 3 | Julien Aubé | port=2000 |
536 | 3 | Julien Aubé | |
537 | 3 | Julien Aubé | |
538 | 3 | Julien Aubé | [program] |
539 | 3 | Julien Aubé | type=rtp |
540 | 3 | Julien Aubé | name=BFM TV |
541 | 3 | Julien Aubé | user=videolan |
542 | 3 | Julien Aubé | machine=OB_Network |
543 | 3 | Julien Aubé | site=http://obnet.org |
544 | 3 | Julien Aubé | address=225.1.4.2 |
545 | 3 | Julien Aubé | port=2000 |
546 | 3 | Julien Aubé | |
547 | 3 | Julien Aubé | [program] |
548 | 3 | Julien Aubé | type=rtp |
549 | 3 | Julien Aubé | name=i>TELE |
550 | 3 | Julien Aubé | user=videolan |
551 | 3 | Julien Aubé | machine=OB_Network |
552 | 3 | Julien Aubé | site=http://obnet.org |
553 | 3 | Julien Aubé | address=225.1.4.3 |
554 | 3 | Julien Aubé | port=2000 |
555 | 3 | Julien Aubé | |
556 | 1 | Julien Aubé | [program] |
557 | 1 | Julien Aubé | type=rtp |
558 | 3 | Julien Aubé | name=Gulli |
559 | 3 | Julien Aubé | user=videolan |
560 | 3 | Julien Aubé | machine=OB_Network |
561 | 3 | Julien Aubé | site=http://obnet.org |
562 | 3 | Julien Aubé | address=225.1.4.5 |
563 | 3 | Julien Aubé | port=2000 |
564 | 3 | Julien Aubé | </pre> |
565 | 3 | Julien Aubé | |
566 | 3 | Julien Aubé | h2. Streaming HTTP |
567 | 3 | Julien Aubé | |
568 | 4 | Julien Aubé | Comme indiqué en introduction, le streaming direct des flux multicast présente des inconvénients: |
569 | 3 | Julien Aubé | |
570 | 4 | Julien Aubé | - Flood constant de tous les ports si le switch ne supporte pas correctement l'IGMP-Proxying, |
571 | 3 | Julien Aubé | - Mise à genoux des points d'accès wifi |
572 | 3 | Julien Aubé | |
573 | 3 | Julien Aubé | J'ai donc modifié la configuration comme suis: |
574 | 3 | Julien Aubé | |
575 | 3 | Julien Aubé | h3. Déroutage du trafic multicast sur une interface dummy |
576 | 3 | Julien Aubé | |
577 | 3 | Julien Aubé | Comme DVBlast ne sais pas envoyer du trafic ailleurs que sur une IP multicast, j'ai crée une interface _dummy0_ en ajoutant le module _dummy_ dans _/etc/modules_. |
578 | 3 | Julien Aubé | |
579 | 3 | Julien Aubé | J'ai ensuite ajouter les lignes suivantes dans la section _start_ du fichier /etc/init.d/dvblast, avant le lancement des instances de dvblast: |
580 | 3 | Julien Aubé | |
581 | 1 | Julien Aubé | <pre> |
582 | 3 | Julien Aubé | #### Partie à commenter pour envoyer le flux en multicast sur l'interface par défaut |
583 | 3 | Julien Aubé | ip link set dummy0 multicast on |
584 | 3 | Julien Aubé | ip addr add 10.0.0.100 dev dummy0 |
585 | 3 | Julien Aubé | ip link set dummy0 up |
586 | 3 | Julien Aubé | ip route add 225.1.0.0/16 dev dummy0 |
587 | 3 | Julien Aubé | ###################################################### |
588 | 3 | Julien Aubé | </pre> |
589 | 3 | Julien Aubé | |
590 | 3 | Julien Aubé | h3. Installation de udproxy |
591 | 3 | Julien Aubé | |
592 | 3 | Julien Aubé | *udpxy* est un petit programme (à installer depuis les sources http://sourceforge.net/projects/udpxy/ car il n'est pas packagé) qui écoute un flux multicast et le met à disposition via une socket HTTP en écoute sur un serveur. Ainsi les chaines sont streamés "à la demande", en unicast. |
593 | 3 | Julien Aubé | |
594 | 3 | Julien Aubé | Il n'y a pas de fichier de configuration: J'ai simplement ajouté dans la section _start_ de _/etc/init.d/dvblast_ la ligne suivante: |
595 | 4 | Julien Aubé | <pre>udpxy -R 2 -B 2048 -c 50 -m dummy0 -p 4022 -a eth1</pre> |
596 | 3 | Julien Aubé | |
597 | 3 | Julien Aubé | Par contre, l'annonce SAP par _minisapserver_ ne sert plus à rien, il faut créer un fichier de playlist adapté: |
598 | 3 | Julien Aubé | |
599 | 3 | Julien Aubé | <pre> |
600 | 1 | Julien Aubé | #EXTM3U |
601 | 3 | Julien Aubé | #EXTINF:-1,TF1 |
602 | 3 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
603 | 3 | Julien Aubé | http://192.168.1.100:4022/udp/225.1.2.1:2000 |
604 | 3 | Julien Aubé | |
605 | 1 | Julien Aubé | #EXTINF:-1,France 2 |
606 | 1 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
607 | 3 | Julien Aubé | http://192.168.1.100:4022/udp/225.1.1.1:2000 |
608 | 3 | Julien Aubé | |
609 | 3 | Julien Aubé | #EXTINF:-1,France 3 |
610 | 3 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
611 | 3 | Julien Aubé | http://192.168.1.100:4022/udp/225.1.1.5:2000 |
612 | 3 | Julien Aubé | |
613 | 3 | Julien Aubé | #EXTINF:-1,France 4 |
614 | 3 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
615 | 1 | Julien Aubé | http://192.168.1.100:4022/udp/225.1.4.6:2000 |
616 | 3 | Julien Aubé | |
617 | 1 | Julien Aubé | #EXTINF:-1,France 5 |
618 | 1 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
619 | 3 | Julien Aubé | http://192.168.1.100:4022/udp/225.1.1.2:2000 |
620 | 3 | Julien Aubé | |
621 | 1 | Julien Aubé | #EXTINF:-1,France O |
622 | 1 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
623 | 3 | Julien Aubé | http://192.168.1.100:4022/udp/225.1.1.3:2000 |
624 | 3 | Julien Aubé | |
625 | 3 | Julien Aubé | #EXTINF:-1,ARTE |
626 | 2 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
627 | 3 | Julien Aubé | http://192.168.1.100:4022/udp/225.1.2.4:2000 |
628 | 3 | Julien Aubé | |
629 | 3 | Julien Aubé | #EXTINF:-1,M6 |
630 | 2 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
631 | 4 | Julien Aubé | http://192.168.1.100:4022/udp/225.1.3.1:2000 |
632 | 3 | Julien Aubé | |
633 | 3 | Julien Aubé | #EXTINF:-1,W9 |
634 | 2 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
635 | 3 | Julien Aubé | http://192.168.1.100:4022/udp/225.1.3.2:2000 |
636 | 3 | Julien Aubé | |
637 | 2 | Julien Aubé | #EXTINF:-1,NRJ12 |
638 | 2 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
639 | 3 | Julien Aubé | http://192.168.1.100:4022/udp/225.1.2.2:2000 |
640 | 3 | Julien Aubé | |
641 | 2 | Julien Aubé | #EXTINF:-1,TMC |
642 | 2 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
643 | 3 | Julien Aubé | http://192.168.1.100:4022/udp/225.1.2.3:2000 |
644 | 3 | Julien Aubé | |
645 | 3 | Julien Aubé | #EXTINF:-1,Direct 8 |
646 | 2 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
647 | 3 | Julien Aubé | http://192.168.1.100:4022/udp/225.1.4.1:2000 |
648 | 3 | Julien Aubé | |
649 | 2 | Julien Aubé | #EXTINF:-1,NT1 |
650 | 2 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
651 | 3 | Julien Aubé | http://192.168.1.100:4022/udp/225.1.3.3:2000 |
652 | 3 | Julien Aubé | |
653 | 3 | Julien Aubé | #EXTINF:-1,DirectStar |
654 | 2 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
655 | 3 | Julien Aubé | http://192.168.1.100:4022/udp/225.1.4.4:2000 |
656 | 3 | Julien Aubé | |
657 | 3 | Julien Aubé | #EXTINF:-1,LCP |
658 | 3 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
659 | 1 | Julien Aubé | http://192.168.1.100:4022/udp/225.1.1.4:2000 |
660 | 3 | Julien Aubé | |
661 | 2 | Julien Aubé | #EXTINF:-1,BFM TV |
662 | 1 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
663 | 1 | Julien Aubé | http://192.168.1.100:4022/udp/225.1.4.2:2000 |
664 | 3 | Julien Aubé | |
665 | 2 | Julien Aubé | #EXTINF:-1,i>TELE |
666 | 2 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
667 | 3 | Julien Aubé | http://192.168.1.100:4022/udp/225.1.4.3:2000 |
668 | 3 | Julien Aubé | |
669 | 2 | Julien Aubé | #EXTINF:-1,Gulli |
670 | 2 | Julien Aubé | #EXTVLCOPT:http-caching=5000 |
671 | 3 | Julien Aubé | http://192.168.1.100:4022/udp/225.1.4.5:2000 |
672 | 2 | Julien Aubé | </pre> |
673 | 2 | Julien Aubé | |
674 | 2 | Julien Aubé | h2. Conclusion |
675 | 2 | Julien Aubé | |
676 | 4 | Julien Aubé | Cette configuration est très stable et fonctionne depuis plus d'une semaine sans plantage, ce qui n'était pas le cas de mumudvb. |
677 | 1 | Julien Aubé | |
678 | 1 | Julien Aubé | J'y vois 2 principaux problèmes: |
679 | 1 | Julien Aubé | |
680 | 4 | Julien Aubé | * Manque de souplesse, en particulier sur les fréquences des émetteurs, et sur les chaînes à diffuser (Parfois les SID changent). |
681 | 3 | Julien Aubé | |
682 | 4 | Julien Aubé | * A l'heure actuelle l'envoi multicast est inconditionnel: Au niveau du switch, il faudrait trouver un moyen de faire une sorte d'IGMP-Snooping en IPv6 (je crois que ça s'appelle *MLD*). Mais comment faire comprendre ça au switch ? Est-ce que ça se gère au niveau du PC d'envoi ? Le but est d'éviter de flooder tous les ports avec toutes les chaines systématiquement. (A travailler - Mon switch Netgear GS716T ne gère pas le MLD. A tenter avec le BDCOM S2548GX ? (_update: Le BDCOM S2548GX ne supporte pas non plus MLD_) |
683 | 3 | Julien Aubé | |
684 | 3 | Julien Aubé | *update* : Il semble que pour qu'un système envoie, en IPv4, une annonce IGMP pour les groupes multicast concernés, il est indispensable que le programme emmeteur ajoute, dans le corp du programme, une socket en écoute et fasse un appel IOCTL à IP_ADD_MEMBERSHIP. _mumudvb_ effectue cette opération, mais pas _dvblast_. |
685 | 3 | Julien Aubé | |
686 | 3 | Julien Aubé | Ceci pourrait résoudre le problème du groupage multicast avec dvblast. |
687 | 3 | Julien Aubé | |
688 | 3 | Julien Aubé | Néanmoins, sur le switch Netgear GS716T le problème reste que en cas d'activation de l'option "Unknow Multicast frame filtering", les trames d'annonces IPv6 sont filtrées avec, sans possibilité de les insérer dans une liste blanche: Une investigation plus poussée semble nécessaire. |