Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 28/09/2015, à 17:24

k3c

[Tuto] Planifier l'enregistrement d'une TV européenne

Sur la page http://darbycrash.eu/PHP/ il y a des scripts permettant de regarder les TV de France, Allemagne, UK, Italie.

J'ai modifié le scrcipt wilmaa.php pour qu'il ne pose plus de questions, ainsi je peux mettre dans la crontab des lignes comme

22 23 30 09 3 /usr/bin/php /home/gg/wilmaa.php 4 40 7200 
# RTS2 Dame de glace
10 21 28 09 1 /usr/bin/php /home/gg/wilmaa.php 1 4 8200
# RAI1 Young Montalbano
# 

qui signifient que je vais enregistrer

le 30/09 à partir de 23h22, sur la chaine suisse RTS2, le film Dame de glace, pendant 7200 secondes (2 heures)

le 28/09 à partir de 21h10 sur la chaine italienne RAI1, le jeune Montalbano pendant 8200 secondes)

et donc créer un fichier Rai_1-09-28-2015_182131pm.ts (le même principe s'applique pour la RTS)

Les réponses à donner sont pour

1, 2, 3 ou 4

1) Italy
2) England
3) Germany
4) France

Pour Italy, il y a

0) Canale 5
1) Class TV Moda
2) Italia 1
3) LA7
4) Rai 1
5) Rai 2
6) Rai 3
7) Rai Gulp
8) Rai News24
9) Rai Scuola
10) Rai Sport 1
11) Rai Sport 2
12) Rai Storia
13) Rete 4
14) RSI LA1 HD
15) RSI LA1
16) RSI LA2 HD
17) RSI LA2
18) Tele Ticino

Pour England il y a

0) Al Jazeera       1) BBC 1 HD         2) BBC 1            3) BBC 2 HD
4) BBC 2            5) BBC 3 HD         6) BBC 3            7) BBC 4 HD
8) BBC 4            9) BBC World News HD10) BBC World News  11) Bloomberg TV
12) CCTV News       13) Channel 4 HD    14) Channel 5       15) CNBC
16) CNN             17) E4              18) Fashion TV      19) Film4
20) ITV 1 HD        21) ITV 1           22) ITV 2           23) ITV 3
24) ITV 4           25) More4           26) NHK World       27) Russia Today
28) Sky News        29) Travel Channel  

Pour Germany

0) 3+               1) 3Sat HD          2) 3Sat             3) Anixe HD
4) Anixe            5) ARD Alpha        6) Arte HD          7) Arte
8) ATV              9) BR 3 HD          10) BR 3            11) Das Erste HD
12) Das Erste       13) Das Vierte      14) Deluxe Music    15) Disney Channel
16) DMax            17) DW              18) Einsfestival HD 19) Einsfestival
20) EinsPlus HD     21) EinsPlus        22) EuroNews        23) EuroSport
24) HR HD           25) HR              26) Joiz            27) k-tv
28) Kabel 1         29) KiKa HD         30) KiKa            31) MDR HD
32) MDR             33) N24 HD          34) N24             35) NDR HD
36) NDR             37) Nick/ComedyCentral38) NTV             39) Orf 1 HD
40) Orf 1           41) Orf 2 HD        42) Orf 2           43) Phoenix HD
44) Phoenix         45) ProSieben HD    46) ProSieben MAXX  47) ProSieben
48) rbb HD          49) rbb             50) Ric             51) RTL 1
52) RTL 2           53) RTL CH          54) RTL Nitro       55) S1 HD
56) Sat1            57) Servus HD       58) Servus          59) Sixx
60) Sport 1         61) SRF 1 HD        62) SRF 1           63) SRF 2 HD
64) SRF 2           65) SRF Info        66) Super RTL       67) SWR HD
68) SWR             69) tagesschau 24 HD70) tagesschau 24   71) Tele 1
72) Tele 5          73) TeleBarn        74) TeleBasel       75) TeleBielingue
76) Tele M1 O       77) Tele M1 W       78) TeleSud Ostschweiz79) Tele Top SH
80) Tele Top TG     81) Tele Top ZH     82) Tele Zuri HD    83) Tele Zuri
84) TV24 HD         85) TV24            86) TVO             87) VIVA
88) VOX             89) WDR HD          90) WDR             91) ZDF HD
92) ZDF Info HD     93) ZDF Info        94) ZDF Kultur HD   95) ZDF Kultur
96) ZDF Neo HD      97) ZDF Neo         98) ZDF 

et la France/Suisse

0) 6ter HD          1) Arte HD          2) Arte             3) BFM Business
4) BFM TV           5) C9               6) Canal+           7) Canal Alpha Jura
8) Canal Alpha Neuchatel9) Cartoon Network  10) Cherie 25 HD    11) D8
12) D17             13) EuroNews        14) France 2 HD     15) France 2
16) France 3        17) France 4        18) France 5        19) France 24
20) France O        21) gulli           22) HD1 HD          23) ITele
24) kto             25) L'Equipe HD     26) La Tele         27) Leman Bleu
28) M6 HD           29) M6              30) Montagne        31) N23 HD
32) NRJ12           33) NT1             34) RMC HD          35) Rouge
36) RTL 9           37) RTS 1 HD        38) RTS 1           39) RTS 2 HD
40) RTS 2           41) TF 1 HD         42) TF 1            43) TMC
44) TV5Monde        45) TVM3            46) W9              

Il serait intéressant de faire la même chose avec le script swisscom, vu que ce script permet de choisir différentes qualités, donc les personnes ayant une ligne avec un faible débit seront intéressées. 

Le fichier wilmaa.php modifié

<?php
/*
	Filename: WilmaaTV.php.
	Copyright 2013/2015.
	Author:   Darby_Crash.
	Email:    kihol@inwind.it

	This Program is free software; you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation; either version 3, or (at your option)
	any later version.

	This Program is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

$version = "5.6";
error_reporting(0);
strncasecmp(php_uname('s'), "Win", 3) == 0 ? $windows = true : $windows = false;
if ($windows) {
	if (file_exists("C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe")) {
		$vlc = "C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe";
	} else if (file_exists("C:\\Program Files\\VideoLAN\\VLC\\vlc.exe")) {
		$vlc = "C:\\Program Files\\VideoLAN\\VLC\\vlc.exe";
	} else {
		$vlc = "C:\\Programmi\\VideoLAN\\VLC\\vlc.exe";
	}
} else {
	$vlc = "vlc";
}
$channels = array(
	"Das Erste^DE^http://c001.p112.edgesuite.net/i/c001/daserste_1@97481/master.m3u8",
	"ZDF^DE^http://c001.p112.edgesuite.net/i/c001/zdf_1@97483/master.m3u8",
	"WDR^DE^http://c001.p114.edgesuite.net/i/c001/wdr_1@97490/master.m3u8",
	"Sat1^DE^http://c001.p107.edgesuite.net/i/c001/sat1_1@97461/master.m3u8",
	"RTL 1^DE^http://c001.p106.edgesuite.net/i/c001/rtl_1@97459/master.m3u8",
	"RTL 2^DE^http://c001.p107.edgesuite.net/i/c001/rtl2_1@97460/master.m3u8",
	"ProSieben^DE^http://c001.p106.edgesuite.net/i/c001/prosieben_1@97456/master.m3u8",
	"VOX^DE^http://c001.p108.edgesuite.net/i/c001/vox_1@97466/master.m3u8",
	"Kabel 1^DE^http://c001.p105.edgesuite.net/i/c001/kabeleins_1@97453/master.m3u8",
	"DMax^DE^http://c001.p104.edgesuite.net/i/c001/dmax_1@97398/master.m3u8",
	"Sixx^DE^http://c001.p107.edgesuite.net/i/c001/sixx_1@97462/master.m3u8",
	"Das Vierte^DE^http://c001.p104.edgesuite.net/i/c001/dasvierte_1@97396/master.m3u8",
	"Nick/ComedyCentral^DE^http://c001.p105.edgesuite.net/i/c001/nickcc_1@97455/master.m3u8",
	"Super RTL^DE^http://c001.p107.edgesuite.net/i/c001/superrtl_1@97463/master.m3u8",
	"VIVA^DE^http://c001.p105.edgesuite.net/i/c001/viva_1@97493/master.m3u8",
	"Sport 1^DE^http://c001.p108.edgesuite.net/i/c001/sport1_1@97464/master.m3u8",
	"N24^DE^http://c001.p104.edgesuite.net/i/c001/n24_1@97406/master.m3u8",
	"NTV^DE^http://c001.p104.edgesuite.net/i/c001/ntv_1@97405/master.m3u8",
	"KiKa^DE^http://c001.p113.edgesuite.net/i/c001/kika_1@97487/master.m3u8",
	"SRF 1^DE^http://c001.p110.edgesuite.net/i/c001/sf1_1@97474/master.m3u8",
	"SRF 2^DE^http://c001.p110.edgesuite.net/i/c001/sf2_1@97475/master.m3u8",
	"Orf 1^DE^http://c001.p113.edgesuite.net/i/c001/orf1_1@97573/master.m3u8",
	"Orf 2^DE^http://c001.p113.edgesuite.net/i/c001/orf2_1@97574/master.m3u8",
	"3+^DE^http://c001.p114.edgesuite.net/i/c001/3plus_1@97489/master.m3u8",
	"Arte^DE^http://c001.p107.edgesuite.net/i/c001/artede_1@97463/master.m3u8",
	"SRF Info^DE^http://c001.p104.edgesuite.net/i/c001/sfinfo_1@97408/master.m3u8",
	"3Sat^DE^http://c001.p112.edgesuite.net/i/c001/3sat_1@97480/master.m3u8",
	"ZDF Neo^DE^http://c001.p111.edgesuite.net/i/c001/zdfneo_1@97479/master.m3u8",
	"SWR^DE^http://c001.p113.edgesuite.net/i/c001/swr_1@97485/master.m3u8",
	"BR 3^DE^http://c001.p107.edgesuite.net/i/c001/br3_1@97517/master.m3u8",
	"Phoenix^DE^http://c001.p111.edgesuite.net/i/c001/phoenix_1@97476/master.m3u8",
	"EuroSport^DE^http://c001.p105.edgesuite.net/i/c001/eurosportde_1@97452/master.m3u8",
	"Joiz^DE^http://c001.p118.edgesuite.net/i/c001/joiz_1@135266/master.m3u8",
	"Tele Zuri^DE^http://c001.p119.edgesuite.net/i/c001/tzurich_1@135275/master.m3u8",
	"TeleSud Ostschweiz^DE^http://c001.p119.edgesuite.net/i/c001/tsudost_1@135274/master.m3u8",
	"CNN^EN^http://c001.p105.edgesuite.net/i/c001/cnn_1@97501/master.m3u8",
	"BBC World News^EN^http://c001.p105.edgesuite.net/i/c001/bbcworld_1@97498/master.m3u8",
	"RTS 1^FR^http://c001.p109.edgesuite.net/i/c001/rts1_1@97469/master.m3u8",
	"RTS 2^FR^http://c001.p109.edgesuite.net/i/c001/rts2_1@97470/master.m3u8",
	"TV5Monde^FR^http://c001.p103.edgesuite.net/i/c001/tv5monde_1@97380/master.m3u8",
	"France 2^FR^http://c001.p101.edgesuite.net/i/c001/france2_1@97347/master.m3u8",
	"France 3^FR^http://c001.p100.edgesuite.net/i/c001/france3_1@97329/master.m3u8",
	"France 5^FR^http://c001.p102.edgesuite.net/i/c001/france5_1@97351/master.m3u8",
	"RTL 9^FR^http://c001.p102.edgesuite.net/i/c001/rtl9_1@97354/master.m3u8",
	"TF 1^FR^http://c001.p109.edgesuite.net/i/c001/tf1_1@97468/master.m3u8",
	"M6^FR^http://c001.p108.edgesuite.net/i/c001/m6_1@97467/master.m3u8",
	"Arte^FR^http://c001.p101.edgesuite.net/i/c001/artefr_1@97346/master.m3u8",
	"RSI LA1^IT^http://c001.p110.edgesuite.net/i/c001/rsila1_1@97472/master.m3u8",
	"RSI LA2^IT^http://c001.p110.edgesuite.net/i/c001/rsila2_1@97473/master.m3u8",
	"Rai 1^IT^http://c001.p103.edgesuite.net/i/c001/rai1_1@97382/master.m3u8",
	"Rouge^FR^http://c001.p102.edgesuite.net/i/c001/rouge_1@97359/master.m3u8",
	"RTL Nitro^DE^http://c001.p106.edgesuite.net/i/c001/rtlnitro_1@97458/master.m3u8",
	"Servus^DE^http://c001.p114.edgesuite.net/i/c001/servus_1@97488/master.m3u8",
	"ATV^DE^http://c001.p114.edgesuite.net/i/c001/atv_1@97491/master.m3u8",
	"C9^FR^http://c001.p117.edgesuite.net/i/c001/c9_1@135252/master.m3u8",
	"Canal Alpha Jura^FR^http://c001.p117.edgesuite.net/i/c001/caju_1@135253/master.m3u8",
	"Tele 1^DE^http://c001.p118.edgesuite.net/i/c001/t1_1@135267/master.m3u8",
	"Tele M1 W^DE^http://c001.p108.edgesuite.net/i/c001/tm1w_1@135269/master.m3u8",
	"Tele Top TG^DE^http://c001.p120.edgesuite.net/i/c001/tttg_1@135278/master.m3u8",
	"Tele Top ZH^DE^http://c001.p119.edgesuite.net/i/c001/ttzh_1@135271/master.m3u8",
	"Tele Top SH^DE^http://c001.p120.edgesuite.net/i/c001/ttsh_1@135279/master.m3u8",
	"TVO^DE^http://c001.p118.edgesuite.net/i/c001/tost_1@135270/master.m3u8",
	"Tele M1 O^DE^http://c001.p118.edgesuite.net/i/c001/tm1o_1@135268/master.m3u8",
	"Canal Alpha Neuchatel^FR^http://c001.p117.edgesuite.net/i/c001/cane_1@135254/master.m3u8",
	"Tele Ticino^IT^http://c001.p117.edgesuite.net/i/c001/tticino_1@135255/master.m3u8",
	"TeleBasel^DE^http://c001.p119.edgesuite.net/i/c001/tbasel_1@135273/master.m3u8",
	"TeleBarn^DE^http://c001.p119.edgesuite.net/i/c001/tbarn_1@135272/master.m3u8",
	"TeleBielingue^DE^http://c001.p120.edgesuite.net/i/c001/tbielingue_1@135280/master.m3u8",
	"Italia 1^IT^http://c001.p103.edgesuite.net/i/c001/italia1_1@97381/master.m3u8",
	"Das Erste HD^DE^http://c001.p104.edgesuite.net/i/c001/daserstehd_1@97395/master.m3u8",
	"ZDF HD^DE^http://c001.p108.edgesuite.net/i/c001/zdfhd_1@97431/master.m3u8",
	"Arte HD^DE^http://c001.p104.edgesuite.net/i/c001/artedehd_1@97394/master.m3u8",
	"3Sat HD^DE^http://c001.p104.edgesuite.net/i/c001/3sathd_1@97393/master.m3u8",
	"NDR^DE^http://c001.p113.edgesuite.net/i/c001/ndr_1@97484/master.m3u8",
	"NDR HD^DE^http://c001.p105.edgesuite.net/i/c001/ndrhd_1@97424/master.m3u8",
	"WDR HD^DE^http://c001.p107.edgesuite.net/i/c001/wdrhd_1@97430/master.m3u8",
	"MDR^DE^http://c001.p123.edgesuite.net/i/c001/mdr_1@137782/master.m3u8",
	"MDR HD^DE^http://c001.p127.edgesuite.net/i/c001/mdrhd_1@180319/master.m3u8",
	"BR 3 HD^DE^http://c001.p101.edgesuite.net/i/c001/br3_hd_1@97418/master.m3u8",
	"SWR HD^DE^http://c001.p107.edgesuite.net/i/c001/swrhd_1@97429/master.m3u8",
	"HR^DE^http://c001.p123.edgesuite.net/i/c001/hr_1@137778/master.m3u8",
	"HR HD^DE^http://c001.p113.edgesuite.net/i/c001/hr_hd_1@97447/master.m3u8",
	"rbb^DE^http://c001.p106.edgesuite.net/i/c001/rbb_1@97457/master.m3u8",
	"rbb HD^DE^http://c001.p114.edgesuite.net/i/c001/rbb_hd_1@97449/master.m3u8",
	"Phoenix HD^DE^http://c001.p107.edgesuite.net/i/c001/phoenixhd_1@97428/master.m3u8",
	"ARD Alpha^DE^http://c001.p123.edgesuite.net/i/c001/bralpha_1@137776/master.m3u8",
	"N24 HD^DE^http://c001.p109.edgesuite.net/i/c001/n24hd_1@97436/master.m3u8",
	"Disney Channel^DE^http://c001.p104.edgesuite.net/i/c001/disney_channel_de_1@97396/master.m3u8",
	"Servus HD^DE^http://c001.p106.edgesuite.net/i/c001/servushd_1@97425/master.m3u8",
	"Tele 5^DE^http://c001.p108.edgesuite.net/i/c001/tele5_1@97465/master.m3u8",
	"KiKa HD^DE^http://c001.p105.edgesuite.net/i/c001/kikahd_1@97423/master.m3u8",
	"Ric^DE^http://c001.p123.edgesuite.net/i/c001/ric_1@137780/master.m3u8",
	"ProSieben MAXX^DE^http://c001.p107.edgesuite.net/i/c001/pro7maxx_1@97522/master.m3u8",
	"ZDF Neo HD^DE^http://c001.p109.edgesuite.net/i/c001/zdfneohd_1@97434/master.m3u8",
	"ZDF Kultur^DE^http://c001.p111.edgesuite.net/i/c001/zdfkultur_1@97478/master.m3u8",
	"ZDF Kultur HD^DE^http://c001.p108.edgesuite.net/i/c001/zdfkulturhd_1@97433/master.m3u8",
	"ZDF Info^DE^http://c001.p111.edgesuite.net/i/c001/zdfinfo_1@97477/master.m3u8",
	"ZDF Info HD^DE^http://c001.p108.edgesuite.net/i/c001/zdfinfohd_1@97432/master.m3u8",
	"EinsPlus^DE^http://c001.p123.edgesuite.net/i/c001/einsplus_1@137775/master.m3u8",
	"EinsPlus HD^DE^http://c001.p113.edgesuite.net/i/c001/einsplus_hd_1@97446/master.m3u8",
	"Einsfestival^DE^http://c001.p112.edgesuite.net/i/c001/einsfestival_1@97482/master.m3u8",
	"Einsfestival HD^DE^http://c001.p105.edgesuite.net/i/c001/einsfestivalhd_1@97422/master.m3u8",
	"tagesschau 24^DE^http://c001.p123.edgesuite.net/i/c001/tagesschau24_1@137781/master.m3u8",
	"tagesschau 24 HD^DE^http://c001.p114.edgesuite.net/i/c001/tagesschau24_hd_1@97450/master.m3u8",
	"Deluxe Music^DE^http://c001.p123.edgesuite.net/i/c001/deluxemusic_1@137777/master.m3u8",
	"Anixe^DE^http://c001.p113.edgesuite.net/i/c001/anixe_1@97486/master.m3u8",
	"Anixe HD^DE^http://c001.p111.edgesuite.net/i/c001/anixehd_1@97440/master.m3u8",
	"DW^DE^http://c001.p104.edgesuite.net/i/c001/dwtv_1@97397/master.m3u8",
	"k-tv^DE^http://c001.p104.edgesuite.net/i/c001/ktv_1@97400/master.m3u8",
	"Orf 1 HD^DE^http://c001.p101.edgesuite.net/i/c001/orf1hd_1@97416/master.m3u8",
	"Orf 2 HD^DE^http://c001.p101.edgesuite.net/i/c001/orf2hd_1@97417/master.m3u8",
	"SRF 1 HD^DE^http://c001.p106.edgesuite.net/i/c001/sf1hd_1@97426/master.m3u8",
	"SRF 2 HD^DE^http://c001.p106.edgesuite.net/i/c001/sf2hd_1@97427/master.m3u8",
	"S1 HD^DE^http://c001.p117.edgesuite.net/i/c001/s1tvhd_1@135250/master.m3u8",
	"TV24 HD^DE^http://c001.p128.edgesuite.net/i/c001/tv24_hd_1@180322/master.m3u8",
	"Tele Zuri HD^DE^http://c001.p128.edgesuite.net/i/c001/tzurich_hd_1@180321/master.m3u8",
	"TF 1 HD^FR^http://c001.p102.edgesuite.net/i/c001/tf1hd_1@97413/master.m3u8",
	"France 2 HD^FR^http://c001.p100.edgesuite.net/i/c001/france2hd_1@97420/master.m3u8",
	"Canal+^FR^http://c001.p101.edgesuite.net/i/c001/canalplus_1@97337/master.m3u8",
	"M6 HD^FR^http://c001.p100.edgesuite.net/i/c001/m6hd_1@97421/master.m3u8",
	"RTS 1 HD^FR^http://c001.p126.edgesuite.net/i/c001/rts1hd_1@114347/master.m3u8",
	"RTS 2 HD^FR^http://c001.p102.edgesuite.net/i/c001/rts2hd_1@97415/master.m3u8",
	"Arte HD^FR^http://c001.p100.edgesuite.net/i/c001/artefrhd_1@97419/master.m3u8",
	"D8^FR^http://c001.p100.edgesuite.net/i/c001/d8_1@97328/master.m3u8",
	"W9^FR^http://c001.p101.edgesuite.net/i/c001/w9_1@97344/master.m3u8",
	"TMC^FR^http://c001.p103.edgesuite.net/i/c001/tmc_1@97379/master.m3u8",
	"NT1^FR^http://c001.p108.edgesuite.net/i/c001/nt1_1@97528/master.m3u8",
	"NRJ12^FR^http://c001.p121.edgesuite.net/i/c001/nrj12_1@137759/master.m3u8",
	"France 4^FR^http://c001.p100.edgesuite.net/i/c001/france4_1@97330/master.m3u8",
	"BFM TV^FR^http://c001.p121.edgesuite.net/i/c001/bfmtv_1@137750/master.m3u8",
	"ITele^FR^http://c001.p121.edgesuite.net/i/c001/itele_1@137755/master.m3u8",
	"D17^FR^http://c001.p100.edgesuite.net/i/c001/d17_1@97327/master.m3u8",
	"gulli^FR^http://c001.p102.edgesuite.net/i/c001/gulli_1@97352/master.m3u8",
	"France O^FR^http://c001.p122.edgesuite.net/i/c001/franceo_1@137770/master.m3u8",
	"HD1 HD^FR^http://c001.p110.edgesuite.net/i/c001/hd1hd_1@97437/master.m3u8",
	"L'Equipe HD^FR^http://c001.p110.edgesuite.net/i/c001/equipetvhd_1@97439/master.m3u8",
	"6ter HD^FR^http://c001.p112.edgesuite.net/i/c001/6terhd_1@97443/master.m3u8",
	"N23 HD^FR^http://c001.p112.edgesuite.net/i/c001/n23hd_1@97444/master.m3u8",
	"RMC HD^FR^http://c001.p112.edgesuite.net/i/c001/rmchd_1@97445/master.m3u8",
	"Cherie 25 HD^FR^http://c001.p110.edgesuite.net/i/c001/cheriehd_1@97438/master.m3u8",
	"BFM Business^FR^http://c001.p121.edgesuite.net/i/c001/bfmb_1@137749/master.m3u8",
	"France 24^FR^http://c001.p121.edgesuite.net/i/c001/france24_1@137754/master.m3u8",
	"EuroNews^FR^http://c001.p121.edgesuite.net/i/c001/euronews_1@137752/master.m3u8",
	"Montagne^FR^http://c001.p121.edgesuite.net/i/c001/montagne_1@137758/master.m3u8",
	"TVM3^FR^http://c001.p104.edgesuite.net/i/c001/tvm3_1@97401/master.m3u8",
	"kto^FR^http://c001.p105.edgesuite.net/i/c001/kto_1@97495/master.m3u8",
	"BBC 1^EN^http://c001.p109.edgesuite.net/i/c001/bbc1_1@97471/master.m3u8",
	"BBC 1 HD^EN^http://c001.p103.edgesuite.net/i/c001/bbc1hd_1@97412/master.m3u8",
	"BBC 2^EN^http://c001.p124.edgesuite.net/i/c001/bbc2_1@137786/master.m3u8",
	"BBC 2 HD^EN^http://c001.p109.edgesuite.net/i/c001/bbc2hd_1@97435/master.m3u8",
	"BBC 3^EN^http://c001.p113.edgesuite.net/i/c001/bbc3_1@97575/master.m3u8",
	"BBC 3 HD^EN^http://c001.p126.edgesuite.net/i/c001/bbc3_hd_1@180212/master.m3u8",
	"BBC 4^EN^http://c001.p123.edgesuite.net/i/c001/bbc4_1@137784/master.m3u8",
	"BBC 4 HD^EN^http://c001.p126.edgesuite.net/i/c001/bbc4_hd_1@180211/master.m3u8",
	"ITV 1^EN^http://c001.p124.edgesuite.net/i/c001/itv1_1@137791/master.m3u8",
	"ITV 1 HD^EN^http://c001.p111.edgesuite.net/i/c001/itvhd_1@97442/master.m3u8",
	"ITV 2^EN^http://c001.p124.edgesuite.net/i/c001/itv2_1@137792/master.m3u8",
	"ITV 3^EN^http://c001.p105.edgesuite.net/i/c001/itv3_1@97494/master.m3u8",
	"ITV 4^EN^http://c001.p106.edgesuite.net/i/c001/itv4_1@97503/master.m3u8",
	"Channel 4 HD^EN^http://c001.p111.edgesuite.net/i/c001/channel4hd_1@97441/master.m3u8",
	"Channel 5^EN^http://c001.p124.edgesuite.net/i/c001/channel5_1@137787/master.m3u8",
	"More4^EN^http://c001.p124.edgesuite.net/i/c001/more4_1@137795/master.m3u8",
	"Fashion TV^EN^http://c001.p106.edgesuite.net/i/c001/fashiontv_1@97512/master.m3u8",
	"Travel Channel^EN^http://c001.p113.edgesuite.net/i/c001/travelchannel_1@97576/master.m3u8",
	"BBC World News HD^EN^http://c001.p127.edgesuite.net/i/c001/bbcnewshd_1@180318/master.m3u8",
	"CCTV News^EN^http://c001.p101.edgesuite.net/i/c001/cctvnews_1@97342/master.m3u8",
	"Al Jazeera^EN^http://c001.p123.edgesuite.net/i/c001/aljazeera_1@137783/master.m3u8",
	"Bloomberg TV^EN^http://c001.p124.edgesuite.net/i/c001/bloomberg_1@137785/master.m3u8",
	"CNBC^EN^http://c001.p124.edgesuite.net/i/c001/cnbc_1@137788/master.m3u8",
	"NHK World^EN^http://c001.p124.edgesuite.net/i/c001/nhkw_1@137796/master.m3u8",
	"Russia Today^EN^http://c001.p125.edgesuite.net/i/c001/russia_1@137797/master.m3u8",
	"Sky News^EN^http://c001.p106.edgesuite.net/i/c001/skynews_1@97511/master.m3u8",
	"RSI LA1 HD^IT^http://c001.p103.edgesuite.net/i/c001/rsila1hd_1@97410/master.m3u8",
	"RSI LA2 HD^IT^http://c001.p103.edgesuite.net/i/c001/rsila2hd_1@97411/master.m3u8",
	"Rai 2^IT^http://c001.p122.edgesuite.net/i/c001/rai2_1@137763/master.m3u8",
	"Rai 3^IT^http://c001.p122.edgesuite.net/i/c001/rai3_1@137764/master.m3u8",
	"Rai Gulp^IT^http://c001.p122.edgesuite.net/i/c001/raigulp_1@137765/master.m3u8",
	"Rai Scuola^IT^http://c001.p122.edgesuite.net/i/c001/raiscuola_1@137768/master.m3u8",
	"Rai Storia^IT^http://c001.p103.edgesuite.net/i/c001/raistoria_1@97389/master.m3u8",
	"Rai Sport 1^IT^http://c001.p103.edgesuite.net/i/c001/raisport1_1@97387/master.m3u8",
	"Rai Sport 2^IT^http://c001.p122.edgesuite.net/i/c001/raisport2_1@137769/master.m3u8",
	"Rai News24^IT^http://c001.p122.edgesuite.net/i/c001/rainews_1@137767/master.m3u8",
	"Canale 5^IT^http://c001.p121.edgesuite.net/i/c001/canale5_1@137760/master.m3u8",
	"Class TV Moda^IT^http://c001.p103.edgesuite.net/i/c001/tvmoda_1@97383/master.m3u8",
	"LA7^IT^http://c001.p122.edgesuite.net/i/c001/la7_1@137762/master.m3u8",
	"TV24^DE^http://c001.p111.edgesuite.net/i/c001/tv24_1@97562/master.m3u8",
	"La Tele^FR^http://c001.p109.edgesuite.net/i/c001/latele_1@97539/master.m3u8",
	"RTL CH^DE^http://c001.p118.edgesuite.net/i/c001/rtlchhd_1@135257/master.m3u8",
	"ProSieben HD^DE^http://c001.p119.edgesuite.net/i/c001/pro7chhd_1@135262/master.m3u8",
	"Cartoon Network^FR^http://c001.p121.edgesuite.net/i/c001/cn_1@137751/master.m3u8",
	"Leman Bleu^FR^http://c001.p121.edgesuite.net/i/c001/lemanbleu_1@137757/master.m3u8",
	"Rete 4^IT^http://c001.p122.edgesuite.net/i/c001/rete4_1@137766/master.m3u8",
	"EuroNews^DE^http://c001.p123.edgesuite.net/i/c001/euronewsde_1@137774/master.m3u8",
	"E4^EN^http://c001.p124.edgesuite.net/i/c001/e4_1@137789/master.m3u8",
	"Film4^EN^http://c001.p124.edgesuite.net/i/c001/film4_1@137790/master.m3u8"
);
foreach ($channels as $channel) {
	$ch = explode("^", $channel);
	if ($ch[1] == 'IT') {
		$list_it[] = $ch[0].'^'.$ch[2];
	} else if ($ch[1] == 'EN') {
		$list_en[] = $ch[0].'^'.$ch[2];
	} else if ($ch[1] == 'DE') {
		$list_de[] = $ch[0].'^'.$ch[2];
	} else if ($ch[1] == 'FR') {
		$list_fr[] = $ch[0].'^'.$ch[2];
	}
}
echo $argv[1];
echo $argv[2];
echo "\r\nWelcome to WilmaaTV v".$version." by Darby_Crash\r\n";
while (true) {
	echo "\r\nCountry selection:\r\n\r\n1) Italy\r\n2) England\r\n3) Germany\r\n4) France\r\n\r\nChoose a country (0=Exit): ";
	$cc = $argv[1];
	if ($cc == '0') { 
		die("\r\nGoodbye!\r\n\r\n");
	} else if ($cc > '4' || !preg_match('@\d@',$cc)) {
		echo "\r\nWrong choice!\r\n";
		sleep(2);
		continue;
	}
	if ($cc == '1') {
		$list = $list_it;
	} else if ($cc == '2') {
		$list = $list_en;
	} else if ($cc == '3') {
		$list = $list_de;
	} else if ($cc == '4') {
		$list = $list_fr;
	}
	natcasesort($list);
	$list = array_values($list);
	unset($title);
	unset($url);
	foreach ($list as $elem) {
		$str = explode('^',$elem);
		$title[] = $str[0];
		$url[] = $str[1];
	}
	while (true) {
		echo "\r\nChannels list:\r\n\r\n";
		for ($i=0; $i<count($title); $i++) {
			if (count($title) > 24) {
				echo "$i) ".$title[$i].((($i+1)% 4 == 0 ) ? "\r\n" : str_repeat(' ',18 - strlen($title[$i].$i)));
			} else {
				echo "$i) ".$title[$i]."\r\n";
			}
		}
		echo "\r\n\r\nChoose a channel (x=exit, m=main screen): ";
		$inp = $argv[2];
		if ($inp == "m" || $inp == "M") {
			break;
		} else if ($inp == "x" || $inp == "X") {
			die("\r\nGoodbye!\r\n\r\n");
		} else if ($inp >= count($title) || !is_numeric($inp)){
			echo "\r\nWrong choice!\r\n";
			sleep(2);
			continue;
		}
		$ip = "85.".rand(0,7).".".rand(0,255).".".rand(0,255);
		echo "\r\nPlaying ".$title[$inp]."...\r\n";
/*'.$title.'-'.date('m-d-Y_hisa').'.ts"*/
		$file = str_replace(' ', '_', $title[$inp].'-'.date('m-d-Y_Hisa'));
