VLC (VideoLan Client) est un magnifique logiciel open source pour visualiser des vidéos ou écouter de la musique, dont la particularité est de lire la majorité des formats du marché. Il est aussi capable de récupérer des flux de Télévision par internet. Free utilise d'ailleurs VLC pour diffuser ses chaînes en multiposte.

Si sous UNIX il est aisé de programmer un enregistrement grâce à un petit shell, sous Windows, c'est un peut plus compliqué, mais pas impossible !

Etape 1 : récupérer les chaînes

Avant toute chose, il faut récupérer les chaînes. Pour free, il suffit de récupérer la playlist.

En ouvrant ce fichier, l'on peut voir les lignes suivantes :

#EXTM3U
#EXTINF:0,2 - France 2
rtsp://mafreebox.freebox.fr/freeboxtv/stream?id=201
#EXTINF:0,3 - France 3 national
rtsp://mafreebox.freebox.fr/freeboxtv/stream?id=202
#EXTINF:0,5 - France 5
rtsp://mafreebox.freebox.fr/freeboxtv/stream?id=203
#EXTINF:0,6 - M6
rtsp://mafreebox.freebox.fr/freeboxtv/stream?id=613
#EXTINF:0,7 - Arte
rtsp://mafreebox.freebox.fr/freeboxtv/stream?id=204
#EXTINF:0,8 - Direct 8
rtsp://mafreebox.freebox.fr/freeboxtv/stream?id=372
#EXTINF:0,9 - W9
rtsp://mafreebox.freebox.fr/freeboxtv/stream?id=373
#EXTINF:0,10 - TMC
rtsp://mafreebox.freebox.fr/freeboxtv/stream?id=497
#EXTINF:0,11 - NT1
...

Etape 2 : réaliser un batch d'enregistrement

Pour enregistrer avec VLC, il y a deux possibilités, soit lancer l'enregistrement avec toutes les options - ce qui peut être long à mettre en place à chaque fois qu'il y aura un enregistrement, surtout s'il s'agit toujours du même paramétrage, seule la chaîne à enregistrer change - soit réaliser un batch qui va créer un fichier m3u afin d'y inclure tous les paramétrages.

Dans l'exemple suivant, les seuls paramètres retenus sont la chaîne et le répertoire d'enregistrement. Le reste sera encapsulé dans un fichier m3u généré à la volée par un batch.

@echo off

SET chemin=%2
SET chaine=%1
SET canal=0
SET jour=%date:~6,4%%date:~3,2%%date:~0,2%
SET heure=%time:~0,2%
SET minute=%time:~3,2%
SET seconde=%time:~6,2%

IF "%time:~0,1%"==" " SET heure=0%time:~1,1%

SET mytime=%jour%%heure%%minute%%seconde%

IF %chaine%==FRANCE2  SET canal=201
IF %chaine%==FRANCE3  SET canal=202
IF %chaine%==FRANCE4  SET canal=376
IF %chaine%==FRANCE5  SET canal=203
IF %chaine%==M6  SET canal=613
IF %chaine%==TMC  SET canal=497
IF %chaine%==RTL9  SET canal=210
IF %chaine%==NT1  SET canal=374
IF %chaine%==ARTE  SET canal=204
IF %chaine%==W9  SET canal=373
IF %chaine%==DIRECT8 SET canal=372
IF %chaine%==FRANCEO  SET canal=238
IF %chaine%==ITELE  SET canal=417
IF %canal%==0 GOTO AIDE ELSE GOTO ENREGISTRE

 

:ENREGISTRE

echo generation du fichier m3u de la chaine %chaine% (canal %canal%)

echo #EXTM3U > %chaine%.m3u
echo #EXTINF:0,Enregistrement >> %chaine%.m3u
echo #EXTVLCOPT:sout=#standard{mux=ts,dst="%chemin%\%chaine%-%mytime%.mpeg",access=file} >> %chaine%.m3u
echo rtsp://mafreebox.freebox.fr/freeboxtv/stream?id=%canal% >> %chaine%.m3u
EXIT 0

 

:AIDE

echo VLC-ENR.bat {nom de la chaine en majuscules sans espaces} {chemin d'enregistrement}

EXIT 1

 

La difficulté provient du fait qu'il faut extraire à la main chaque chaîne avec son canal pour indiquer la correspondance au script. Sous unix, la puissance du shell est tel qu'il est possible d'automatiser tout cela afin de rafraîchir automatiquement la playlist.

La difficulté majeure n'est pas de lancer VLC, mais de l'arrêter. Heureusement, la planificateur de tâches Windows permet d'arrêter une tâche en exécution au bout d'un certain temps.

Remarque

Dans le batch, les paramètres d'enregistrement sont fixés à mux=ts. Pour plus de détails sur les paramètres d'enregistrement, consulter l'aide VLC.

Plaçons le batch dans le répertoire de VLC.

Etape 3 : programmer les tâches

Grâce au planificateur de tâche, l'on peut automatiser le lancement de l'enregistrement. Pour cela, il faut créer deux tâches. La première qui va générer le m3u d'enregistrement. La première tâche va donc exécuter notre batch, avec tous ses paramètres. Par exemple :

E:\programmes\VideoLAN\VLC\VLC-ENR.bat TMC T:

L'on peut voir que le batch E:\programmes\VideoLAN\VLC\VLC-ENR.bat (étape 2) est exécuté avec comme chaîne TMC et comme chemin T:. Ce qui signifie que l'enregistrement va créer sur T: un fichier nommé {chaîne}-{date-heure d'enregistrement}.mpeg.

Après cette tâche programmée à l'heure souhaitée d'enregistrement. Il faudra exécuter une seconde tâche, la minute d'après, qui exécutera le m3u :

E:\programmes\VideoLAN\VLC\vlc.exe TMC.m3u

Pour cette seconde tâche, l'astuce consiste à indiquer au bout de combien de temps l'enregistrement doit s'arrêter en programmant la durée d'exécution de la tâche.

enregistrer avec VLC

Activer l'option "arrêter la tâche..." dans l'onglet paramètres

Votre enregistrement est prêt !

Pour aller plus loin

Une fois la vidéo enregistrée, il peut être utile de la transcoder dans un autre format pour, par exemple, l'emmener sur un lecteur vidéo portable. Pour cela, VLC permet de disposer d'un grand nombre d'options. Pour en savor plus, consultez cette astuce.