le boxon de Lex

[ TUTO ] Programmer un enregistrement Freebox + VLC

J'ai écrit un tutoriel qui expliquait comment enregistrer une chaîne de télévision via sa Freebox, directement sur son PC, grâce au logiciel VLC. Mais comment souvent, ce qui sert vraiment dés que l'on commence à enregistrer, c'est de pouvoir planifier les enregistrements, plutôt que d'avoir à les lancer manuellement.

Le plus simple est de passer par l'interface de la Freebox (http://mafreebox.free.fr) et de programmer l'enregistrement via son navigateur web. Il suffit ensuite de télécharger l'enregistrement sur son PC, via FTP. Tout cela est facile. Mais le transfert FTP peut aussi s'avérer fastidieux. Ceux qui souhaitent programmer l'enregistrement via VLC peuvent procéder de la manière qui suit. Je documente la manoeuvre pour les systèmes Windows. Sous Linux et Mac, il y a quelques ajustements à faire au niveau du script.

Mise en place

Tout d'abord, il vous faut récupérer l'URL du flux à enregistrer. Lancez VLC, et procédez comme si vous alliez enregistrer un flux. Lorsque vous avez la fenêtre avec les options d'enregistrement...

ext - programmer un enregistrement avec la freebox et vlc - 1

... copiez l'URL du flux quelque part. Si vous en voyez deux (une en RTSP et l'autre en HTTP), optez pour celle en HTTP. Nous allons ensuite créer un script : c'est un fichier qui va nous permettre d'automatiser le lancement de VLC, avec les options adéquates. Dans un éditeur texte, copiez le texte suivant...

@echo off

@rem Trouver la date.
for /f "tokens=1-3 delims=/ " %%i in ("%date%") do (
	set day=%%i
	set month=%%j
	set year=%%k
)

set thedate=%day%_%month%_%year%

@rem La durée s'exprime en secondes.
@rem Ici, l'enregistrement durera 140 minutes.
set /a duration=60*140

"C:\Program Files\VideoLAN\VLC\vlc.exe" -vvv "http://192.168.1.254:52424/freeboxtv/mafreebox.freebox.fr/fbxtv_pub/stream?namespace=1&service=314&flavour=sd" --sout file/ts:N:\Streams\mif_%thedate%.ts --run-time=%duration% --stop-time=%duration% vlc://quit

Changez si besoin le nom du fichier TS. Attention de conserver la partie %the_date%. Sans cela, vous allez écraser l'enregistrement précédent s'il existe déjà. En utilisant la date, on garantit que chaque enregistrement sera dans son propre fichier. Enfin, sauvegardez le script (donnez-lui un nom significatif, mais sans espace ni accent, et accolez-lui l'extension .bat - exemple : samedi-matin.bat).

Lancez ensuite le planificateur de tâches de Windows.
Allez dans la bibliothèque de tâches.

ext - programmer un enregistrement avec la freebox et vlc - 2

Dans la partie droite de l'écran, créez une nouvelle tâche.

ext - programmer un enregistrement avec la freebox et vlc - 8

Donnez-lui un nom, ajoutez une description, et indiquez qu'elle vise au minimum un système Windows XP.

ext - programmer un enregistrement avec la freebox et vlc - 3

Dans l'onglet Déclencheurs, cliquez sur le bouton Nouveau. Spécifiez quand doit avoir lieu le premier enregistrement, quels jours et à quelle heure.

ext - programmer un enregistrement avec la freebox et vlc - 4 ext - programmer un enregistrement avec la freebox et vlc - 5

Allez ensuite dans l'onglet Actions, et cliquez sur le bouton Nouveau. Dans la fenêtre qui s'ouvre, allez piocher votre script .bat.

ext - programmer un enregistrement avec la freebox et vlc - 6 ext - programmer un enregistrement avec la freebox et vlc - 7

Puis cliquez sur le bouton Créer.
La tâche est sauvegardée. Vous pouvez fermer le planificateur.

Explications

Le planificateur est un service qui tourne sur les systèmes de Windows. Il a la responsabilité de lancer certains programmes. Nous l'utilisons ici pour démarrer l'enregistrement à une heure, une date et selon une régularité données. S'il est adapté au lancement d'une tâche, ce planificateur ne permet toutefois pas d'indiquer la date d'exécution. Généralement, elle finit quand elle a fait tout ce qu'elle avait à faire. Cela n'a pas de sens pour nos enregistrements.

Il s'agît donc de placer la durée de l'enregistrement dans le script, et non dans la planification de la tâche. Le modèle de script donné plus haut et donc un modèle. A vous de l'adapter en fonction de votre système et de votre besoin. L'emplacement de VLC, l'adresse du flux, le nom du fichier, et la durée sont probablement à revoir. La durée s'exprime en secondes.

Le script définit, et la tâche enregistrée, vos enregistrements se lanceront désormais tout seuls. Vous pourrez vaquer à vos occupations pendant ce temps-là.

J'avais attaqué ce tutoriel directement par la documentation de VLC, mais il s'avère que Micz Flor avait déjà élagué le sujet. Merci à lui, cela m'aura fait gagner du temps.



2 Réponses

  1. Bonjour,

    Merci pour ce script, qui fonctionne très bien après quelques aménagements et corrections. La seule chose que je n'ai pas pu corriger est la définition de la durée d'enregistrement en minutes. En effet, 60*nombre de minutes ne fonctionne pas, et la variable ne prend en compte que le premier chiffre. Dans le cas de 60*3, par exemple, la durée d'enregistrement sera de 60 s. Pour 30*2, elle sera de 30 s, etc. Il est donc obligatoire de définir la valeur de la variable duration en secondes. J'ai essayé avec duration=(60*3) et {60*3}, mais ça ne marche pas non plus. Auriez-vous une solution ?

    Merci d'avance.

    Cordialement

  2. Bonjour,

    Effectivement, il y a une erreur de ma part dans le script. Pour les opérations arithmétiques, il faut rajouter l'option "/a" après le mot-clé "set". Je viens de faire le test. Je mets à jour l'article.

    Merci de l'avoir signalé.

Laisser une réponse