/*		echo $file;*/
		$cmd = 'livestreamer  -o \''.$file.'\'.ts -f --player "\''.$vlc.'\' --meta-title=\''.$title[$inp].'\' --file-caching=10000" --http-header "X-Forwarded-For='.$ip.'" "hlsvariant://'.$url[$inp].'" best';
		echo $cmd;
		shell_exec($cmd." > /dev/null 2>/dev/null &");
		echo "\nsleep start";
/*		sleep(7200);  
		echo "\nsleep fini";*/
		sleep($argv[3]); 
		shell_exec('killall livestreamer');
	}
}
?>

dans la crontab, j'ai mis le chemin de livestreamer (/usr/local/bin), donc j'ai une ligne

PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/bin

Dernière modification par k3c (Le 28/09/2015, à 19:05)


Archlinux sur Xiaomi Air 13

Hors ligne

#2 Le 30/09/2015, à 18:48

general alcazar

Re : [Tuto] Planifier l'enregistrement d'une TV européenne

Bonjour,
Je n'ai peut être pas tout compris, mais Wilma demande une adresse IP suisse ?

Hors ligne

#3 Le 30/09/2015, à 19:13

k3c

Re : [Tuto] Planifier l'enregistrement d'une TV européenne

oui, mais tu  noteras dans le code

$ip = "85.".rand(0,7).".".rand(0,255).".".rand(0,255);

qui se fait passer pour une IP suisse

:-)

J'ai une version en Python presque prête...


Archlinux sur Xiaomi Air 13

Hors ligne

#4 Le 01/10/2015, à 07:30

Sciensous

Re : [Tuto] Planifier l'enregistrement d'une TV européenne

intéressant, merci pour ceux qui regardent encore la tv wink


antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )

Hors ligne

#5 Le 06/10/2015, à 22:06

k3c

Re : [Tuto] Planifier l'enregistrement d'une TV européenne

La version en Python

exemple d'utilisation

python wilmaa.py --pays fr --chaine 1 --duree 7200

va donc enregistrer la chaine 1 de la catégorie France pendant 7200 secondes

Si on ne passe pas tous les arguments, ça affiche les pays possibles

$ python wilmaa.py

Welcome to WilmaaTV v0.9 by gg

['de', 'en', 'fr', 'it']

et si on met juste le pays, ça affiche les chaines

$ python wilmaa.py --pays fr

Welcome to WilmaaTV v0.9 by gg

1 RTS 1
2 RTS 2
3 TV5Monde
4 France 2
5 France 3
6 France 5
7 RTL 9
8 TF 1
9 M6
10 Arte
11 Rouge
12 C9
13 Canal Alpha Jura
14 Canal Alpha Neuchatel
15 TF 1 HD
16 France 2 HD
17 Canal+
18 M6 HD
19 RTS 1 HD
20 RTS 2 HD
21 Arte HD
22 D8
23 W9
24 TMC
25 NT1
26 NRJ12
27 France 4
28 BFM TV
29 ITele
30 D17
31 gulli
32 France O
33 HD1 HD
34 L'Equipe HD
35 6ter HD
36 N23 HD
37 RMC HD
38 Cherie 25 HD
39 BFM Business
40 France 24
41 EuroNews
42 Montagne
43 TVM3
44 kto
45 La Tele
46 Cartoon Network
47 Leman Bleu

Prochaine étape  : une interface graphique, donnant le choix entre enregistrer (à une date donnée) et voir en direct (facile, enlever le -o chaine_TV.ts), et éventuellement, l'affichage des programmes
Sauf que je suis encore plus nul en interface graphique qu'en Python
Donc j'espère que vous n'êtes pas pressés
:-)

Le code

#!/usr/bin/python
#-*- coding:utf-8 -*-
import sys
from pprint import pprint
import argparse
from random import randint
import datetime
import subprocess, shlex
import time

version = "0.9"
# error_reporting(0)
vlc = "vlc"
listes_pays = {}
codes_pays = []

channels = [
	"Das Erste^DE^http://c001.p112.edgesuite.net/i/c001/daserste_1@97481/master.m3u8",
	"ZDF^DE^http://c001.p112.edgesuite.net/i/c001/zdf_1@97483/master.m3u8",
	"WDR^DE^http://c001.p114.edgesuite.net/i/c001/wdr_1@97490/master.m3u8",
	"Sat1^DE^http://c001.p107.edgesuite.net/i/c001/sat1_1@97461/master.m3u8",
	"RTL 1^DE^http://c001.p106.edgesuite.net/i/c001/rtl_1@97459/master.m3u8",
	"RTL 2^DE^http://c001.p107.edgesuite.net/i/c001/rtl2_1@97460/master.m3u8",
	"ProSieben^DE^http://c001.p106.edgesuite.net/i/c001/prosieben_1@97456/master.m3u8",
	"VOX^DE^http://c001.p108.edgesuite.net/i/c001/vox_1@97466/master.m3u8",
	"Kabel 1^DE^http://c001.p105.edgesuite.net/i/c001/kabeleins_1@97453/master.m3u8",
	"DMax^DE^http://c001.p104.edgesuite.net/i/c001/dmax_1@97398/master.m3u8",
	"Sixx^DE^http://c001.p107.edgesuite.net/i/c001/sixx_1@97462/master.m3u8",
	"Das Vierte^DE^http://c001.p104.edgesuite.net/i/c001/dasvierte_1@97396/master.m3u8",
	"Nick/ComedyCentral^DE^http://c001.p105.edgesuite.net/i/c001/nickcc_1@97455/master.m3u8",
	"Super RTL^DE^http://c001.p107.edgesuite.net/i/c001/superrtl_1@97463/master.m3u8",
	"VIVA^DE^http://c001.p105.edgesuite.net/i/c001/viva_1@97493/master.m3u8",
	"Sport 1^DE^http://c001.p108.edgesuite.net/i/c001/sport1_1@97464/master.m3u8",
	"N24^DE^http://c001.p104.edgesuite.net/i/c001/n24_1@97406/master.m3u8",
	"NTV^DE^http://c001.p104.edgesuite.net/i/c001/ntv_1@97405/master.m3u8",
	"KiKa^DE^http://c001.p113.edgesuite.net/i/c001/kika_1@97487/master.m3u8",
	"SRF 1^DE^http://c001.p110.edgesuite.net/i/c001/sf1_1@97474/master.m3u8",
	"SRF 2^DE^http://c001.p110.edgesuite.net/i/c001/sf2_1@97475/master.m3u8",
	"Orf 1^DE^http://c001.p113.edgesuite.net/i/c001/orf1_1@97573/master.m3u8",
	"Orf 2^DE^http://c001.p113.edgesuite.net/i/c001/orf2_1@97574/master.m3u8",
	"3+^DE^http://c001.p114.edgesuite.net/i/c001/3plus_1@97489/master.m3u8",
	"Arte^DE^http://c001.p107.edgesuite.net/i/c001/artede_1@97463/master.m3u8",
	"SRF Info^DE^http://c001.p104.edgesuite.net/i/c001/sfinfo_1@97408/master.m3u8",
	"3Sat^DE^http://c001.p112.edgesuite.net/i/c001/3sat_1@97480/master.m3u8",
	"ZDF Neo^DE^http://c001.p111.edgesuite.net/i/c001/zdfneo_1@97479/master.m3u8",
	"SWR^DE^http://c001.p113.edgesuite.net/i/c001/swr_1@97485/master.m3u8",
	"BR 3^DE^http://c001.p107.edgesuite.net/i/c001/br3_1@97517/master.m3u8",
	"Phoenix^DE^http://c001.p111.edgesuite.net/i/c001/phoenix_1@97476/master.m3u8",
	"EuroSport^DE^http://c001.p105.edgesuite.net/i/c001/eurosportde_1@97452/master.m3u8",
	"Joiz^DE^http://c001.p118.edgesuite.net/i/c001/joiz_1@135266/master.m3u8",
	"Tele Zuri^DE^http://c001.p119.edgesuite.net/i/c001/tzurich_1@135275/master.m3u8",
	"TeleSud Ostschweiz^DE^http://c001.p119.edgesuite.net/i/c001/tsudost_1@135274/master.m3u8",
	"CNN^EN^http://c001.p105.edgesuite.net/i/c001/cnn_1@97501/master.m3u8",
	"BBC World News^EN^http://c001.p105.edgesuite.net/i/c001/bbcworld_1@97498/master.m3u8",
	"RTS 1^FR^http://c001.p109.edgesuite.net/i/c001/rts1_1@97469/master.m3u8",
	"RTS 2^FR^http://c001.p109.edgesuite.net/i/c001/rts2_1@97470/master.m3u8",
	"TV5Monde^FR^http://c001.p103.edgesuite.net/i/c001/tv5monde_1@97380/master.m3u8",
	"France 2^FR^http://c001.p101.edgesuite.net/i/c001/france2_1@97347/master.m3u8",
	"France 3^FR^http://c001.p100.edgesuite.net/i/c001/france3_1@97329/master.m3u8",
	"France 5^FR^http://c001.p102.edgesuite.net/i/c001/france5_1@97351/master.m3u8",
	"RTL 9^FR^http://c001.p102.edgesuite.net/i/c001/rtl9_1@97354/master.m3u8",
	"TF 1^FR^http://c001.p109.edgesuite.net/i/c001/tf1_1@97468/master.m3u8",
	"M6^FR^http://c001.p108.edgesuite.net/i/c001/m6_1@97467/master.m3u8",
	"Arte^FR^http://c001.p101.edgesuite.net/i/c001/artefr_1@97346/master.m3u8",
	"RSI LA1^IT^http://c001.p110.edgesuite.net/i/c001/rsila1_1@97472/master.m3u8",
	"RSI LA2^IT^http://c001.p110.edgesuite.net/i/c001/rsila2_1@97473/master.m3u8",
	"Rai 1^IT^http://c001.p103.edgesuite.net/i/c001/rai1_1@97382/master.m3u8",
	"Rouge^FR^http://c001.p102.edgesuite.net/i/c001/rouge_1@97359/master.m3u8",
	"RTL Nitro^DE^http://c001.p106.edgesuite.net/i/c001/rtlnitro_1@97458/master.m3u8",
	"Servus^DE^http://c001.p114.edgesuite.net/i/c001/servus_1@97488/master.m3u8",
	"ATV^DE^http://c001.p114.edgesuite.net/i/c001/atv_1@97491/master.m3u8",
	"C9^FR^http://c001.p117.edgesuite.net/i/c001/c9_1@135252/master.m3u8",
	"Canal Alpha Jura^FR^http://c001.p117.edgesuite.net/i/c001/caju_1@135253/master.m3u8",
	"Tele 1^DE^http://c001.p118.edgesuite.net/i/c001/t1_1@135267/master.m3u8",
	"Tele M1 W^DE^http://c001.p108.edgesuite.net/i/c001/tm1w_1@135269/master.m3u8",
	"Tele Top TG^DE^http://c001.p120.edgesuite.net/i/c001/tttg_1@135278/master.m3u8",
	"Tele Top ZH^DE^http://c001.p119.edgesuite.net/i/c001/ttzh_1@135271/master.m3u8",
	"Tele Top SH^DE^http://c001.p120.edgesuite.net/i/c001/ttsh_1@135279/master.m3u8",
	"TVO^DE^http://c001.p118.edgesuite.net/i/c001/tost_1@135270/master.m3u8",
	"Tele M1 O^DE^http://c001.p118.edgesuite.net/i/c001/tm1o_1@135268/master.m3u8",
	"Canal Alpha Neuchatel^FR^http://c001.p117.edgesuite.net/i/c001/cane_1@135254/master.m3u8",
	"Tele Ticino^IT^http://c001.p117.edgesuite.net/i/c001/tticino_1@135255/master.m3u8",
	"TeleBasel^DE^http://c001.p119.edgesuite.net/i/c001/tbasel_1@135273/master.m3u8",
	"TeleBarn^DE^http://c001.p119.edgesuite.net/i/c001/tbarn_1@135272/master.m3u8",
	"TeleBielingue^DE^http://c001.p120.edgesuite.net/i/c001/tbielingue_1@135280/master.m3u8",
	"Italia 1^IT^http://c001.p103.edgesuite.net/i/c001/italia1_1@97381/master.m3u8",
	"Das Erste HD^DE^http://c001.p104.edgesuite.net/i/c001/daserstehd_1@97395/master.m3u8",
	"ZDF HD^DE^http://c001.p108.edgesuite.net/i/c001/zdfhd_1@97431/master.m3u8",
	"Arte HD^DE^http://c001.p104.edgesuite.net/i/c001/artedehd_1@97394/master.m3u8",
	"3Sat HD^DE^http://c001.p104.edgesuite.net/i/c001/3sathd_1@97393/master.m3u8",
	"NDR^DE^http://c001.p113.edgesuite.net/i/c001/ndr_1@97484/master.m3u8",
	"NDR HD^DE^http://c001.p105.edgesuite.net/i/c001/ndrhd_1@97424/master.m3u8",
	"WDR HD^DE^http://c001.p107.edgesuite.net/i/c001/wdrhd_1@97430/master.m3u8",
	"MDR^DE^http://c001.p123.edgesuite.net/i/c001/mdr_1@137782/master.m3u8",
	"MDR HD^DE^http://c001.p127.edgesuite.net/i/c001/mdrhd_1@180319/master.m3u8",
	"BR 3 HD^DE^http://c001.p101.edgesuite.net/i/c001/br3_hd_1@97418/master.m3u8",
	"SWR HD^DE^http://c001.p107.edgesuite.net/i/c001/swrhd_1@97429/master.m3u8",
	"HR^DE^http://c001.p123.edgesuite.net/i/c001/hr_1@137778/master.m3u8",
	"HR HD^DE^http://c001.p113.edgesuite.net/i/c001/hr_hd_1@97447/master.m3u8",
	"rbb^DE^http://c001.p106.edgesuite.net/i/c001/rbb_1@97457/master.m3u8",
	"rbb HD^DE^http://c001.p114.edgesuite.net/i/c001/rbb_hd_1@97449/master.m3u8",
	"Phoenix HD^DE^http://c001.p107.edgesuite.net/i/c001/phoenixhd_1@97428/master.m3u8",
	"ARD Alpha^DE^http://c001.p123.edgesuite.net/i/c001/bralpha_1@137776/master.m3u8",
	"N24 HD^DE^http://c001.p109.edgesuite.net/i/c001/n24hd_1@97436/master.m3u8",
	"Disney Channel^DE^http://c001.p104.edgesuite.net/i/c001/disney_channel_de_1@97396/master.m3u8",
	"Servus HD^DE^http://c001.p106.edgesuite.net/i/c001/servushd_1@97425/master.m3u8",
	"Tele 5^DE^http://c001.p108.edgesuite.net/i/c001/tele5_1@97465/master.m3u8",
	"KiKa HD^DE^http://c001.p105.edgesuite.net/i/c001/kikahd_1@97423/master.m3u8",
	"Ric^DE^http://c001.p123.edgesuite.net/i/c001/ric_1@137780/master.m3u8",
	"ProSieben MAXX^DE^http://c001.p107.edgesuite.net/i/c001/pro7maxx_1@97522/master.m3u8",
	"ZDF Neo HD^DE^http://c001.p109.edgesuite.net/i/c001/zdfneohd_1@97434/master.m3u8",
	"ZDF Kultur^DE^http://c001.p111.edgesuite.net/i/c001/zdfkultur_1@97478/master.m3u8",
	"ZDF Kultur HD^DE^http://c001.p108.edgesuite.net/i/c001/zdfkulturhd_1@97433/master.m3u8",
	"ZDF Info^DE^http://c001.p111.edgesuite.net/i/c001/zdfinfo_1@97477/master.m3u8",
	"ZDF Info HD^DE^http://c001.p108.edgesuite.net/i/c001/zdfinfohd_1@97432/master.m3u8",
	"EinsPlus^DE^http://c001.p123.edgesuite.net/i/c001/einsplus_1@137775/master.m3u8",
	"EinsPlus HD^DE^http://c001.p113.edgesuite.net/i/c001/einsplus_hd_1@97446/master.m3u8",
	"Einsfestival^DE^http://c001.p112.edgesuite.net/i/c001/einsfestival_1@97482/master.m3u8",
	"Einsfestival HD^DE^http://c001.p105.edgesuite.net/i/c001/einsfestivalhd_1@97422/master.m3u8",
	"tagesschau 24^DE^http://c001.p123.edgesuite.net/i/c001/tagesschau24_1@137781/master.m3u8",
	"tagesschau 24 HD^DE^http://c001.p114.edgesuite.net/i/c001/tagesschau24_hd_1@97450/master.m3u8",
	"Deluxe Music^DE^http://c001.p123.edgesuite.net/i/c001/deluxemusic_1@137777/master.m3u8",
	"Anixe^DE^http://c001.p113.edgesuite.net/i/c001/anixe_1@97486/master.m3u8",
	"Anixe HD^DE^http://c001.p111.edgesuite.net/i/c001/anixehd_1@97440/master.m3u8",
	"DW^DE^http://c001.p104.edgesuite.net/i/c001/dwtv_1@97397/master.m3u8",
	"k-tv^DE^http://c001.p104.edgesuite.net/i/c001/ktv_1@97400/master.m3u8",
	"Orf 1 HD^DE^http://c001.p101.edgesuite.net/i/c001/orf1hd_1@97416/master.m3u8",
	"Orf 2 HD^DE^http://c001.p101.edgesuite.net/i/c001/orf2hd_1@97417/master.m3u8",
	"SRF 1 HD^DE^http://c001.p106.edgesuite.net/i/c001/sf1hd_1@97426/master.m3u8",
	"SRF 2 HD^DE^http://c001.p106.edgesuite.net/i/c001/sf2hd_1@97427/master.m3u8",
	"S1 HD^DE^http://c001.p117.edgesuite.net/i/c001/s1tvhd_1@135250/master.m3u8",
	"TV24 HD^DE^http://c001.p128.edgesuite.net/i/c001/tv24_hd_1@180322/master.m3u8",
	"Tele Zuri HD^DE^http://c001.p128.edgesuite.net/i/c001/tzurich_hd_1@180321/master.m3u8",
	"TF 1 HD^FR^http://c001.p102.edgesuite.net/i/c001/tf1hd_1@97413/master.m3u8",
	"France 2 HD^FR^http://c001.p100.edgesuite.net/i/c001/france2hd_1@97420/master.m3u8",
	"Canal+^FR^http://c001.p101.edgesuite.net/i/c001/canalplus_1@97337/master.m3u8",
	"M6 HD^FR^http://c001.p100.edgesuite.net/i/c001/m6hd_1@97421/master.m3u8",
	"RTS 1 HD^FR^http://c001.p126.edgesuite.net/i/c001/rts1hd_1@114347/master.m3u8",
	"RTS 2 HD^FR^http://c001.p102.edgesuite.net/i/c001/rts2hd_1@97415/master.m3u8",
	"Arte HD^FR^http://c001.p100.edgesuite.net/i/c001/artefrhd_1@97419/master.m3u8",
	"D8^FR^http://c001.p100.edgesuite.net/i/c001/d8_1@97328/master.m3u8",
	"W9^FR^http://c001.p101.edgesuite.net/i/c001/w9_1@97344/master.m3u8",
	"TMC^FR^http://c001.p103.edgesuite.net/i/c001/tmc_1@97379/master.m3u8",
	"NT1^FR^http://c001.p108.edgesuite.net/i/c001/nt1_1@97528/master.m3u8",
	"NRJ12^FR^http://c001.p121.edgesuite.net/i/c001/nrj12_1@137759/master.m3u8",
	"France 4^FR^http://c001.p100.edgesuite.net/i/c001/france4_1@97330/master.m3u8",
	"BFM TV^FR^http://c001.p121.edgesuite.net/i/c001/bfmtv_1@137750/master.m3u8",
	"ITele^FR^http://c001.p121.edgesuite.net/i/c001/itele_1@137755/master.m3u8",
	"D17^FR^http://c001.p100.edgesuite.net/i/c001/d17_1@97327/master.m3u8",
	"gulli^FR^http://c001.p102.edgesuite.net/i/c001/gulli_1@97352/master.m3u8",
	"France O^FR^http://c001.p122.edgesuite.net/i/c001/franceo_1@137770/master.m3u8",
	"HD1 HD^FR^http://c001.p110.edgesuite.net/i/c001/hd1hd_1@97437/master.m3u8",
	"L'Equipe HD^FR^http://c001.p110.edgesuite.net/i/c001/equipetvhd_1@97439/master.m3u8",
	"6ter HD^FR^http://c001.p112.edgesuite.net/i/c001/6terhd_1@97443/master.m3u8",
	"N23 HD^FR^http://c001.p112.edgesuite.net/i/c001/n23hd_1@97444/master.m3u8",
	"RMC HD^FR^http://c001.p112.edgesuite.net/i/c001/rmchd_1@97445/master.m3u8",
	"Cherie 25 HD^FR^http://c001.p110.edgesuite.net/i/c001/cheriehd_1@97438/master.m3u8",
	"BFM Business^FR^http://c001.p121.edgesuite.net/i/c001/bfmb_1@137749/master.m3u8",
	"France 24^FR^http://c001.p121.edgesuite.net/i/c001/france24_1@137754/master.m3u8",
	"EuroNews^FR^http://c001.p121.edgesuite.net/i/c001/euronews_1@137752/master.m3u8",
	"Montagne^FR^http://c001.p121.edgesuite.net/i/c001/montagne_1@137758/master.m3u8",
	"TVM3^FR^http://c001.p104.edgesuite.net/i/c001/tvm3_1@97401/master.m3u8",
	"kto^FR^http://c001.p105.edgesuite.net/i/c001/kto_1@97495/master.m3u8",
	"BBC 1^EN^http://c001.p109.edgesuite.net/i/c001/bbc1_1@97471/master.m3u8",
	"BBC 1 HD^EN^http://c001.p103.edgesuite.net/i/c001/bbc1hd_1@97412/master.m3u8",
	"BBC 2^EN^http://c001.p124.edgesuite.net/i/c001/bbc2_1@137786/master.m3u8",
	"BBC 2 HD^EN^http://c001.p109.edgesuite.net/i/c001/bbc2hd_1@97435/master.m3u8",
	"BBC 3^EN^http://c001.p113.edgesuite.net/i/c001/bbc3_1@97575/master.m3u8",
	"BBC 3 HD^EN^http://c001.p126.edgesuite.net/i/c001/bbc3_hd_1@180212/master.m3u8",
	"BBC 4^EN^http://c001.p123.edgesuite.net/i/c001/bbc4_1@137784/master.m3u8",
	"BBC 4 HD^EN^http://c001.p126.edgesuite.net/i/c001/bbc4_hd_1@180211/master.m3u8",
	"ITV 1^EN^http://c001.p124.edgesuite.net/i/c001/itv1_1@137791/master.m3u8",
	"ITV 1 HD^EN^http://c001.p111.edgesuite.net/i/c001/itvhd_1@97442/master.m3u8",
	"ITV 2^EN^http://c001.p124.edgesuite.net/i/c001/itv2_1@137792/master.m3u8",
	"ITV 3^EN^http://c001.p105.edgesuite.net/i/c001/itv3_1@97494/master.m3u8",
	"ITV 4^EN^http://c001.p106.edgesuite.net/i/c001/itv4_1@97503/master.m3u8",
	"Channel 4 HD^EN^http://c001.p111.edgesuite.net/i/c001/channel4hd_1@97441/master.m3u8",
	"Channel 5^EN^http://c001.p124.edgesuite.net/i/c001/channel5_1@137787/master.m3u8",
	"More4^EN^http://c001.p124.edgesuite.net/i/c001/more4_1@137795/master.m3u8",
	"Fashion TV^EN^http://c001.p106.edgesuite.net/i/c001/fashiontv_1@97512/master.m3u8",
	"Travel Channel^EN^http://c001.p113.edgesuite.net/i/c001/travelchannel_1@97576/master.m3u8",
	"BBC World News HD^EN^http://c001.p127.edgesuite.net/i/c001/bbcnewshd_1@180318/master.m3u8",
	"CCTV News^EN^http://c001.p101.edgesuite.net/i/c001/cctvnews_1@97342/master.m3u8",
	"Al Jazeera^EN^http://c001.p123.edgesuite.net/i/c001/aljazeera_1@137783/master.m3u8",
	"Bloomberg TV^EN^http://c001.p124.edgesuite.net/i/c001/bloomberg_1@137785/master.m3u8",
	"CNBC^EN^http://c001.p124.edgesuite.net/i/c001/cnbc_1@137788/master.m3u8",
	"NHK World^EN^http://c001.p124.edgesuite.net/i/c001/nhkw_1@137796/master.m3u8",
	"Russia Today^EN^http://c001.p125.edgesuite.net/i/c001/russia_1@137797/master.m3u8",
	"Sky News^EN^http://c001.p106.edgesuite.net/i/c001/skynews_1@97511/master.m3u8",
	"RSI LA1 HD^IT^http://c001.p103.edgesuite.net/i/c001/rsila1hd_1@97410/master.m3u8",
	"RSI LA2 HD^IT^http://c001.p103.edgesuite.net/i/c001/rsila2hd_1@97411/master.m3u8",
	"Rai 2^IT^http://c001.p122.edgesuite.net/i/c001/rai2_1@137763/master.m3u8",
	"Rai 3^IT^http://c001.p122.edgesuite.net/i/c001/rai3_1@137764/master.m3u8",
	"Rai Gulp^IT^http://c001.p122.edgesuite.net/i/c001/raigulp_1@137765/master.m3u8",
	"Rai Scuola^IT^http://c001.p122.edgesuite.net/i/c001/raiscuola_1@137768/master.m3u8",
	"Rai Storia^IT^http://c001.p103.edgesuite.net/i/c001/raistoria_1@97389/master.m3u8",
	"Rai Sport 1^IT^http://c001.p103.edgesuite.net/i/c001/raisport1_1@97387/master.m3u8",
	"Rai Sport 2^IT^http://c001.p122.edgesuite.net/i/c001/raisport2_1@137769/master.m3u8",
	"Rai News24^IT^http://c001.p122.edgesuite.net/i/c001/rainews_1@137767/master.m3u8",
	"Canale 5^IT^http://c001.p121.edgesuite.net/i/c001/canale5_1@137760/master.m3u8",
	"Class TV Moda^IT^http://c001.p103.edgesuite.net/i/c001/tvmoda_1@97383/master.m3u8",
	"LA7^IT^http://c001.p122.edgesuite.net/i/c001/la7_1@137762/master.m3u8",
	"TV24^DE^http://c001.p111.edgesuite.net/i/c001/tv24_1@97562/master.m3u8",
	"La Tele^FR^http://c001.p109.edgesuite.net/i/c001/latele_1@97539/master.m3u8",
	"RTL CH^DE^http://c001.p118.edgesuite.net/i/c001/rtlchhd_1@135257/master.m3u8",
	"ProSieben HD^DE^http://c001.p119.edgesuite.net/i/c001/pro7chhd_1@135262/master.m3u8",
	"Cartoon Network^FR^http://c001.p121.edgesuite.net/i/c001/cn_1@137751/master.m3u8",
	"Leman Bleu^FR^http://c001.p121.edgesuite.net/i/c001/lemanbleu_1@137757/master.m3u8",
	"Rete 4^IT^http://c001.p122.edgesuite.net/i/c001/rete4_1@137766/master.m3u8",
	"EuroNews^DE^http://c001.p123.edgesuite.net/i/c001/euronewsde_1@137774/master.m3u8",
	"E4^EN^http://c001.p124.edgesuite.net/i/c001/e4_1@137789/master.m3u8",
	"Film4^EN^http://c001.p124.edgesuite.net/i/c001/film4_1@137790/master.m3u8"]

print "\r\nWelcome to WilmaaTV v" + version + " by gg\r\n";

for channel in channels:
    ch = channel.split('^')
    cpays = ch[1].lower()
    if cpays not in listes_pays:
        codes_pays.append(cpays)
        listes_pays[cpays] = []
    listes_pays[cpays].append(ch[0] + '^' + ch[2])

parser = argparse.ArgumentParser(description='wilmmaa parser')
parser.add_argument('--pays', metavar='pays', choices=codes_pays)
parser.add_argument('--chaine', metavar='chaine', type=int)
parser.add_argument('--duree', metavar='duree', type=int)

pargs = parser.parse_args(sys.argv[1:])
args = vars(pargs)

if not pargs.pays:
    print codes_pays
    sys.exit(0)

lstp = listes_pays[args['pays']]
if not pargs.chaine:
    for n, chaine in enumerate(lstp):
        print n + 1, chaine.split('^')[0]
    sys.exit(0)

chaine =  args['chaine']
duree =   args['duree']
if not duree:
    print pargs.duree
    print "duree doit etre un entier"
    sys.exit(0)
pprint(lstp)
chaine = lstp[chaine - 1]
print duree

title, url = chaine.split('^')
print title
print url
ip = "85.%d.%d.%d" % (randint(0,7), randint(0,255), randint(0,255))
print ip
print "\r\nPlaying "+ title + "...\r\n";

filename = "%s-%s.ts" % (title.replace(' ', '_').replace("'","_"), datetime.datetime.today().strftime("%Y%m%d-%H%M%S"))

print filename
 
cmd = 'livestreamer  -o ' + filename + ' -f --player "'' + vlc + \
      '' --meta-title=' + title + \
      ' --file-caching=10000" --http-header "X-Forwarded-For=' + ip + \
      '" "hlsvariant://' + url + '" best';

cmd = 'livestreamer  -o ' + filename + ' --http-header "X-Forwarded-For=' + ip + \
      '" "hlsvariant://' + url + '" best';
print cmd
arguments = shlex.split(cmd)
process = subprocess.Popen(arguments) # , stdout=subprocess.STDOUT, stderr=subprocess.STDOUT)
pid = process.pid
time.sleep(duree)
process.terminate()
time.sleep(5)

Archlinux sur Xiaomi Air 13

Hors ligne

#6 Le 16/10/2015, à 13:12

sylvain3800

Re : [Tuto] Planifier l'enregistrement d'une TV européenne

Bonjour et merci k3c,
petit retour sur ton script :
Je viens de tester le script python . il marche très très bien à condition d'avoir installé en premier lieu livestreamer big_smile

Pour un premier test, j'ai juste demandé d'enregistrer 30 secondes en direct et ai obtenu 49 seconde de video mais je vais tester l'enregistrement via crontab pour ce soir et si tout se passe bien ...je vais pouvoir enregistrer demain le match france nouvelle zelande que je ne pourais pas regarder sur internet devant passer le week end à travailler....

Je n'habite pas en france et ne regarde donc jamais la télé francaise ,ce qui n'etant pas un consomateur de télé ne me manque pas du tout   cependant une fois tout les 4 ans pour la coupe du monde de rugby , j'ai l'habitude d'essayer de suivre la competition tant bien que mal vivant en allemagne où les matches ne sont pas diffusé ...

grace à ton script , je devrai pouvoir regarder le match dimanche en sortant du travail.

Tout ca pour dire que ton script est vraiment très utile au expatrié qui ne peuvent pas suivre la télé sur le net les chaines limitant geograpiquement la diffusion de leurs programmes.

moi j'y trouve un interêt pour la coupe du monde de rugby, d'autre y trouveront surement un interet pour d'autre evenemets 

Voilà en résumé ca marche et bravo tu as fait au moins un heureux !!

donc je te remercie doubĺement d'avoir ecrit ce script et de me permettre de vivre à moi aussi la probable defaite de l'equipe de france de rugby  en différé

Dernière modification par sylvain3800 (Le 16/10/2015, à 13:14)


Cogito ergo sum = je consome donc je suis : je pense, donc je suis !

IN-SHADOW:https://www.youtube.com/watch?v=j800SVeiS5I

Hors ligne

#7 Le 16/10/2015, à 16:56

k3c

Re : [Tuto] Planifier l'enregistrement d'une TV européenne

@ sylvain3800

Merci pour ton retour, ça fait plaisir de savoir qu'une personne l'utilise !

Sinon je pense ajouter un dernier paramètre, la qualité
du genre
--qual worst
ou
--qual best

ce qui permettra aux personnes ayant un faible débit de télécharger, vu que pour l'instant c'est forcément
best.


Archlinux sur Xiaomi Air 13

Hors ligne

#8 Le 16/10/2015, à 23:42

k3c

Re : [Tuto] Planifier l'enregistrement d'une TV européenne

Nouvelle version avec un choix de qualité, qui peut être
best
ou
worst

par exemple, un flux qui va proposer

[cli][info] Available streams: 404p (worst), 576p (best)

si on indique
worst, on aura le 404p (j'ai noté avec

sudo nethogs wlan0

un débit moyen de 114.8 KB/s)
best on aura le 576p (débit moyen de  189.8 KB/s)
Cela vous donne une idée de la bande passante nécessaire pour récupérer correctement une TV.

Je n'ai pas de méthode magique pour connaître les débits proposés sur une chaîne, je lance une fois le script
et je regarde (je pourrai lancer le flux quelques secondes, analyser et proposer, mais bon, comme ce script est destiné à être lancé en batch, il n'y aura personne pour répondre :-)

Exemple de lancement avec cette version 0.9.1

python wilmaa.py --pays fr --chaine 1 --duree 120 --qual worst

qui va afficher un truc du genre

Welcome to WilmaaTV v0.9.1 by gg

85.0.136.247

Playing RTS 1...

livestreamer  -o RTS_1-20151017-100255.ts --http-header "X-Forwarded-For=85.0.136.247" "hlsvariant://http://c001.p109.edgesuite.net/i/c001/rts1_1@97469/master.m3u8" worst
[cli][info] Found matching plugin stream for URL hlsvariant://http://c001.p109.edgesuite.net/i/c001/rts1_1@97469/master.m3u8
[cli][info] Available streams: 404p (worst), 576p (best)
[cli][info] Opening stream: 404p (hls)
[download][RTS_1-20151017-100255.ts] Written 15.0 MB (1m50s @ 116.2 KB/s)                                                   Interrupted! Closing currently open stream...

et on a un fichier de 16 M pour 120 secondes

ls -alrt RTS_1-20151017-100255.ts 
-rw-rw-r-- 1 gg gg 16847056 oct.  17 10:04 RTS_1-20151017-100255.ts

Le code

# -*- coding:utf-8 -*-
import sys
from pprint import pprint
import argparse
from random import randint
import datetime
import subprocess, shlex
import time

version = "0.9.1"
# error_reporting(0)
vlc = "vlc"
listes_pays = {}
codes_pays = []

channels = [
	"Das Erste^DE^http://c001.p112.edgesuite.net/i/c001/daserste_1@97481/master.m3u8",
	"ZDF^DE^http://c001.p112.edgesuite.net/i/c001/zdf_1@97483/master.m3u8",
	"WDR^DE^http://c001.p114.edgesuite.net/i/c001/wdr_1@97490/master.m3u8",
	"Sat1^DE^http://c001.p107.edgesuite.net/i/c001/sat1_1@97461/master.m3u8",
	"RTL 1^DE^http://c001.p106.edgesuite.net/i/c001/rtl_1@97459/master.m3u8",
	"RTL 2^DE^http://c001.p107.edgesuite.net/i/c001/rtl2_1@97460/master.m3u8",
	"ProSieben^DE^http://c001.p106.edgesuite.net/i/c001/prosieben_1@97456/master.m3u8",
	"VOX^DE^http://c001.p108.edgesuite.net/i/c001/vox_1@97466/master.m3u8",
	"Kabel 1^DE^http://c001.p105.edgesuite.net/i/c001/kabeleins_1@97453/master.m3u8",
	"DMax^DE^http://c001.p104.edgesuite.net/i/c001/dmax_1@97398/master.m3u8",
	"Sixx^DE^http://c001.p107.edgesuite.net/i/c001/sixx_1@97462/master.m3u8",
	"Das Vierte^DE^http://c001.p104.edgesuite.net/i/c001/dasvierte_1@97396/master.m3u8",
	"Nick/ComedyCentral^DE^http://c001.p105.edgesuite.net/i/c001/nickcc_1@97455/master.m3u8",
	"Super RTL^DE^http://c001.p107.edgesuite.net/i/c001/superrtl_1@97463/master.m3u8",
	"VIVA^DE^http://c001.p105.edgesuite.net/i/c001/viva_1@97493/master.m3u8",
	"Sport 1^DE^http://c001.p108.edgesuite.net/i/c001/sport1_1@97464/master.m3u8",
	"N24^DE^http://c001.p104.edgesuite.net/i/c001/n24_1@97406/master.m3u8",
	"NTV^DE^http://c001.p104.edgesuite.net/i/c001/ntv_1@97405/master.m3u8",
	"KiKa^DE^http://c001.p113.edgesuite.net/i/c001/kika_1@97487/master.m3u8",
	"SRF 1^DE^http://c001.p110.edgesuite.net/i/c001/sf1_1@97474/master.m3u8",
	"SRF 2^DE^http://c001.p110.edgesuite.net/i/c001/sf2_1@97475/master.m3u8",
	"Orf 1^DE^http://c001.p113.edgesuite.net/i/c001/orf1_1@97573/master.m3u8",
	"Orf 2^DE^http://c001.p113.edgesuite.net/i/c001/orf2_1@97574/master.m3u8",
	"3+^DE^http://c001.p114.edgesuite.net/i/c001/3plus_1@97489/master.m3u8",
	"Arte^DE^http://c001.p107.edgesuite.net/i/c001/artede_1@97463/master.m3u8",
	"SRF Info^DE^http://c001.p104.edgesuite.net/i/c001/sfinfo_1@97408/master.m3u8",
	"3Sat^DE^http://c001.p112.edgesuite.net/i/c001/3sat_1@97480/master.m3u8",
	"ZDF Neo^DE^http://c001.p111.edgesuite.net/i/c001/zdfneo_1@97479/master.m3u8",
	"SWR^DE^http://c001.p113.edgesuite.net/i/c001/swr_1@97485/master.m3u8",
	"BR 3^DE^http://c001.p107.edgesuite.net/i/c001/br3_1@97517/master.m3u8",
	"Phoenix^DE^http://c001.p111.edgesuite.net/i/c001/phoenix_1@97476/master.m3u8",
	"EuroSport^DE^http://c001.p105.edgesuite.net/i/c001/eurosportde_1@97452/master.m3u8",
	"Joiz^DE^http://c001.p118.edgesuite.net/i/c001/joiz_1@135266/master.m3u8",
	"Tele Zuri^DE^http://c001.p119.edgesuite.net/i/c001/tzurich_1@135275/master.m3u8",
	"TeleSud Ostschweiz^DE^http://c001.p119.edgesuite.net/i/c001/tsudost_1@135274/master.m3u8",
	"CNN^EN^http://c001.p105.edgesuite.net/i/c001/cnn_1@97501/master.m3u8",
	"BBC World News^EN^http://c001.p105.edgesuite.net/i/c001/bbcworld_1@97498/master.m3u8",
	"RTS 1^FR^http://c001.p109.edgesuite.net/i/c001/rts1_1@97469/master.m3u8",
	"RTS 2^FR^http://c001.p109.edgesuite.net/i/c001/rts2_1@97470/master.m3u8",
	"TV5Monde^FR^http://c001.p103.edgesuite.net/i/c001/tv5monde_1@97380/master.m3u8",
	"France 2^FR^http://c001.p101.edgesuite.net/i/c001/france2_1@97347/master.m3u8",
	"France 3^FR^http://c001.p100.edgesuite.net/i/c001/france3_1@97329/master.m3u8",
	"France 5^FR^http://c001.p102.edgesuite.net/i/c001/france5_1@97351/master.m3u8",
	"RTL 9^FR^http://c001.p102.edgesuite.net/i/c001/rtl9_1@97354/master.m3u8",
	"TF 1^FR^http://c001.p109.edgesuite.net/i/c001/tf1_1@97468/master.m3u8",
	"M6^FR^http://c001.p108.edgesuite.net/i/c001/m6_1@97467/master.m3u8",
	"Arte^FR^http://c001.p101.edgesuite.net/i/c001/artefr_1@97346/master.m3u8",
	"RSI LA1^IT^http://c001.p110.edgesuite.net/i/c001/rsila1_1@97472/master.m3u8",
	"RSI LA2^IT^http://c001.p110.edgesuite.net/i/c001/rsila2_1@97473/master.m3u8",
	"Rai 1^IT^http://c001.p103.edgesuite.net/i/c001/rai1_1@97382/master.m3u8",
	"Rouge^FR^http://c001.p102.edgesuite.net/i/c001/rouge_1@97359/master.m3u8",
	"RTL Nitro^DE^http://c001.p106.edgesuite.net/i/c001/rtlnitro_1@97458/master.m3u8",
	"Servus^DE^http://c001.p114.edgesuite.net/i/c001/servus_1@97488/master.m3u8",
	"ATV^DE^http://c001.p114.edgesuite.net/i/c001/atv_1@97491/master.m3u8",
	"C9^FR^http://c001.p117.edgesuite.net/i/c001/c9_1@135252/master.m3u8",
	"Canal Alpha Jura^FR^http://c001.p117.edgesuite.net/i/c001/caju_1@135253/master.m3u8",
	"Tele 1^DE^http://c001.p118.edgesuite.net/i/c001/t1_1@135267/master.m3u8",
	"Tele M1 W^DE^http://c001.p108.edgesuite.net/i/c001/tm1w_1@135269/master.m3u8",
	"Tele Top TG^DE^http://c001.p120.edgesuite.net/i/c001/tttg_1@135278/master.m3u8",
	"Tele Top ZH^DE^http://c001.p119.edgesuite.net/i/c001/ttzh_1@135271/master.m3u8",
	"Tele Top SH^DE^http://c001.p120.edgesuite.net/i/c001/ttsh_1@135279/master.m3u8",
	"TVO^DE^http://c001.p118.edgesuite.net/i/c001/tost_1@135270/master.m3u8",
	"Tele M1 O^DE^http://c001.p118.edgesuite.net/i/c001/tm1o_1@135268/master.m3u8",
	"Canal Alpha Neuchatel^FR^http://c001.p117.edgesuite.net/i/c001/cane_1@135254/master.m3u8",
	"Tele Ticino^IT^http://c001.p117.edgesuite.net/i/c001/tticino_1@135255/master.m3u8",
	"TeleBasel^DE^http://c001.p119.edgesuite.net/i/c001/tbasel_1@135273/master.m3u8",
	"TeleBarn^DE^http://c001.p119.edgesuite.net/i/c001/tbarn_1@135272/master.m3u8",
	"TeleBielingue^DE^http://c001.p120.edgesuite.net/i/c001/tbielingue_1@135280/master.m3u8",
	"Italia 1^IT^http://c001.p103.edgesuite.net/i/c001/italia1_1@97381/master.m3u8",
	"Das Erste HD^DE^http://c001.p104.edgesuite.net/i/c001/daserstehd_1@97395/master.m3u8",
	"ZDF HD^DE^http://c001.p108.edgesuite.net/i/c001/zdfhd_1@97431/master.m3u8",
	"Arte HD^DE^http://c001.p104.edgesuite.net/i/c001/artedehd_1@97394/master.m3u8",
	"3Sat HD^DE^http://c001.p104.edgesuite.net/i/c001/3sathd_1@97393/master.m3u8",
	"NDR^DE^http://c001.p113.edgesuite.net/i/c001/ndr_1@97484/master.m3u8",
	"NDR HD^DE^http://c001.p105.edgesuite.net/i/c001/ndrhd_1@97424/master.m3u8",
	"WDR HD^DE^http://c001.p107.edgesuite.net/i/c001/wdrhd_1@97430/master.m3u8",
	"MDR^DE^http://c001.p123.edgesuite.net/i/c001/mdr_1@137782/master.m3u8",
	"MDR HD^DE^http://c001.p127.edgesuite.net/i/c001/mdrhd_1@180319/master.m3u8",
	"BR 3 HD^DE^http://c001.p101.edgesuite.net/i/c001/br3_hd_1@97418/master.m3u8",
	"SWR HD^DE^http://c001.p107.edgesuite.net/i/c001/swrhd_1@97429/master.m3u8",
	"HR^DE^http://c001.p123.edgesuite.net/i/c001/hr_1@137778/master.m3u8",
	"HR HD^DE^http://c001.p113.edgesuite.net/i/c001/hr_hd_1@97447/master.m3u8",
	"rbb^DE^http://c001.p106.edgesuite.net/i/c001/rbb_1@97457/master.m3u8",
	"rbb HD^DE^http://c001.p114.edgesuite.net/i/c001/rbb_hd_1@97449/master.m3u8",
	"Phoenix HD^DE^http://c001.p107.edgesuite.net/i/c001/phoenixhd_1@97428/master.m3u8",
	"ARD Alpha^DE^http://c001.p123.edgesuite.net/i/c001/bralpha_1@137776/master.m3u8",
	"N24 HD^DE^http://c001.p109.edgesuite.net/i/c001/n24hd_1@97436/master.m3u8",
	"Disney Channel^DE^http://c001.p104.edgesuite.net/i/c001/disney_channel_de_1@97396/master.m3u8",
	"Servus HD^DE^http://c001.p106.edgesuite.net/i/c001/servushd_1@97425/master.m3u8",
	"Tele 5^DE^http://c001.p108.edgesuite.net/i/c001/tele5_1@97465/master.m3u8",
	"KiKa HD^DE^http://c001.p105.edgesuite.net/i/c001/kikahd_1@97423/master.m3u8",
	"Ric^DE^http://c001.p123.edgesuite.net/i/c001/ric_1@137780/master.m3u8",
	"ProSieben MAXX^DE^http://c001.p107.edgesuite.net/i/c001/pro7maxx_1@97522/master.m3u8",
	"ZDF Neo HD^DE^http://c001.p109.edgesuite.net/i/c001/zdfneohd_1@97434/master.m3u8",
	"ZDF Kultur^DE^http://c001.p111.edgesuite.net/i/c001/zdfkultur_1@97478/master.m3u8",
	"ZDF Kultur HD^DE^http://c001.p108.edgesuite.net/i/c001/zdfkulturhd_1@97433/master.m3u8",
	"ZDF Info^DE^http://c001.p111.edgesuite.net/i/c001/zdfinfo_1@97477/master.m3u8",
	"ZDF Info HD^DE^http://c001.p108.edgesuite.net/i/c001/zdfinfohd_1@97432/master.m3u8",
	"EinsPlus^DE^http://c001.p123.edgesuite.net/i/c001/einsplus_1@137775/master.m3u8",
	"EinsPlus HD^DE^http://c001.p113.edgesuite.net/i/c001/einsplus_hd_1@97446/master.m3u8",
	"Einsfestival^DE^http://c001.p112.edgesuite.net/i/c001/einsfestival_1@97482/master.m3u8",
	"Einsfestival HD^DE^http://c001.p105.edgesuite.net/i/c001/einsfestivalhd_1@97422/master.m3u8",
	"tagesschau 24^DE^http://c001.p123.edgesuite.net/i/c001/tagesschau24_1@137781/master.m3u8",
	"tagesschau 24 HD^DE^http://c001.p114.edgesuite.net/i/c001/tagesschau24_hd_1@97450/master.m3u8",
	"Deluxe Music^DE^http://c001.p123.edgesuite.net/i/c001/deluxemusic_1@137777/master.m3u8",
	"Anixe^DE^http://c001.p113.edgesuite.net/i/c001/anixe_1@97486/master.m3u8",
	"Anixe HD^DE^http://c001.p111.edgesuite.net/i/c001/anixehd_1@97440/master.m3u8",
	"DW^DE^http://c001.p104.edgesuite.net/i/c001/dwtv_1@97397/master.m3u8",
	"k-tv^DE^http://c001.p104.edgesuite.net/i/c001/ktv_1@97400/master.m3u8",
	"Orf 1 HD^DE^http://c001.p101.edgesuite.net/i/c001/orf1hd_1@97416/master.m3u8",
	"Orf 2 HD^DE^http://c001.p101.edgesuite.net/i/c001/orf2hd_1@97417/master.m3u8",
	"SRF 1 HD^DE^http://c001.p106.edgesuite.net/i/c001/sf1hd_1@97426/master.m3u8",
	"SRF 2 HD^DE^http://c001.p106.edgesuite.net/i/c001/sf2hd_1@97427/master.m3u8",
	"S1 HD^DE^http://c001.p117.edgesuite.net/i/c001/s1tvhd_1@135250/master.m3u8",
	"TV24 HD^DE^http://c001.p128.edgesuite.net/i/c001/tv24_hd_1@180322/master.m3u8",
	"Tele Zuri HD^DE^http://c001.p128.edgesuite.net/i/c001/tzurich_hd_1@180321/master.m3u8",
	"TF 1 HD^FR^http://c001.p102.edgesuite.net/i/c001/tf1hd_1@97413/master.m3u8",
	"France 2 HD^FR^http://c001.p100.edgesuite.net/i/c001/france2hd_1@97420/master.m3u8",
	"Canal+^FR^http://c001.p101.edgesuite.net/i/c001/canalplus_1@97337/master.m3u8",
	"M6 HD^FR^http://c001.p100.edgesuite.net/i/c001/m6hd_1@97421/master.m3u8",
	"RTS 1 HD^FR^http://c001.p126.edgesuite.net/i/c001/rts1hd_1@114347/master.m3u8",
	"RTS 2 HD^FR^http://c001.p102.edgesuite.net/i/c001/rts2hd_1@97415/master.m3u8",
	"Arte HD^FR^http://c001.p100.edgesuite.net/i/c001/artefrhd_1@97419/master.m3u8",
	"D8^FR^http://c001.p100.edgesuite.net/i/c001/d8_1@97328/master.m3u8",
	"W9^FR^http://c001.p101.edgesuite.net/i/c001/w9_1@97344/master.m3u8",
	"TMC^FR^http://c001.p103.edgesuite.net/i/c001/tmc_1@97379/master.m3u8",
	"NT1^FR^http://c001.p108.edgesuite.net/i/c001/nt1_1@97528/master.m3u8",
	"NRJ12^FR^http://c001.p121.edgesuite.net/i/c001/nrj12_1@137759/master.m3u8",
	"France 4^FR^http://c001.p100.edgesuite.net/i/c001/france4_1@97330/master.m3u8",
	"BFM TV^FR^http://c001.p121.edgesuite.net/i/c001/bfmtv_1@137750/master.m3u8",
	"ITele^FR^http://c001.p121.edgesuite.net/i/c001/itele_1@137755/master.m3u8",
	"D17^FR^http://c001.p100.edgesuite.net/i/c001/d17_1@97327/master.m3u8",
	"gulli^FR^http://c001.p102.edgesuite.net/i/c001/gulli_1@97352/master.m3u8",
	"France O^FR^http://c001.p122.edgesuite.net/i/c001/franceo_1@137770/master.m3u8",
	"HD1 HD^FR^http://c001.p110.edgesuite.net/i/c001/hd1hd_1@97437/master.m3u8",
	"L'Equipe HD^FR^http://c001.p110.edgesuite.net/i/c001/equipetvhd_1@97439/master.m3u8",
	"6ter HD^FR^http://c001.p112.edgesuite.net/i/c001/6terhd_1@97443/master.m3u8",
	"N23 HD^FR^http://c001.p112.edgesuite.net/i/c001/n23hd_1@97444/master.m3u8",
	"RMC HD^FR^http://c001.p112.edgesuite.net/i/c001/rmchd_1@97445/master.m3u8",
	"Cherie 25 HD^FR^http://c001.p110.edgesuite.net/i/c001/cheriehd_1@97438/master.m3u8",
	"BFM Business^FR^http://c001.p121.edgesuite.net/i/c001/bfmb_1@137749/master.m3u8",
	"France 24^FR^http://c001.p121.edgesuite.net/i/c001/france24_1@137754/master.m3u8",
	"EuroNews^FR^http://c001.p121.edgesuite.net/i/c001/euronews_1@137752/master.m3u8",
	"Montagne^FR^http://c001.p121.edgesuite.net/i/c001/montagne_1@137758/master.m3u8",
	"TVM3^FR^http://c001.p104.edgesuite.net/i/c001/tvm3_1@97401/master.m3u8",
	"kto^FR^http://c001.p105.edgesuite.net/i/c001/kto_1@97495/master.m3u8",
	"BBC 1^EN^http://c001.p109.edgesuite.net/i/c001/bbc1_1@97471/master.m3u8",
	"BBC 1 HD^EN^http://c001.p103.edgesuite.net/i/c001/bbc1hd_1@97412/master.m3u8",
	"BBC 2^EN^http://c001.p124.edgesuite.net/i/c001/bbc2_1@137786/master.m3u8",
	"BBC 2 HD^EN^http://c001.p109.edgesuite.net/i/c001/bbc2hd_1@97435/master.m3u8",
	"BBC 3^EN^http://c001.p113.edgesuite.net/i/c001/bbc3_1@97575/master.m3u8",
	"BBC 3 HD^EN^http://c001.p126.edgesuite.net/i/c001/bbc3_hd_1@180212/master.m3u8",
	"BBC 4^EN^http://c001.p123.edgesuite.net/i/c001/bbc4_1@137784/master.m3u8",
	"BBC 4 HD^EN^http://c001.p126.edgesuite.net/i/c001/bbc4_hd_1@180211/master.m3u8",
	"ITV 1^EN^http://c001.p124.edgesuite.net/i/c001/itv1_1@137791/master.m3u8",
	"ITV 1 HD^EN^http://c001.p111.edgesuite.net/i/c001/itvhd_1@97442/master.m3u8",
	"ITV 2^EN^http://c001.p124.edgesuite.net/i/c001/itv2_1@137792/master.m3u8",
	"ITV 3^EN^http://c001.p105.edgesuite.net/i/c001/itv3_1@97494/master.m3u8",
	"ITV 4^EN^http://c001.p106.edgesuite.net/i/c001/itv4_1@97503/master.m3u8",
	"Channel 4 HD^EN^http://c001.p111.edgesuite.net/i/c001/channel4hd_1@97441/master.m3u8",
	"Channel 5^EN^http://c001.p124.edgesuite.net/i/c001/channel5_1@137787/master.m3u8",
	"More4^EN^http://c001.p124.edgesuite.net/i/c001/more4_1@137795/master.m3u8",
	"Fashion TV^EN^http://c001.p106.edgesuite.net/i/c001/fashiontv_1@97512/master.m3u8",
	"Travel Channel^EN^http://c001.p113.edgesuite.net/i/c001/travelchannel_1@97576/master.m3u8",
	"BBC World News HD^EN^http://c001.p127.edgesuite.net/i/c001/bbcnewshd_1@180318/master.m3u8",
	"CCTV News^EN^http://c001.p101.edgesuite.net/i/c001/cctvnews_1@97342/master.m3u8",
	"Al Jazeera^EN^http://c001.p123.edgesuite.net/i/c001/aljazeera_1@137783/master.m3u8",
	"Bloomberg TV^EN^http://c001.p124.edgesuite.net/i/c001/bloomberg_1@137785/master.m3u8",
	"CNBC^EN^http://c001.p124.edgesuite.net/i/c001/cnbc_1@137788/master.m3u8",
	"NHK World^EN^http://c001.p124.edgesuite.net/i/c001/nhkw_1@137796/master.m3u8",
	"Russia Today^EN^http://c001.p125.edgesuite.net/i/c001/russia_1@137797/master.m3u8",
	"Sky News^EN^http://c001.p106.edgesuite.net/i/c001/skynews_1@97511/master.m3u8",
	"RSI LA1 HD^IT^http://c001.p103.edgesuite.net/i/c001/rsila1hd_1@97410/master.m3u8",
	"RSI LA2 HD^IT^http://c001.p103.edgesuite.net/i/c001/rsila2hd_1@97411/master.m3u8",
	"Rai 2^IT^http://c001.p122.edgesuite.net/i/c001/rai2_1@137763/master.m3u8",
	"Rai 3^IT^http://c001.p122.edgesuite.net/i/c001/rai3_1@137764/master.m3u8",
	"Rai Gulp^IT^http://c001.p122.edgesuite.net/i/c001/raigulp_1@137765/master.m3u8",
	"Rai Scuola^IT^http://c001.p122.edgesuite.net/i/c001/raiscuola_1@137768/master.m3u8",
	"Rai Storia^IT^http://c001.p103.edgesuite.net/i/c001/raistoria_1@97389/master.m3u8",
	"Rai Sport 1^IT^http://c001.p103.edgesuite.net/i/c001/raisport1_1@97387/master.m3u8",
	"Rai Sport 2^IT^http://c001.p122.edgesuite.net/i/c001/raisport2_1@137769/master.m3u8",
	"Rai News24^IT^http://c001.p122.edgesuite.net/i/c001/rainews_1@137767/master.m3u8",
	"Canale 5^IT^http://c001.p121.edgesuite.net/i/c001/canale5_1@137760/master.m3u8",
	"Class TV Moda^IT^http://c001.p103.edgesuite.net/i/c001/tvmoda_1@97383/master.m3u8",
	"LA7^IT^http://c001.p122.edgesuite.net/i/c001/la7_1@137762/master.m3u8",
	"TV24^DE^http://c001.p111.edgesuite.net/i/c001/tv24_1@97562/master.m3u8",
	"La Tele^FR^http://c001.p109.edgesuite.net/i/c001/latele_1@97539/master.m3u8",
	"RTL CH^DE^http://c001.p118.edgesuite.net/i/c001/rtlchhd_1@135257/master.m3u8",
	"ProSieben HD^DE^http://c001.p119.edgesuite.net/i/c001/pro7chhd_1@135262/master.m3u8",
	"Cartoon Network^FR^http://c001.p121.edgesuite.net/i/c001/cn_1@137751/master.m3u8",
	"Leman Bleu^FR^http://c001.p121.edgesuite.net/i/c001/lemanbleu_1@137757/master.m3u8",
	"Rete 4^IT^http://c001.p122.edgesuite.net/i/c001/rete4_1@137766/master.m3u8",
	"EuroNews^DE^http://c001.p123.edgesuite.net/i/c001/euronewsde_1@137774/master.m3u8",
	"E4^EN^http://c001.p124.edgesuite.net/i/c001/e4_1@137789/master.m3u8",
	"Film4^EN^http://c001.p124.edgesuite.net/i/c001/film4_1@137790/master.m3u8"]

print "\r\nWelcome to WilmaaTV v" + version + " by gg\r\n"

for channel in channels:
    ch = channel.split('^')
    cpays = ch[1].lower()
    if cpays not in listes_pays:
        codes_pays.append(cpays)
        listes_pays[cpays] = []
    listes_pays[cpays].append(ch[0] + '^' + ch[2])
codes_qual = ['worst', 'best']
parser = argparse.ArgumentParser(description='wilmmaa parser')
parser.add_argument('--pays', metavar='pays', choices=codes_pays)
parser.add_argument('--chaine', metavar='chaine', type=int)
parser.add_argument('--duree', metavar='duree', type=int)
parser.add_argument('--qual', metavar='qualite', choices=codes_qual)
pargs = parser.parse_args(sys.argv[1:])
args = vars(pargs)

if not pargs.pays:
    print codes_pays
    sys.exit(0)

lstp = listes_pays[args['pays']]
if not pargs.chaine:
    for n, chaine in enumerate(lstp):
        print n + 1, chaine.split('^')[0]
    sys.exit(0)
chaine = args['chaine']
duree = args['duree']
if not duree:
    print pargs.duree
    print "duree doit etre un entier"
    sys.exit(0)
chaine = lstp[chaine - 1]
qual = args['qual']
if not qual:
    print pargs.qual
    print "qual doit etre best ou worst"
    sys.exit(0)

title, url = chaine.split('^')
ip = "85.%d.%d.%d" % (randint(0, 7), randint(0, 255), randint(0, 255))
print ip
print "\r\nPlaying "+ title + "...\r\n"
filename = "%s-%s.ts" % (title.replace(' ', '_').replace("'", "_"), datetime.datetime.today().strftime("%Y%m%d-%H%M%S"))
cmd = 'livestreamer  -o ' + filename + ' --http-header "X-Forwarded-For=' + ip + \
      '" "hlsvariant://' + url + '" '+ qual
print cmd
arguments = shlex.split(cmd)
process = subprocess.Popen(arguments) # , stdout=subprocess.STDOUT, stderr=subprocess.STDOUT)
pid = process.pid
time.sleep(duree)
process.terminate()

Dernière modification par k3c (Le 17/10/2015, à 09:09)


Archlinux sur Xiaomi Air 13

Hors ligne

#9 Le 17/10/2015, à 13:48

general alcazar

Re : [Tuto] Planifier l'enregistrement d'une TV européenne

Bonjour,
Si on veut regarder une chaine en direct sans enregistrer, on fait comment ?

Hors ligne

#10 Le 17/10/2015, à 14:30

Sciensous

Re : [Tuto] Planifier l'enregistrement d'une TV européenne

finalement ça me sert aussi (rugby oblige: chaines anglaises smile )

du coup je me suis permis de :

- adapter le script en bash/shell
- mettre les chaines par ordre alphabétique (normales puis HD)
- demander l'enregistrement ou le visonnage (zenity nécessaire; lecteur mplayer)

tout ça en gardant la possibilité du crontab (en lançant la commande avec paramètres: nom de chaine sans espace, durée en minutes, pays si non FR)
cool

#!/bin/bash

#version pour crontab (avec argument) ou graphique (sans argument) !

exec >$HOME/crontabwil.log

#echo $#
if [ $# -eq 1 ]; then echo "syntaxe: wilmaa.sh <no chaine> <duree> [pays]"; exit 1; fi;

file="$HOME/tmp/"; 

channelsDE=(
"3+^DE^http://c001.p114.edgesuite.net/i/c001/3plus_1@97489/master.m3u8"
"3Sat^DE^http://c001.p112.edgesuite.net/i/c001/3sat_1@97480/master.m3u8"
"Anixe^DE^http://c001.p113.edgesuite.net/i/c001/anixe_1@97486/master.m3u8"
"ARD Alpha^DE^http://c001.p123.edgesuite.net/i/c001/bralpha_1@137776/master.m3u8"
"Arte^DE^http://c001.p107.edgesuite.net/i/c001/artede_1@97463/master.m3u8"
"ATV^DE^http://c001.p114.edgesuite.net/i/c001/atv_1@97491/master.m3u8"
"BR 3^DE^http://c001.p107.edgesuite.net/i/c001/br3_1@97517/master.m3u8"
"Das Erste^DE^http://c001.p112.edgesuite.net/i/c001/daserste_1@97481/master.m3u8"
"Das Vierte^DE^http://c001.p104.edgesuite.net/i/c001/dasvierte_1@97396/master.m3u8"
"Deluxe Music^DE^http://c001.p123.edgesuite.net/i/c001/deluxemusic_1@137777/master.m3u8"
"Disney Channel^DE^http://c001.p104.edgesuite.net/i/c001/disney_channel_de_1@97396/master.m3u8"
"DMax^DE^http://c001.p104.edgesuite.net/i/c001/dmax_1@97398/master.m3u8"
"DW^DE^http://c001.p104.edgesuite.net/i/c001/dwtv_1@97397/master.m3u8"
"Einsfestival^DE^http://c001.p112.edgesuite.net/i/c001/einsfestival_1@97482/master.m3u8"
"EinsPlus^DE^http://c001.p123.edgesuite.net/i/c001/einsplus_1@137775/master.m3u8"
"EuroNews^DE^http://c001.p123.edgesuite.net/i/c001/euronewsde_1@137774/master.m3u8"
"EuroSport^DE^http://c001.p105.edgesuite.net/i/c001/eurosportde_1@97452/master.m3u8"
"HR^DE^http://c001.p123.edgesuite.net/i/c001/hr_1@137778/master.m3u8"
"Joiz^DE^http://c001.p118.edgesuite.net/i/c001/joiz_1@135266/master.m3u8"
"Kabel 1^DE^http://c001.p105.edgesuite.net/i/c001/kabeleins_1@97453/master.m3u8"
"KiKa^DE^http://c001.p113.edgesuite.net/i/c001/kika_1@97487/master.m3u8"
"k-tv^DE^http://c001.p104.edgesuite.net/i/c001/ktv_1@97400/master.m3u8"
"MDR^DE^http://c001.p123.edgesuite.net/i/c001/mdr_1@137782/master.m3u8"
"N24^DE^http://c001.p104.edgesuite.net/i/c001/n24_1@97406/master.m3u8"
"NDR^DE^http://c001.p113.edgesuite.net/i/c001/ndr_1@97484/master.m3u8"
"Nick/ComedyCentral^DE^http://c001.p105.edgesuite.net/i/c001/nickcc_1@97455/master.m3u8"
"NTV^DE^http://c001.p104.edgesuite.net/i/c001/ntv_1@97405/master.m3u8"
"Orf 1^DE^http://c001.p113.edgesuite.net/i/c001/orf1_1@97573/master.m3u8"
"Orf 2^DE^http://c001.p113.edgesuite.net/i/c001/orf2_1@97574/master.m3u8"
"Phoenix^DE^http://c001.p111.edgesuite.net/i/c001/phoenix_1@97476/master.m3u8"
"ProSieben^DE^http://c001.p106.edgesuite.net/i/c001/prosieben_1@97456/master.m3u8"
"ProSieben MAXX^DE^http://c001.p107.edgesuite.net/i/c001/pro7maxx_1@97522/master.m3u8"
"rbb^DE^http://c001.p106.edgesuite.net/i/c001/rbb_1@97457/master.m3u8"
"Ric^DE^http://c001.p123.edgesuite.net/i/c001/ric_1@137780/master.m3u8"
"RTL 1^DE^http://c001.p106.edgesuite.net/i/c001/rtl_1@97459/master.m3u8"
"RTL 2^DE^http://c001.p107.edgesuite.net/i/c001/rtl2_1@97460/master.m3u8"
"RTL CH^DE^http://c001.p118.edgesuite.net/i/c001/rtlchhd_1@135257/master.m3u8"
"RTL Nitro^DE^http://c001.p106.edgesuite.net/i/c001/rtlnitro_1@97458/master.m3u8"
"S1 HD^DE^http://c001.p117.edgesuite.net/i/c001/s1tvhd_1@135250/master.m3u8"
"Sat1^DE^http://c001.p107.edgesuite.net/i/c001/sat1_1@97461/master.m3u8"
"Servus^DE^http://c001.p114.edgesuite.net/i/c001/servus_1@97488/master.m3u8"
"Sixx^DE^http://c001.p107.edgesuite.net/i/c001/sixx_1@97462/master.m3u8"
"Sport 1^DE^http://c001.p108.edgesuite.net/i/c001/sport1_1@97464/master.m3u8"
"SRF 1^DE^http://c001.p110.edgesuite.net/i/c001/sf1_1@97474/master.m3u8"
"SRF 2^DE^http://c001.p110.edgesuite.net/i/c001/sf2_1@97475/master.m3u8"
"SRF Info^DE^http://c001.p104.edgesuite.net/i/c001/sfinfo_1@97408/master.m3u8"
"Super RTL^DE^http://c001.p107.edgesuite.net/i/c001/superrtl_1@97463/master.m3u8"
"SWR^DE^http://c001.p113.edgesuite.net/i/c001/swr_1@97485/master.m3u8"
"tagesschau 24^DE^http://c001.p123.edgesuite.net/i/c001/tagesschau24_1@137781/master.m3u8"
"Tele 1^DE^http://c001.p118.edgesuite.net/i/c001/t1_1@135267/master.m3u8"
"Tele 5^DE^http://c001.p108.edgesuite.net/i/c001/tele5_1@97465/master.m3u8"
"TeleBarn^DE^http://c001.p119.edgesuite.net/i/c001/tbarn_1@135272/master.m3u8"
"TeleBasel^DE^http://c001.p119.edgesuite.net/i/c001/tbasel_1@135273/master.m3u8"
"TeleBielingue^DE^http://c001.p120.edgesuite.net/i/c001/tbielingue_1@135280/master.m3u8"
"Tele M1 O^DE^http://c001.p118.edgesuite.net/i/c001/tm1o_1@135268/master.m3u8"
"Tele M1 W^DE^http://c001.p108.edgesuite.net/i/c001/tm1w_1@135269/master.m3u8"
"TeleSud Ostschweiz^DE^http://c001.p119.edgesuite.net/i/c001/tsudost_1@135274/master.m3u8"
"Tele Top SH^DE^http://c001.p120.edgesuite.net/i/c001/ttsh_1@135279/master.m3u8"
"Tele Top TG^DE^http://c001.p120.edgesuite.net/i/c001/tttg_1@135278/master.m3u8"
"Tele Top ZH^DE^http://c001.p119.edgesuite.net/i/c001/ttzh_1@135271/master.m3u8"
"Tele Zuri^DE^http://c001.p119.edgesuite.net/i/c001/tzurich_1@135275/master.m3u8"
"Tele Zuri HD^DE^http://c001.p128.edgesuite.net/i/c001/tzurich_hd_1@180321/master.m3u8"
"TV24^DE^http://c001.p111.edgesuite.net/i/c001/tv24_1@97562/master.m3u8"
"TVO^DE^http://c001.p118.edgesuite.net/i/c001/tost_1@135270/master.m3u8"
"VIVA^DE^http://c001.p105.edgesuite.net/i/c001/viva_1@97493/master.m3u8"
"VOX^DE^http://c001.p108.edgesuite.net/i/c001/vox_1@97466/master.m3u8"
"WDR^DE^http://c001.p114.edgesuite.net/i/c001/wdr_1@97490/master.m3u8"
"ZDF^DE^http://c001.p112.edgesuite.net/i/c001/zdf_1@97483/master.m3u8"
"ZDF Info^DE^http://c001.p111.edgesuite.net/i/c001/zdfinfo_1@97477/master.m3u8"
"ZDF Kultur^DE^http://c001.p111.edgesuite.net/i/c001/zdfkultur_1@97478/master.m3u8"
"ZDF Neo^DE^http://c001.p111.edgesuite.net/i/c001/zdfneo_1@97479/master.m3u8"
"3Sat HD^DE^http://c001.p104.edgesuite.net/i/c001/3sathd_1@97393/master.m3u8"
"Anixe HD^DE^http://c001.p111.edgesuite.net/i/c001/anixehd_1@97440/master.m3u8"
"Arte HD^DE^http://c001.p104.edgesuite.net/i/c001/artedehd_1@97394/master.m3u8"
"BR 3 HD^DE^http://c001.p101.edgesuite.net/i/c001/br3_hd_1@97418/master.m3u8"
"Das Erste HD^DE^http://c001.p104.edgesuite.net/i/c001/daserstehd_1@97395/master.m3u8"
"Einsfestival HD^DE^http://c001.p105.edgesuite.net/i/c001/einsfestivalhd_1@97422/master.m3u8"
"EinsPlus HD^DE^http://c001.p113.edgesuite.net/i/c001/einsplus_hd_1@97446/master.m3u8"
"HR HD^DE^http://c001.p113.edgesuite.net/i/c001/hr_hd_1@97447/master.m3u8"
"KiKa HD^DE^http://c001.p105.edgesuite.net/i/c001/kikahd_1@97423/master.m3u8"
"MDR HD^DE^http://c001.p127.edgesuite.net/i/c001/mdrhd_1@180319/master.m3u8"
"N24 HD^DE^http://c001.p109.edgesuite.net/i/c001/n24hd_1@97436/master.m3u8"
"NDR HD^DE^http://c001.p105.edgesuite.net/i/c001/ndrhd_1@97424/master.m3u8"
"Orf 1 HD^DE^http://c001.p101.edgesuite.net/i/c001/orf1hd_1@97416/master.m3u8"
"Orf 2 HD^DE^http://c001.p101.edgesuite.net/i/c001/orf2hd_1@97417/master.m3u8"
"Phoenix HD^DE^http://c001.p107.edgesuite.net/i/c001/phoenixhd_1@97428/master.m3u8"
"ProSieben HD^DE^http://c001.p119.edgesuite.net/i/c001/pro7chhd_1@135262/master.m3u8"
"rbb HD^DE^http://c001.p114.edgesuite.net/i/c001/rbb_hd_1@97449/master.m3u8"
"Servus HD^DE^http://c001.p106.edgesuite.net/i/c001/servushd_1@97425/master.m3u8"
"SRF 1 HD^DE^http://c001.p106.edgesuite.net/i/c001/sf1hd_1@97426/master.m3u8"
"SRF 2 HD^DE^http://c001.p106.edgesuite.net/i/c001/sf2hd_1@97427/master.m3u8"
"SWR HD^DE^http://c001.p107.edgesuite.net/i/c001/swrhd_1@97429/master.m3u8"
"tagesschau 24 HD^DE^http://c001.p114.edgesuite.net/i/c001/tagesschau24_hd_1@97450/master.m3u8"
"TV24 HD^DE^http://c001.p128.edgesuite.net/i/c001/tv24_hd_1@180322/master.m3u8"
"WDR HD^DE^http://c001.p107.edgesuite.net/i/c001/wdrhd_1@97430/master.m3u8"
"ZDF HD^DE^http://c001.p108.edgesuite.net/i/c001/zdfhd_1@97431/master.m3u8"
"ZDF Info HD^DE^http://c001.p108.edgesuite.net/i/c001/zdfinfohd_1@97432/master.m3u8"
"ZDF Kultur HD^DE^http://c001.p108.edgesuite.net/i/c001/zdfkulturhd_1@97433/master.m3u8"
"ZDF Neo HD^DE^http://c001.p109.edgesuite.net/i/c001/zdfneohd_1@97434/master.m3u8"
)

channelsEN=(
"Al Jazeera^EN^http://c001.p123.edgesuite.net/i/c001/aljazeera_1@137783/master.m3u8"
"BBC 1^EN^http://c001.p109.edgesuite.net/i/c001/bbc1_1@97471/master.m3u8"
"BBC 2^EN^http://c001.p124.edgesuite.net/i/c001/bbc2_1@137786/master.m3u8"
"BBC 3^EN^http://c001.p113.edgesuite.net/i/c001/bbc3_1@97575/master.m3u8"
"BBC 4^EN^http://c001.p123.edgesuite.net/i/c001/bbc4_1@137784/master.m3u8"
"BBC World News^EN^http://c001.p105.edgesuite.net/i/c001/bbcworld_1@97498/master.m3u8"
"Bloomberg TV^EN^http://c001.p124.edgesuite.net/i/c001/bloomberg_1@137785/master.m3u8"
"CCTV News^EN^http://c001.p101.edgesuite.net/i/c001/cctvnews_1@97342/master.m3u8"
"Channel 4 HD^EN^http://c001.p111.edgesuite.net/i/c001/channel4hd_1@97441/master.m3u8"
"Channel 5^EN^http://c001.p124.edgesuite.net/i/c001/channel5_1@137787/master.m3u8"
"CNBC^EN^http://c001.p124.edgesuite.net/i/c001/cnbc_1@137788/master.m3u8"
"CNN^EN^http://c001.p105.edgesuite.net/i/c001/cnn_1@97501/master.m3u8"
"E4^EN^http://c001.p124.edgesuite.net/i/c001/e4_1@137789/master.m3u8"
"Fashion TV^EN^http://c001.p106.edgesuite.net/i/c001/fashiontv_1@97512/master.m3u8"
"Film4^EN^http://c001.p124.edgesuite.net/i/c001/film4_1@137790/master.m3u8"
"ITV 1^EN^http://c001.p124.edgesuite.net/i/c001/itv1_1@137791/master.m3u8"
"ITV 2^EN^http://c001.p124.edgesuite.net/i/c001/itv2_1@137792/master.m3u8"
"ITV 3^EN^http://c001.p105.edgesuite.net/i/c001/itv3_1@97494/master.m3u8"
"ITV 4^EN^http://c001.p106.edgesuite.net/i/c001/itv4_1@97503/master.m3u8"
"More4^EN^http://c001.p124.edgesuite.net/i/c001/more4_1@137795/master.m3u8"
"NHK World^EN^http://c001.p124.edgesuite.net/i/c001/nhkw_1@137796/master.m3u8"
"Russia Today^EN^http://c001.p125.edgesuite.net/i/c001/russia_1@137797/master.m3u8"
"Sky News^EN^http://c001.p106.edgesuite.net/i/c001/skynews_1@97511/master.m3u8"
"Travel Channel^EN^http://c001.p113.edgesuite.net/i/c001/travelchannel_1@97576/master.m3u8"
"BBC 1 HD^EN^http://c001.p103.edgesuite.net/i/c001/bbc1hd_1@97412/master.m3u8"
"BBC 2 HD^EN^http://c001.p109.edgesuite.net/i/c001/bbc2hd_1@97435/master.m3u8"
"BBC 3 HD^EN^http://c001.p126.edgesuite.net/i/c001/bbc3_hd_1@180212/master.m3u8"
"BBC 4 HD^EN^http://c001.p126.edgesuite.net/i/c001/bbc4_hd_1@180211/master.m3u8"
"BBC World News HD^EN^http://c001.p127.edgesuite.net/i/c001/bbcnewshd_1@180318/master.m3u8"
"ITV 1 HD^EN^http://c001.p111.edgesuite.net/i/c001/itvhd_1@97442/master.m3u8"
)

channelsFR=(
"6ter HD^FR^http://c001.p112.edgesuite.net/i/c001/6terhd_1@97443/master.m3u8"
"Arte^FR^http://c001.p101.edgesuite.net/i/c001/artefr_1@97346/master.m3u8"
"BFM Business^FR^http://c001.p121.edgesuite.net/i/c001/bfmb_1@137749/master.m3u8"
"BFM TV^FR^http://c001.p121.edgesuite.net/i/c001/bfmtv_1@137750/master.m3u8"
"C9^FR^http://c001.p117.edgesuite.net/i/c001/c9_1@135252/master.m3u8"
"Canal Alpha Jura^FR^http://c001.p117.edgesuite.net/i/c001/caju_1@135253/master.m3u8"
"Canal Alpha Neuchatel^FR^http://c001.p117.edgesuite.net/i/c001/cane_1@135254/master.m3u8"
"Canal+^FR^http://c001.p101.edgesuite.net/i/c001/canalplus_1@97337/master.m3u8"
"Cartoon Network^FR^http://c001.p121.edgesuite.net/i/c001/cn_1@137751/master.m3u8"
"Cherie 25 HD^FR^http://c001.p110.edgesuite.net/i/c001/cheriehd_1@97438/master.m3u8"
"D17^FR^http://c001.p100.edgesuite.net/i/c001/d17_1@97327/master.m3u8"
"D8^FR^http://c001.p100.edgesuite.net/i/c001/d8_1@97328/master.m3u8"
"EuroNews^FR^http://c001.p121.edgesuite.net/i/c001/euronews_1@137752/master.m3u8"
"France 24^FR^http://c001.p121.edgesuite.net/i/c001/france24_1@137754/master.m3u8"
"France 2^FR^http://c001.p101.edgesuite.net/i/c001/france2_1@97347/master.m3u8"
"France 3^FR^http://c001.p100.edgesuite.net/i/c001/france3_1@97329/master.m3u8"
"France 4^FR^http://c001.p100.edgesuite.net/i/c001/france4_1@97330/master.m3u8"
"France 5^FR^http://c001.p102.edgesuite.net/i/c001/france5_1@97351/master.m3u8"
"France O^FR^http://c001.p122.edgesuite.net/i/c001/franceo_1@137770/master.m3u8"
"gulli^FR^http://c001.p102.edgesuite.net/i/c001/gulli_1@97352/master.m3u8"
"HD1 HD^FR^http://c001.p110.edgesuite.net/i/c001/hd1hd_1@97437/master.m3u8"
"ITele^FR^http://c001.p121.edgesuite.net/i/c001/itele_1@137755/master.m3u8"
"kto^FR^http://c001.p105.edgesuite.net/i/c001/kto_1@97495/master.m3u8"
"La Tele^FR^http://c001.p109.edgesuite.net/i/c001/latele_1@97539/master.m3u8"
"Leman Bleu^FR^http://c001.p121.edgesuite.net/i/c001/lemanbleu_1@137757/master.m3u8"
"LEquipe HD^FR^http://c001.p110.edgesuite.net/i/c001/equipetvhd_1@97439/master.m3u8"
"M6^FR^http://c001.p108.edgesuite.net/i/c001/m6_1@97467/master.m3u8"
"Montagne^FR^http://c001.p121.edgesuite.net/i/c001/montagne_1@137758/master.m3u8"
"N23 HD^FR^http://c001.p112.edgesuite.net/i/c001/n23hd_1@97444/master.m3u8"
"NRJ12^FR^http://c001.p121.edgesuite.net/i/c001/nrj12_1@137759/master.m3u8"
"NT1^FR^http://c001.p108.edgesuite.net/i/c001/nt1_1@97528/master.m3u8"
"RMC HD^FR^http://c001.p112.edgesuite.net/i/c001/rmchd_1@97445/master.m3u8"
"Rouge^FR^http://c001.p102.edgesuite.net/i/c001/rouge_1@97359/master.m3u8"
"RTL 9^FR^http://c001.p102.edgesuite.net/i/c001/rtl9_1@97354/master.m3u8"
"RTS 1^FR^http://c001.p109.edgesuite.net/i/c001/rts1_1@97469/master.m3u8"
"RTS 2^FR^http://c001.p109.edgesuite.net/i/c001/rts2_1@97470/master.m3u8"
"TF 1^FR^http://c001.p109.edgesuite.net/i/c001/tf1_1@97468/master.m3u8"
"TMC^FR^http://c001.p103.edgesuite.net/i/c001/tmc_1@97379/master.m3u8"
"TV5Monde^FR^http://c001.p103.edgesuite.net/i/c001/tv5monde_1@97380/master.m3u8"
"TVM3^FR^http://c001.p104.edgesuite.net/i/c001/tvm3_1@97401/master.m3u8"
"W9^FR^http://c001.p101.edgesuite.net/i/c001/w9_1@97344/master.m3u8"
"Arte HD^FR^http://c001.p100.edgesuite.net/i/c001/artefrhd_1@97419/master.m3u8"
"France 2 HD^FR^http://c001.p100.edgesuite.net/i/c001/france2hd_1@97420/master.m3u8"
"M6 HD^FR^http://c001.p100.edgesuite.net/i/c001/m6hd_1@97421/master.m3u8"
"RTS 1 HD^FR^http://c001.p126.edgesuite.net/i/c001/rts1hd_1@114347/master.m3u8"
"RTS 2 HD^FR^http://c001.p102.edgesuite.net/i/c001/rts2hd_1@97415/master.m3u8"
"TF 1 HD^FR^http://c001.p102.edgesuite.net/i/c001/tf1hd_1@97413/master.m3u8"
)

channelsIT=(
"Canale 5^IT^http://c001.p121.edgesuite.net/i/c001/canale5_1@137760/master.m3u8"
"Class TV Moda^IT^http://c001.p103.edgesuite.net/i/c001/tvmoda_1@97383/master.m3u8"
"Italia 1^IT^http://c001.p103.edgesuite.net/i/c001/italia1_1@97381/master.m3u8"
"LA7^IT^http://c001.p122.edgesuite.net/i/c001/la7_1@137762/master.m3u8"
"Rai 1^IT^http://c001.p103.edgesuite.net/i/c001/rai1_1@97382/master.m3u8"
"Rai 2^IT^http://c001.p122.edgesuite.net/i/c001/rai2_1@137763/master.m3u8"
"Rai 3^IT^http://c001.p122.edgesuite.net/i/c001/rai3_1@137764/master.m3u8"
"Rai Gulp^IT^http://c001.p122.edgesuite.net/i/c001/raigulp_1@137765/master.m3u8"
"Rai News24^IT^http://c001.p122.edgesuite.net/i/c001/rainews_1@137767/master.m3u8"
"Rai Scuola^IT^http://c001.p122.edgesuite.net/i/c001/raiscuola_1@137768/master.m3u8"
"Rai Sport 1^IT^http://c001.p103.edgesuite.net/i/c001/raisport1_1@97387/master.m3u8"
"Rai Sport 2^IT^http://c001.p122.edgesuite.net/i/c001/raisport2_1@137769/master.m3u8"
"Rai Storia^IT^http://c001.p103.edgesuite.net/i/c001/raistoria_1@97389/master.m3u8"
"Rete 4^IT^http://c001.p122.edgesuite.net/i/c001/rete4_1@137766/master.m3u8"
"RSI LA1^IT^http://c001.p110.edgesuite.net/i/c001/rsila1_1@97472/master.m3u8"
"RSI LA2^IT^http://c001.p110.edgesuite.net/i/c001/rsila2_1@97473/master.m3u8"
"Tele Ticino^IT^http://c001.p117.edgesuite.net/i/c001/tticino_1@135255/master.m3u8"
"RSI LA1 HD^IT^http://c001.p103.edgesuite.net/i/c001/rsila1hd_1@97410/master.m3u8"
"RSI LA2 HD^IT^http://c001.p103.edgesuite.net/i/c001/rsila2hd_1@97411/master.m3u8"
)


ip="85.$((RANDOM/4681)).$((RANDOM/128)).$((RANDOM/128))";
echo $ip;


if [ $# -ge 1 ];
then
 #mode contrab:
 
#le pays en 3eme parametre optionnel (4=Fr par defaut)
case $3 in
 It*) channels=( "${channelsIT[@]}" );;
 En*) channels=( "${channelsEN[@]}" );;
 De*) channels=( "${channelsDE[@]}" );;
 *) channels=( "${channelsFR[@]}" );;
esac
n=${#channels[*]};

#le 1er parametre est la chaine:
#recherche la chaine voulue
ch=`echo "$1" | tr '[:upper:]' '[:lower:]'`;
for nh in $(seq 0 $n)
do
 v=`echo "${channels[$nh]}" | grep "$ch"`;
 if [ "$v" ]; then ch="$v"; break; fi;
done
[ $nh -eq $n ] && exit 3;
echo "rep=$nh <$ch> "

adr=`echo "$ch" | cut -d'^' -f3`
echo "adr="$adr
adr=${adr#http:}
`echo $adr | cut -d'/' -f1`
echo "adr="$adr

file="$file$1-"`date +%F`".ts";
file=`echo "$file" | sed 's/ //g'`;
echo "fichier=$file"

#le 2eme parametre est la duree en sec:
t=$2;

cmd='livestreamer -o '$file' -f';

else
 #mode manuel-graphique
 
cc=0;
#cc=4;
rep=$(
zenity --list --radiolist --height=250 --column "choix" --column "pays" \
												FALSE Italia \
												FALSE England \
												FALSE Deutchland \
												TRUE France
)
if [ -z "$rep" ]; then exit 1; fi;

case $rep in
 Ital*) cc=1;;
 Engl*) cc=2;;
 Deut*) cc=3;;
 *) cc=4;;
esac

while [ $cc -eq 0 ] 
do {
	echo -ne "\r\nCountry selection:\r\n\r\n1) Italy\r\n2) England\r\n3) Germany\r\n4) France\r\n\r\nChoose a country (0=Exit): ";
	read cc;
	
	if [ $cc -eq 0 ]; then echo -ne "\r\nGoodbye!\r\n\r\n"; exit 0;	fi
	if [ $cc -gt 4 ]; then echo -ne "\r\nWrong choice!\r\n"; cc=0; fi
}
done

case $cc in
 1) channels=( "${channelsIT[@]}" );;
 2) channels=( "${channelsEN[@]}" );;
 3) channels=( "${channelsDE[@]}" );;
 4) channels=( "${channelsFR[@]}" );;
esac
n=${#channels[*]};


#affichage de la liste de chaine:
ch=`
(
for i in $(seq 0 $((n-1)))
do
#echo ${channels[$i]}|cut -d'^' -f1
echo "$i"
echo "$(echo ${channels[$i]}|cut -d'^' -f1)"
done
) |zenity --list --height=500 --column "nb" --column "Chaînes" --hide-column 1 --title="TV" --text="Veuillez choisir une chaîne"
`
if [ -z "$ch" ]; then exit 2; fi;
ch=`echo $ch | cut -d'|' -f1`
nh=`echo $ch | cut -d' ' -f1`
ch=`echo $ch | cut -d' ' -f2`
echo "rep=$nh $ch "
 
adr=`echo ${channels[$nh]} | cut -d'^' -f3`
echo "adr="$adr
adr=${adr#http:}
`echo $adr | cut -d'/' -f1`
echo "adr="$adr

file="$HOME/Vidéos/"`echo ${channels[$nh]} | cut -d'^' -f1`"-"`date +%F`".ts";
file=`echo "$file" | sed 's/ //g'`;
echo "fichier=$file"


rep=$(zenity --list --radiolist --column "choix" --column "action" FALSE "Enregister ?" TRUE "Visionner ?")
if [ -z "$rep" ]; then exit 3; fi;

case $rep in
 Enregist*) cmd='livestreamer -o '$file' -f'; t=0;;
 Visionne*) cmd='livestreamer --player "mplayer"';t=-1;;
 *) echo $rep;;
esac

#la duree d'enregistrement
if [ $t -eq 0 ];
then
 t=$(zenity  --entry --width=400 --entry-text=3600  --title="durée enregistrement en minutes:");
 if [ -z $t ];
 then
  t=0;
 else
  echo "durée=$t min";
 fi;
fi

fi


cmd=$cmd' --http-header X-Forwarded-For='$ip' hlsvariant:'$adr' worst '; #best ';
echo commande:
echo $cmd;

#lance le flux commandé
if [ $t -eq 0 ]; then echo "ABANDON (durée nulle)"; exit 4; fi;
if [ $t -gt 0 ];
then
 /usr/local/bin/$cmd &
 pid=$!
 sleep ${t}m;
 kill ${pid};
else
 #mode visionnage car t=-1
 $cmd;
fi

exit 0;

Dernière modification par Sciensous (Le 17/10/2015, à 21:34)


antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )

Hors ligne

#11 Le 17/10/2015, à 14:53

k3c

Re : [Tuto] Planifier l'enregistrement d'une TV européenne

le plus simple est de prendre le script wilmaa en PHP
sur
http://darbycrash.eu/PHP/

il permet de regarder, pas d'enregistrer.

Sinon tu fais une petite modif, tu enlèves le -o

Edit : grilled par Sciensous

Pour Sciensous, merci, ça marche bien, juste un message de  Zenity (pour Hizoka)

(zenity:13070): GLib-WARNING **: /build/buildd/glib2.0-2.40.2/./glib/giounix.c:410Error while getting flags for FD: Mauvais descripteur de fichier (9)

Dernière modification par k3c (Le 17/10/2015, à 15:01)


Archlinux sur Xiaomi Air 13

Hors ligne

#12 Le 17/10/2015, à 16:46

general alcazar

Re : [Tuto] Planifier l'enregistrement d'une TV européenne

Sciensous,

Chez moi ça ne fonctionne pas sad
Toutes les boites de dialogue apparaissent, je sélectionne une chaine, il s'écoule quelques secondes, et le terminal me rend la main sans avoir vu le bout de la queue d'une vidéo.

riri@riri-MacBookPro:~$ ./wilmaa.sh 

(zenity:5527): Gtk-WARNING **: Theme parsing error: gtk-widgets.css:144:0: 'zz' is not a valid property name

(zenity:5527): Gtk-WARNING **: Theme parsing error: xfce.css:16:44: Expected ',' in color definition
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.

(zenity:5533): Gtk-WARNING **: Theme parsing error: gtk-widgets.css:144:0: 'zz' is not a valid property name

(zenity:5533): Gtk-WARNING **: Theme parsing error: xfce.css:16:44: Expected ',' in color definition
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.

(zenity:5533): GLib-WARNING **: /build/buildd/glib2.0-2.44.1/./glib/giounix.c:410Error while getting flags for FD: Mauvais descripteur de fichier (9)


(zenity:5702): Gtk-WARNING **: Theme parsing error: gtk-widgets.css:144:0: 'zz' is not a valid property name

(zenity:5702): Gtk-WARNING **: Theme parsing error: xfce.css:16:44: Expected ',' in color definition
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.

Bon, en fait ça fonctionne parfaitement, smile.
J'ai remplacé le lecteur video mplayer par mpv (que j'utilise) dans le script.

Dernière modification par general alcazar (Le 17/10/2015, à 16:51)

Hors ligne

#13 Le 17/10/2015, à 16:56

general alcazar

Re : [Tuto] Planifier l'enregistrement d'une TV européenne

Avec l'Epg et le changement des chaînes à la volée ce serait parfait wink

Hors ligne

#14 Le 17/10/2015, à 17:00

k3c

Re : [Tuto] Planifier l'enregistrement d'une TV européenne

Pour l'EPG, il y a le script EPG sur
http://darbycrash.eu/PHP/

Il n'y a plus qu'à le faire :-)

Edit : en fait ça donne les chaines italiennes, mais pas les françaises/allemandes/anglaises

Dernière modification par k3c (Le 17/10/2015, à 17:02)


Archlinux sur Xiaomi Air 13

Hors ligne

#15 Le 23/10/2015, à 09:20

k3c

Re : [Tuto] Planifier l'enregistrement d'une TV européenne

Une nouvelle version, avec une modif mineure, un paramètre optionnel pour donner un nom à la vidéo enregistrée
car

ll RTS*
-rw-rw-r-- 1 gg gg 1348953392 oct.   8 00:40 RTS_2-20151007-224001.ts
-rw-rw-r-- 1 gg gg  995908944 oct.  20 22:20 RTS_1-20151020-205001.ts
-rw-rw-r-- 1 gg gg  222489352 oct.  22 21:19 RTS_2-20151022-210001.ts

me dit que j'ai enregistré des émissions sur la RTS, mais ça ne me dit pas quoi

donc maintenant, si je fais

python wilmaa.py --pays fr --chaine 1 --duree 8000 --qual best --nom "le sang de la vigne"

Welcome to WilmaaTV v0.9.2 by gg

85.5.95.167

Playing RTS 1...

livestreamer  -o RTS_1-20151023-101850_le_sang_de_la_vigne.ts --http-header "X-Forwarded-For=85.5.95.167" "hlsvariant://http://c001.p109.edgesuite.net/i/c001/rts1_1@97469/master.m3u8" best
[cli][info] Found matching plugin stream for URL hlsvariant://http://c001.p109.edgesuite.net/i/c001/rts1_1@97469/master.m3u8
[cli][info] Available streams: 404p (worst), 576p (best)
[cli][info] Opening stream: 576p (hls)

j'ai un fichier
RTS_1-20151023-101850_le_sang_de_la_vigne.ts
(je remplace les blancs par des underscores)

le code

#!/usr/bin/python
# -*- coding:utf-8 -*-
import sys
from pprint import pprint
import argparse
from random import randint
import datetime
import subprocess, shlex
import time

version = "0.9.2"
# error_reporting(0)
vlc = "vlc"
listes_pays = {}
codes_pays = []

channels = [
	"Das Erste^DE^http://c001.p112.edgesuite.net/i/c001/daserste_1@97481/master.m3u8",
	"ZDF^DE^http://c001.p112.edgesuite.net/i/c001/zdf_1@97483/master.m3u8",
	"WDR^DE^http://c001.p114.edgesuite.net/i/c001/wdr_1@97490/master.m3u8",
	"Sat1^DE^http://c001.p107.edgesuite.net/i/c001/sat1_1@97461/master.m3u8",
	"RTL 1^DE^http://c001.p106.edgesuite.net/i/c001/rtl_1@97459/master.m3u8",
	"RTL 2^DE^http://c001.p107.edgesuite.net/i/c001/rtl2_1@97460/master.m3u8",
	"ProSieben^DE^http://c001.p106.edgesuite.net/i/c001/prosieben_1@97456/master.m3u8",
	"VOX^DE^http://c001.p108.edgesuite.net/i/c001/vox_1@97466/master.m3u8",
	"Kabel 1^DE^http://c001.p105.edgesuite.net/i/c001/kabeleins_1@97453/master.m3u8",
	"DMax^DE^http://c001.p104.edgesuite.net/i/c001/dmax_1@97398/master.m3u8",
	"Sixx^DE^http://c001.p107.edgesuite.net/i/c001/sixx_1@97462/master.m3u8",
	"Das Vierte^DE^http://c001.p104.edgesuite.net/i/c001/dasvierte_1@97396/master.m3u8",
	"Nick/ComedyCentral^DE^http://c001.p105.edgesuite.net/i/c001/nickcc_1@97455/master.m3u8",
	"Super RTL^DE^http://c001.p107.edgesuite.net/i/c001/superrtl_1@97463/master.m3u8",
	"VIVA^DE^http://c001.p105.edgesuite.net/i/c001/viva_1@97493/master.m3u8",
	"Sport 1^DE^http://c001.p108.edgesuite.net/i/c001/sport1_1@97464/master.m3u8",
	"N24^DE^http://c001.p104.edgesuite.net/i/c001/n24_1@97406/master.m3u8",
	"NTV^DE^http://c001.p104.edgesuite.net/i/c001/ntv_1@97405/master.m3u8",
	"KiKa^DE^http://c001.p113.edgesuite.net/i/c001/kika_1@97487/master.m3u8",
	"SRF 1^DE^http://c001.p110.edgesuite.net/i/c001/sf1_1@97474/master.m3u8",
	"SRF 2^DE^http://c001.p110.edgesuite.net/i/c001/sf2_1@97475/master.m3u8",
	"Orf 1^DE^http://c001.p113.edgesuite.net/i/c001/orf1_1@97573/master.m3u8",
	"Orf 2^DE^http://c001.p113.edgesuite.net/i/c001/orf2_1@97574/master.m3u8",
	"3+^DE^http://c001.p114.edgesuite.net/i/c001/3plus_1@97489/master.m3u8",
	"Arte^DE^http://c001.p107.edgesuite.net/i/c001/artede_1@97463/master.m3u8",
	"SRF Info^DE^http://c001.p104.edgesuite.net/i/c001/sfinfo_1@97408/master.m3u8",
	"3Sat^DE^http://c001.p112.edgesuite.net/i/c001/3sat_1@97480/master.m3u8",
	"ZDF Neo^DE^http://c001.p111.edgesuite.net/i/c001/zdfneo_1@97479/master.m3u8",
	"SWR^DE^http://c001.p113.edgesuite.net/i/c001/swr_1@97485/master.m3u8",
	"BR 3^DE^http://c001.p107.edgesuite.net/i/c001/br3_1@97517/master.m3u8",
	"Phoenix^DE^http://c001.p111.edgesuite.net/i/c001/phoenix_1@97476/master.m3u8",
	"EuroSport^DE^http://c001.p105.edgesuite.net/i/c001/eurosportde_1@97452/master.m3u8",
	"Joiz^DE^http://c001.p118.edgesuite.net/i/c001/joiz_1@135266/master.m3u8",
	"Tele Zuri^DE^http://c001.p119.edgesuite.net/i/c001/tzurich_1@135275/master.m3u8",
	"TeleSud Ostschweiz^DE^http://c001.p119.edgesuite.net/i/c001/tsudost_1@135274/master.m3u8",
	"CNN^EN^http://c001.p105.edgesuite.net/i/c001/cnn_1@97501/master.m3u8",
	"BBC World News^EN^http://c001.p105.edgesuite.net/i/c001/bbcworld_1@97498/master.m3u8",
	"RTS 1^FR^http://c001.p109.edgesuite.net/i/c001/rts1_1@97469/master.m3u8",
	"RTS 2^FR^http://c001.p109.edgesuite.net/i/c001/rts2_1@97470/master.m3u8",
	"TV5Monde^FR^http://c001.p103.edgesuite.net/i/c001/tv5monde_1@97380/master.m3u8",
	"France 2^FR^http://c001.p101.edgesuite.net/i/c001/france2_1@97347/master.m3u8",
	"France 3^FR^http://c001.p100.edgesuite.net/i/c001/france3_1@97329/master.m3u8",
	"France 5^FR^http://c001.p102.edgesuite.net/i/c001/france5_1@97351/master.m3u8",
	"RTL 9^FR^http://c001.p102.edgesuite.net/i/c001/rtl9_1@97354/master.m3u8",
	"TF 1^FR^http://c001.p109.edgesuite.net/i/c001/tf1_1@97468/master.m3u8",
	"M6^FR^http://c001.p108.edgesuite.net/i/c001/m6_1@97467/master.m3u8",
	"Arte^FR^http://c001.p101.edgesuite.net/i/c001/artefr_1@97346/master.m3u8",
	"RSI LA1^IT^http://c001.p110.edgesuite.net/i/c001/rsila1_1@97472/master.m3u8",
	"RSI LA2^IT^http://c001.p110.edgesuite.net/i/c001/rsila2_1@97473/master.m3u8",
	"Rai 1^IT^http://c001.p103.edgesuite.net/i/c001/rai1_1@97382/master.m3u8",
	"Rouge^FR^http://c001.p102.edgesuite.net/i/c001/rouge_1@97359/master.m3u8",
	"RTL Nitro^DE^http://c001.p106.edgesuite.net/i/c001/rtlnitro_1@97458/master.m3u8",
	"Servus^DE^http://c001.p114.edgesuite.net/i/c001/servus_1@97488/master.m3u8",
	"ATV^DE^http://c001.p114.edgesuite.net/i/c001/atv_1@97491/master.m3u8",
	"C9^FR^http://c001.p117.edgesuite.net/i/c001/c9_1@135252/master.m3u8",
	"Canal Alpha Jura^FR^http://c001.p117.edgesuite.net/i/c001/caju_1@135253/master.m3u8",
	"Tele 1^DE^http://c001.p118.edgesuite.net/i/c001/t1_1@135267/master.m3u8",
	"Tele M1 W^DE^http://c001.p108.edgesuite.net/i/c001/tm1w_1@135269/master.m3u8",
	"Tele Top TG^DE^http://c001.p120.edgesuite.net/i/c001/tttg_1@135278/master.m3u8",
	"Tele Top ZH^DE^http://c001.p119.edgesuite.net/i/c001/ttzh_1@135271/master.m3u8",
	"Tele Top SH^DE^http://c001.p120.edgesuite.net/i/c001/ttsh_1@135279/master.m3u8",
	"TVO^DE^http://c001.p118.edgesuite.net/i/c001/tost_1@135270/master.m3u8",
	"Tele M1 O^DE^http://c001.p118.edgesuite.net/i/c001/tm1o_1@135268/master.m3u8",
	"Canal Alpha Neuchatel^FR^http://c001.p117.edgesuite.net/i/c001/cane_1@135254/master.m3u8",
	"Tele Ticino^IT^http://c001.p117.edgesuite.net/i/c001/tticino_1@135255/master.m3u8",
	"TeleBasel^DE^http://c001.p119.edgesuite.net/i/c001/tbasel_1@135273/master.m3u8",
	"TeleBarn^DE^http://c001.p119.edgesuite.net/i/c001/tbarn_1@135272/master.m3u8",
	"TeleBielingue^DE^http://c001.p120.edgesuite.net/i/c001/tbielingue_1@135280/master.m3u8",
	"Italia 1^IT^http://c001.p103.edgesuite.net/i/c001/italia1_1@97381/master.m3u8",
	"Das Erste HD^DE^http://c001.p104.edgesuite.net/i/c001/daserstehd_1@97395/master.m3u8",
	"ZDF HD^DE^http://c001.p108.edgesuite.net/i/c001/zdfhd_1@97431/master.m3u8",
	"Arte HD^DE^http://c001.p104.edgesuite.net/i/c001/artedehd_1@97394/master.m3u8",
	"3Sat HD^DE^http://c001.p104.edgesuite.net/i/c001/3sathd_1@97393/master.m3u8",
	"NDR^DE^http://c001.p113.edgesuite.net/i/c001/ndr_1@97484/master.m3u8",
	"NDR HD^DE^http://c001.p105.edgesuite.net/i/c001/ndrhd_1@97424/master.m3u8",
	"WDR HD^DE^http://c001.p107.edgesuite.net/i/c001/wdrhd_1@97430/master.m3u8",
	"MDR^DE^http://c001.p123.edgesuite.net/i/c001/mdr_1@137782/master.m3u8",
	"MDR HD^DE^http://c001.p127.edgesuite.net/i/c001/mdrhd_1@180319/master.m3u8",
	"BR 3 HD^DE^http://c001.p101.edgesuite.net/i/c001/br3_hd_1@97418/master.m3u8",
	"SWR HD^DE^http://c001.p107.edgesuite.net/i/c001/swrhd_1@97429/master.m3u8",
	"HR^DE^http://c001.p123.edgesuite.net/i/c001/hr_1@137778/master.m3u8",
	"HR HD^DE^http://c001.p113.edgesuite.net/i/c001/hr_hd_1@97447/master.m3u8",
	"rbb^DE^http://c001.p106.edgesuite.net/i/c001/rbb_1@97457/master.m3u8",
	"rbb HD^DE^http://c001.p114.edgesuite.net/i/c001/rbb_hd_1@97449/master.m3u8",
	"Phoenix HD^DE^http://c001.p107.edgesuite.net/i/c001/phoenixhd_1@97428/master.m3u8",
	"ARD Alpha^DE^http://c001.p123.edgesuite.net/i/c001/bralpha_1@137776/master.m3u8",
	"N24 HD^DE^http://c001.p109.edgesuite.net/i/c001/n24hd_1@97436/master.m3u8",
	"Disney Channel^DE^http://c001.p104.edgesuite.net/i/c001/disney_channel_de_1@97396/master.m3u8",
	"Servus HD^DE^http://c001.p106.edgesuite.net/i/c001/servushd_1@97425/master.m3u8",
	"Tele 5^DE^http://c001.p108.edgesuite.net/i/c001/tele5_1@97465/master.m3u8",
	"KiKa HD^DE^http://c001.p105.edgesuite.net/i/c001/kikahd_1@97423/master.m3u8",
	"Ric^DE^http://c001.p123.edgesuite.net/i/c001/ric_1@137780/master.m3u8",
	"ProSieben MAXX^DE^http://c001.p107.edgesuite.net/i/c001/pro7maxx_1@97522/master.m3u8",
	"ZDF Neo HD^DE^http://c001.p109.edgesuite.net/i/c001/zdfneohd_1@97434/master.m3u8",
	"ZDF Kultur^DE^http://c001.p111.edgesuite.net/i/c001/zdfkultur_1@97478/master.m3u8",
	"ZDF Kultur HD^DE^http://c001.p108.edgesuite.net/i/c001/zdfkulturhd_1@97433/master.m3u8",
	"ZDF Info^DE^http://c001.p111.edgesuite.net/i/c001/zdfinfo_1@97477/master.m3u8",
	"ZDF Info HD^DE^http://c001.p108.edgesuite.net/i/c001/zdfinfohd_1@97432/master.m3u8",
	"EinsPlus^DE^http://c001.p123.edgesuite.net/i/c001/einsplus_1@137775/master.m3u8",
	"EinsPlus HD^DE^http://c001.p113.edgesuite.net/i/c001/einsplus_hd_1@97446/master.m3u8",
	"Einsfestival^DE^http://c001.p112.edgesuite.net/i/c001/einsfestival_1@97482/master.m3u8",
	"Einsfestival HD^DE^http://c001.p105.edgesuite.net/i/c001/einsfestivalhd_1@97422/master.m3u8",
	"tagesschau 24^DE^http://c001.p123.edgesuite.net/i/c001/tagesschau24_1@137781/master.m3u8",
	"tagesschau 24 HD^DE^http://c001.p114.edgesuite.net/i/c001/tagesschau24_hd_1@97450/master.m3u8",
	"Deluxe Music^DE^http://c001.p123.edgesuite.net/i/c001/deluxemusic_1@137777/master.m3u8",
	"Anixe^DE^http://c001.p113.edgesuite.net/i/c001/anixe_1@97486/master.m3u8",
	"Anixe HD^DE^http://c001.p111.edgesuite.net/i/c001/anixehd_1@97440/master.m3u8",
	"DW^DE^http://c001.p104.edgesuite.net/i/c001/dwtv_1@97397/master.m3u8",
	"k-tv^DE^http://c001.p104.edgesuite.net/i/c001/ktv_1@97400/master.m3u8",
	"Orf 1 HD^DE^http://c001.p101.edgesuite.net/i/c001/orf1hd_1@97416/master.m3u8",
	"Orf 2 HD^DE^http://c001.p101.edgesuite.net/i/c001/orf2hd_1@97417/master.m3u8",
	"SRF 1 HD^DE^http://c001.p106.edgesuite.net/i/c001/sf1hd_1@97426/master.m3u8",
	"SRF 2 HD^DE^http://c001.p106.edgesuite.net/i/c001/sf2hd_1@97427/master.m3u8",
	"S1 HD^DE^http://c001.p117.edgesuite.net/i/c001/s1tvhd_1@135250/master.m3u8",
	"TV24 HD^DE^http://c001.p128.edgesuite.net/i/c001/tv24_hd_1@180322/master.m3u8",
	"Tele Zuri HD^DE^http://c001.p128.edgesuite.net/i/c001/tzurich_hd_1@180321/master.m3u8",
	"TF 1 HD^FR^http://c001.p102.edgesuite.net/i/c001/tf1hd_1@97413/master.m3u8",
	"France 2 HD^FR^http://c001.p100.edgesuite.net/i/c001/france2hd_1@97420/master.m3u8",
	"Canal+^FR^http://c001.p101.edgesuite.net/i/c001/canalplus_1@97337/master.m3u8",
	"M6 HD^FR^http://c001.p100.edgesuite.net/i/c001/m6hd_1@97421/master.m3u8",
	"RTS 1 HD^FR^http://c001.p126.edgesuite.net/i/c001/rts1hd_1@114347/master.m3u8",
	"RTS 2 HD^FR^http://c001.p102.edgesuite.net/i/c001/rts2hd_1@97415/master.m3u8",
	"Arte HD^FR^http://c001.p100.edgesuite.net/i/c001/artefrhd_1@97419/master.m3u8",
	"D8^FR^http://c001.p100.edgesuite.net/i/c001/d8_1@97328/master.m3u8",
	"W9^FR^http://c001.p101.edgesuite.net/i/c001/w9_1@97344/master.m3u8",
	"TMC^FR^http://c001.p103.edgesuite.net/i/c001/tmc_1@97379/master.m3u8",
	"NT1^FR^http://c001.p108.edgesuite.net/i/c001/nt1_1@97528/master.m3u8",
	"NRJ12^FR^http://c001.p121.edgesuite.net/i/c001/nrj12_1@137759/master.m3u8",
	"France 4^FR^http://c001.p100.edgesuite.net/i/c001/france4_1@97330/master.m3u8",
	"BFM TV^FR^http://c001.p121.edgesuite.net/i/c001/bfmtv_1@137750/master.m3u8",
	"ITele^FR^http://c001.p121.edgesuite.net/i/c001/itele_1@137755/master.m3u8",
	"D17^FR^http://c001.p100.edgesuite.net/i/c001/d17_1@97327/master.m3u8",
	"gulli^FR^http://c001.p102.edgesuite.net/i/c001/gulli_1@97352/master.m3u8",
	"France O^FR^http://c001.p122.edgesuite.net/i/c001/franceo_1@137770/master.m3u8",
	"HD1 HD^FR^http://c001.p110.edgesuite.net/i/c001/hd1hd_1@97437/master.m3u8",
	"L'Equipe HD^FR^http://c001.p110.edgesuite.net/i/c001/equipetvhd_1@97439/master.m3u8",
	"6ter HD^FR^http://c001.p112.edgesuite.net/i/c001/6terhd_1@97443/master.m3u8",
	"N23 HD^FR^http://c001.p112.edgesuite.net/i/c001/n23hd_1@97444/master.m3u8",
	"RMC HD^FR^http://c001.p112.edgesuite.net/i/c001/rmchd_1@97445/master.m3u8",
	"Cherie 25 HD^FR^http://c001.p110.edgesuite.net/i/c001/cheriehd_1@97438/master.m3u8",
	"BFM Business^FR^http://c001.p121.edgesuite.net/i/c001/bfmb_1@137749/master.m3u8",
	"France 24^FR^http://c001.p121.edgesuite.net/i/c001/france24_1@137754/master.m3u8",
	"EuroNews^FR^http://c001.p121.edgesuite.net/i/c001/euronews_1@137752/master.m3u8",
	"Montagne^FR^http://c001.p121.edgesuite.net/i/c001/montagne_1@137758/master.m3u8",
	"TVM3^FR^http://c001.p104.edgesuite.net/i/c001/tvm3_1@97401/master.m3u8",
	"kto^FR^http://c001.p105.edgesuite.net/i/c001/kto_1@97495/master.m3u8",
	"BBC 1^EN^http://c001.p109.edgesuite.net/i/c001/bbc1_1@97471/master.m3u8",
	"BBC 1 HD^EN^http://c001.p103.edgesuite.net/i/c001/bbc1hd_1@97412/master.m3u8",
	"BBC 2^EN^http://c001.p124.edgesuite.net/i/c001/bbc2_1@137786/master.m3u8",
	"BBC 2 HD^EN^http://c001.p109.edgesuite.net/i/c001/bbc2hd_1@97435/master.m3u8",
	"BBC 3^EN^http://c001.p113.edgesuite.net/i/c001/bbc3_1@97575/master.m3u8",
	"BBC 3 HD^EN^http://c001.p126.edgesuite.net/i/c001/bbc3_hd_1@180212/master.m3u8",
	"BBC 4^EN^http://c001.p123.edgesuite.net/i/c001/bbc4_1@137784/master.m3u8",
	"BBC 4 HD^EN^http://c001.p126.edgesuite.net/i/c001/bbc4_hd_1@180211/master.m3u8",
	"ITV 1^EN^http://c001.p124.edgesuite.net/i/c001/itv1_1@137791/master.m3u8",
	"ITV 1 HD^EN^http://c001.p111.edgesuite.net/i/c001/itvhd_1@97442/master.m3u8",
	"ITV 2^EN^http://c001.p124.edgesuite.net/i/c001/itv2_1@137792/master.m3u8",
	"ITV 3^EN^http://c001.p105.edgesuite.net/i/c001/itv3_1@97494/master.m3u8",
	"ITV 4^EN^http://c001.p106.edgesuite.net/i/c001/itv4_1@97503/master.m3u8",
	"Channel 4 HD^EN^http://c001.p111.edgesuite.net/i/c001/channel4hd_1@97441/master.m3u8",
	"Channel 5^EN^http://c001.p124.edgesuite.net/i/c001/channel5_1@137787/master.m3u8",
	"More4^EN^http://c001.p124.edgesuite.net/i/c001/more4_1@137795/master.m3u8",
	"Fashion TV^EN^http://c001.p106.edgesuite.net/i/c001/fashiontv_1@97512/master.m3u8",
	"Travel Channel^EN^http://c001.p113.edgesuite.net/i/c001/travelchannel_1@97576/master.m3u8",
	"BBC World News HD^EN^http://c001.p127.edgesuite.net/i/c001/bbcnewshd_1@180318/master.m3u8",
	"CCTV News^EN^http://c001.p101.edgesuite.net/i/c001/cctvnews_1@97342/master.m3u8",
	"Al Jazeera^EN^http://c001.p123.edgesuite.net/i/c001/aljazeera_1@137783/master.m3u8",
	"Bloomberg TV^EN^http://c001.p124.edgesuite.net/i/c001/bloomberg_1@137785/master.m3u8",
	"CNBC^EN^http://c001.p124.edgesuite.net/i/c001/cnbc_1@137788/master.m3u8",
	"NHK World^EN^http://c001.p124.edgesuite.net/i/c001/nhkw_1@137796/master.m3u8",
	"Russia Today^EN^http://c001.p125.edgesuite.net/i/c001/russia_1@137797/master.m3u8",
	"Sky News^EN^http://c001.p106.edgesuite.net/i/c001/skynews_1@97511/master.m3u8",
	"RSI LA1 HD^IT^http://c001.p103.edgesuite.net/i/c001/rsila1hd_1@97410/master.m3u8",
	"RSI LA2 HD^IT^http://c001.p103.edgesuite.net/i/c001/rsila2hd_1@97411/master.m3u8",
	"Rai 2^IT^http://c001.p122.edgesuite.net/i/c001/rai2_1@137763/master.m3u8",
	"Rai 3^IT^http://c001.p122.edgesuite.net/i/c001/rai3_1@137764/master.m3u8",
	"Rai Gulp^IT^http://c001.p122.edgesuite.net/i/c001/raigulp_1@137765/master.m3u8",
	"Rai Scuola^IT^http://c001.p122.edgesuite.net/i/c001/raiscuola_1@137768/master.m3u8",
	"Rai Storia^IT^http://c001.p103.edgesuite.net/i/c001/raistoria_1@97389/master.m3u8",
	"Rai Sport 1^IT^http://c001.p103.edgesuite.net/i/c001/raisport1_1@97387/master.m3u8",
	"Rai Sport 2^IT^http://c001.p122.edgesuite.net/i/c001/raisport2_1@137769/master.m3u8",
	"Rai News24^IT^http://c001.p122.edgesuite.net/i/c001/rainews_1@137767/master.m3u8",
	"Canale 5^IT^http://c001.p121.edgesuite.net/i/c001/canale5_1@137760/master.m3u8",
	"Class TV Moda^IT^http://c001.p103.edgesuite.net/i/c001/tvmoda_1@97383/master.m3u8",
	"LA7^IT^http://c001.p122.edgesuite.net/i/c001/la7_1@137762/master.m3u8",
	"TV24^DE^http://c001.p111.edgesuite.net/i/c001/tv24_1@97562/master.m3u8",
	"La Tele^FR^http://c001.p109.edgesuite.net/i/c001/latele_1@97539/master.m3u8",
	"RTL CH^DE^http://c001.p118.edgesuite.net/i/c001/rtlchhd_1@135257/master.m3u8",
	"ProSieben HD^DE^http://c001.p119.edgesuite.net/i/c001/pro7chhd_1@135262/master.m3u8",
	"Cartoon Network^FR^http://c001.p121.edgesuite.net/i/c001/cn_1@137751/master.m3u8",
	"Leman Bleu^FR^http://c001.p121.edgesuite.net/i/c001/lemanbleu_1@137757/master.m3u8",
	"Rete 4^IT^http://c001.p122.edgesuite.net/i/c001/rete4_1@137766/master.m3u8",
	"EuroNews^DE^http://c001.p123.edgesuite.net/i/c001/euronewsde_1@137774/master.m3u8",
	"E4^EN^http://c001.p124.edgesuite.net/i/c001/e4_1@137789/master.m3u8",
	"Film4^EN^http://c001.p124.edgesuite.net/i/c001/film4_1@137790/master.m3u8"]

print "\r\nWelcome to WilmaaTV v" + version + " by gg\r\n"

for channel in channels:
    ch = channel.split('^')
    cpays = ch[1].lower()
    if cpays not in listes_pays:
        codes_pays.append(cpays)
        listes_pays[cpays] = []
    listes_pays[cpays].append(ch[0] + '^' + ch[2])
codes_qual = ['worst', 'best']
parser = argparse.ArgumentParser(description='wilmmaa parser')
parser.add_argument('--pays', metavar='pays', choices=codes_pays)
parser.add_argument('--chaine', metavar='chaine', type=int)
parser.add_argument('--duree', metavar='duree', type=int)
parser.add_argument('--qual', metavar='qualite', choices=codes_qual)
parser.add_argument('--nom', metavar='nom')
pargs = parser.parse_args(sys.argv[1:])
args = vars(pargs)

if not pargs.pays:
    print codes_pays
    sys.exit(0)

lstp = listes_pays[args['pays']]
if not pargs.chaine:
    for n, chaine in enumerate(lstp):
        print n + 1, chaine.split('^')[0]
    sys.exit(0)
chaine = args['chaine']
duree = args['duree']
if not duree:
    print pargs.duree
    print "duree doit etre un entier"
    sys.exit(0)
chaine = lstp[chaine - 1]
qual = args['qual']
if not qual:
    print pargs.qual
    print "qual doit etre best ou worst"
    sys.exit(0)
nom = args['nom']
nom = "_"+nom.replace(' ','_').replace("'","_")
title, url = chaine.split('^')
ip = "85.%d.%d.%d" % (randint(0, 7), randint(0, 255), randint(0, 255))
print ip
print "\r\nPlaying "+ title + "...\r\n"
filename = "%s-%s%s.ts" % (title.replace(' ', '_').replace("'", "_"), datetime.datetime.today().strftime("%Y%m%d-%H%M%S"),nom)
cmd = 'livestreamer  -o ' + filename + ' --http-header "X-Forwarded-For=' + ip + \
      '" "hlsvariant://' + url + '" '+ qual
print cmd
arguments = shlex.split(cmd)
process = subprocess.Popen(arguments) # , stdout=subprocess.STDOUT, stderr=subprocess.STDOUT)
pid = process.pid
time.sleep(duree)
process.terminate()

Archlinux sur Xiaomi Air 13

Hors ligne

#16 Le 23/10/2015, à 10:39

melixgaro

Re : [Tuto] Planifier l'enregistrement d'une TV européenne

salut,

merci pour tes efforts !
bonne journée.


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#17 Le 25/10/2015, à 14:36

11gjm

Re : [Tuto] Planifier l'enregistrement d'une TV européenne

Bonjour k3c ,

---
Préambule :
Après t'avoir fourni l'indication de la situation du PSW .
Je me suis dit pourquoi ne pas essayer son script (?) .
---

Ci-dessous mes résultats et questions .

1) Le script fonctionne ( sous XP sp3 ) .

"D:\python\Python27\python.exe" wilmaa.py --pays fr --chaine 1 --duree 60 --qual best --nom Indetermine
Avec "--chaine 1" j'obtiens => RTS_1-20151025-003612_Indetermine.ts
Durée demandée 60s , obtenu : 1mn19s
"D:\python\Python27\python.exe" wilmaa.py --pays fr --chaine 9 --duree 60 --qual best --nom Indetermine
Avec "--chaine 9" j'obtiens => M6-20151025-003048_Indetermine.ts
Durée demandée 60s , obtenu : 1mn09s

2) Mes questions concernent :

_ A] la numérotation des chaines : où trouver le N° + Nom de la chaine ?

Exemple pour les chaines françaises . A partir du fichier .php dernière version .

WilmaaTV v5.6_JX_04Oct2015 by Darby_Crash / jairox
---
Country selection:

1) Italy
2) England
3) Germany
4) France

Choose a country (0=Exit): 4
---
Channels list:

0) 6ter HD                 1) Arte HD                 2) Arte                    3) BFM Business
4) BFM TV                  5) C9                      6) Canal+                  7) Canal Alpha Jura
8) Canal Alpha Neuchatel   9) Cartoon Network         10) Cherie 25 HD           11) D8
12) D17                    13) EuroNews               14) France 2 HD            15) France 2
16) France 3               17) France 4               18) France 5               19) France 24
20) France O               21) gulli                  22) HD1 HD                 23) ITele
24) kto                    25) L'Equipe HD            26) La Tele                27) Leman Bleu
28) M6 HD                  29) M6                     30) Montagne               31) N23 HD
32) NRJ12                  33) NT1                    34) RMC HD                 35) Rouge
36) RTL 9                  37) RTS 1 HD               38) RTS 1                  39) RTS 2 HD
40) RTS 2                  41) TF 1 HD                42) TF 1                   43) TMC
44) TV5Monde               45) TVM3                   46) W9

Choose a channel (c=Country selection, x=Exit):

_ B] EPG : Existe-t-il un EPG ( associé à python ) .

Merci pour ton script .

Cordialement .

Hors ligne

#18 Le 25/10/2015, à 15:07

k3c

Re : [Tuto] Planifier l'enregistrement d'une TV européenne

@ 11gjm

>>>_ A] la numérotation des chaines : où trouver le N° + Nom de la chaine ?

dans le premier post de cette discussion, je te le remets ici

1, 2, 3 ou 4

1) Italy
2) England
3) Germany
4) France

Pour Italy, il y a

0) Canale 5
1) Class TV Moda
2) Italia 1
3) LA7
4) Rai 1
5) Rai 2
6) Rai 3
7) Rai Gulp
8) Rai News24
9) Rai Scuola
10) Rai Sport 1
11) Rai Sport 2
12) Rai Storia
13) Rete 4
14) RSI LA1 HD
15) RSI LA1
16) RSI LA2 HD
17) RSI LA2
18) Tele Ticino

Pour England il y a

0) Al Jazeera       1) BBC 1 HD         2) BBC 1            3) BBC 2 HD
4) BBC 2            5) BBC 3 HD         6) BBC 3            7) BBC 4 HD
8) BBC 4            9) BBC World News HD10) BBC World News  11) Bloomberg TV
12) CCTV News       13) Channel 4 HD    14) Channel 5       15) CNBC
16) CNN             17) E4              18) Fashion TV      19) Film4
20) ITV 1 HD        21) ITV 1           22) ITV 2           23) ITV 3
24) ITV 4           25) More4           26) NHK World       27) Russia Today
28) Sky News        29) Travel Channel  

Pour Germany

0) 3+               1) 3Sat HD          2) 3Sat             3) Anixe HD
4) Anixe            5) ARD Alpha        6) Arte HD          7) Arte
8) ATV              9) BR 3 HD          10) BR 3            11) Das Erste HD
12) Das Erste       13) Das Vierte      14) Deluxe Music    15) Disney Channel
16) DMax            17) DW              18) Einsfestival HD 19) Einsfestival
20) EinsPlus HD     21) EinsPlus        22) EuroNews        23) EuroSport
24) HR HD           25) HR              26) Joiz            27) k-tv
28) Kabel 1         29) KiKa HD         30) KiKa            31) MDR HD
32) MDR             33) N24 HD          34) N24             35) NDR HD
36) NDR             37) Nick/ComedyCentral38) NTV             39) Orf 1 HD
40) Orf 1           41) Orf 2 HD        42) Orf 2           43) Phoenix HD
44) Phoenix         45) ProSieben HD    46) ProSieben MAXX  47) ProSieben
48) rbb HD          49) rbb             50) Ric             51) RTL 1
52) RTL 2           53) RTL CH          54) RTL Nitro       55) S1 HD
56) Sat1            57) Servus HD       58) Servus          59) Sixx
60) Sport 1         61) SRF 1 HD        62) SRF 1           63) SRF 2 HD
64) SRF 2           65) SRF Info        66) Super RTL       67) SWR HD
68) SWR             69) tagesschau 24 HD70) tagesschau 24   71) Tele 1
72) Tele 5          73) TeleBarn        74) TeleBasel       75) TeleBielingue
76) Tele M1 O       77) Tele M1 W       78) TeleSud Ostschweiz79) Tele Top SH
80) Tele Top TG     81) Tele Top ZH     82) Tele Zuri HD    83) Tele Zuri
84) TV24 HD         85) TV24            86) TVO             87) VIVA
88) VOX             89) WDR HD          90) WDR             91) ZDF HD
92) ZDF Info HD     93) ZDF Info        94) ZDF Kultur HD   95) ZDF Kultur
96) ZDF Neo HD      97) ZDF Neo         98) ZDF 

et la France/Suisse

0) 6ter HD          1) Arte HD          2) Arte             3) BFM Business
4) BFM TV           5) C9               6) Canal+           7) Canal Alpha Jura
8) Canal Alpha Neuchatel9) Cartoon Network  10) Cherie 25 HD    11) D8
12) D17             13) EuroNews        14) France 2 HD     15) France 2
16) France 3        17) France 4        18) France 5        19) France 24
20) France O        21) gulli           22) HD1 HD          23) ITele
24) kto             25) L'Equipe HD     26) La Tele         27) Leman Bleu
28) M6 HD           29) M6              30) Montagne        31) N23 HD
32) NRJ12           33) NT1             34) RMC HD          35) Rouge
36) RTL 9           37) RTS 1 HD        38) RTS 1           39) RTS 2 HD
40) RTS 2           41) TF 1 HD         42) TF 1            43) TMC
44) TV5Monde        45) TVM3            46) W9              

>>>EPG : Existe-t-il un EPG ( associé à python ) .
Pas à ma connaissance, il parait que l'on peut trouver pas mal de programmes TV sur
http://programmes.rts.ch/#/schedules
utiliser la flèche à droite de Arte pour montrer d'autres programmes

Je cherche un site permettant de les obtenir, Telerama ?
http://television.telerama.fr/tele/grille.php#228


Archlinux sur Xiaomi Air 13

Hors ligne

#19 Le 25/10/2015, à 17:40

11gjm

Re : [Tuto] Planifier l'enregistrement d'une TV européenne

Bonjour ,

@k3c : Merci pour les réponses .

Je devais être un peu fatigué :
_ à passer d'un site à un autre
_ à passer d'une programmation à une autre

Dans le fichier "channels.ini" de "wilm** gui" , on y parle de :
http://m.hoerzu.de/tv-programm/daserste/ => etc .
!!! MAIS , la programmation n'est pas complète !!!

Cordialement .

Hors ligne

#20 Le 25/10/2015, à 17:45

k3c

Re : [Tuto] Planifier l'enregistrement d'une TV européenne

@ 11gjm

>>>Dans le fichier "channels.ini" de "wilm** gui" , on y parle de :
>>>http://m.hoerzu.de/tv-programm/daserste/ => etc .
>>>!!! MAIS , la programmation n'est pas complète !!!

Bof c'est en allemand, je voudrais un site qui donne les programmes en français


Archlinux sur Xiaomi Air 13

Hors ligne

#21 Le 25/10/2015, à 18:26

11gjm

Re : [Tuto] Planifier l'enregistrement d'une TV européenne

Bonjour ,

@k3c : Ci-dessous un exemple de fichier .xml contenant un EPG de 500 chaines . A investiguer (?) .
Préambules :

Définir où se situe :
_ "wget.exe" dans mon cas en "E:\php\wget.exe"
_ "tvguide_complet.zip" résultat de la capture en "E:\PHP\EPG\Xepg\tvguide_complet.zip"
_ "7z.exe" dans mon cas en "D:\Program Files\7-Zip\7z.exe"
_ Définir le lieu de la décompression dans mon cas en e:\PHP\EPG\Xepg\
_ Obtention d'un fichier "complet.xml" copié en "complet-%ladate%-%moment%.xml"
_ destruction de l'original "complet.xml"

Mon batch

@echo on
rem http://jjr44.pagesperso-orange.fr/xepg.htm
"E:\php\wget.exe" http://kevinpato.free.fr/xmltv/download/complet.zip -O "E:\PHP\EPG\Xepg\tvguide_complet.zip"
pause
"D:\Program Files\7-Zip\7z.exe" e "E:\PHP\EPG\Xepg\tvguide_complet.zip" -oe:\PHP\EPG\Xepg\ -aoa
rem => obtention du fichier "complet.xml"
pause
set ladate=%date:/=_%
set moment=%time:~0,2%h%time:~3,2%mn%time:~6,2%
copy complet.xml complet-%ladate%-%moment%.xml
del complet.xml
pause
:end

Cordialement .

Hors ligne

#22 Le 25/10/2015, à 19:55

Peron-R

Re : [Tuto] Planifier l'enregistrement d'une TV européenne

slt
question C.. , vous utilisez quoi comme logiciels pour regarder les chaines et enregistrer
bonne soirée


Ubuntu 16.04 LTS

Hors ligne

#23 Le 25/10/2015, à 20:08

11gjm

Re : [Tuto] Planifier l'enregistrement d'une TV européenne

@Peron-R

> J'ai une version en Python presque prête...
Indiqué à http://forum.ubuntu-fr.org/viewtopic.ph … #p20706781
et à http://forum.ubuntu-fr.org/viewtopic.ph … #p20742361

Cordialement .

Dernière modification par 11gjm (Le 25/10/2015, à 20:09)

Hors ligne

#24 Le 25/10/2015, à 20:20

Peron-R

Re : [Tuto] Planifier l'enregistrement d'une TV européenne

Merci a toi @11gjm , encore une question C.. LOL , comment utiliser ces codes ?


Ubuntu 16.04 LTS

Hors ligne

#25 Le 25/10/2015, à 20:42

k3c

Re : [Tuto] Planifier l'enregistrement d'une TV européenne

tu enregistres le script avec un nom comme par exemple
wilmaa.py

et tu lances comme indiqué, avec les paramètres, par exemple

python wilmaa.py --pays fr --chaine 1 --duree 120 --qual worst

Dernière modification par k3c (Le 25/10/2015, à 20:43)


Archlinux sur Xiaomi Air 13

Hors ligne