Je vous propose aujourd'hui un petit article simple, qui m'a quand même pris presque 1 heure de recherche, dont le but est de pouvoir enregistrer une radio du web, en spécifiant la date et l'heure de début et de fin de l'émission que vous souhaitez enregistrer, mais aussi bien entendu l'URL du flux de la radio. N'oubliez pas de prévoir des marges sur vos enregistrements, on ne sait jamais ! Ceci va se faire sous Windows, ma version de Windows étant un Windows 10. Je ne sais pas si c'est commande fonctionne sur la version 11 ou même sur la version 7.

Le principe

 J'ai eu cette idée de recherche un jour en programmant mes enregistrements télévisuels sur ma Freebox. L'opérateur Free propose la possibilité de programmer un enregistrement pour une chaîne et une date heure précise, pour la télévision, mais pas pour la radio (ou je n'ai jamais trouvé). Nous allons ici, transférer sous le système d'exploitation Windows, la même fonctionnalité avec, vous aurez bien compris, l'excellent logiciel FFMPEG
Pour fonctionner, nous allons utiliser une fonctionnalité de Windows, que vous connaissez sûrement car elle existe maintenant depuis plusieurs années : les tâches planifiées. Mais pour aller un peu plus loin dans le principe, nous allons utiliser un maximum de lignes de commande, afin de pouvoir scripter vos programmations d'enregistrements d'une part, mais aussi pour comprendre ce que nous allons faire 
 
Je ne reviens pas sur la recherche de vos adresses de vos flux radiophoniques que vous souhaitez ouïr, mais je profite pour vous donner une petite URL que j'ai trouvé très intéressante pour trouver le flux streaming d'une radio : www.streamurl.com.
Lorsque vous aurez trouvé votre flux de la radio de votre choix, nous allons nous attaquer dans un deuxième temps et à composition de la ligne de commande qui permet d'enregistrer votre flux avec FFMPEG. J'ai déjà écrit un article en détail dessus, que vous pouvez relire.
L'idée ici et bien de créer une tâche planifiée pour lancer un enregistrement de votre radio à une date et une heure précise. Bien entendu, vous devrez laisser tourner votre machine à moins que vous ayiez la chance d'avoir un serveur dédié sous Windows...

La commande 

 Pour lancer la commande de programmation de votre enregistrement, nous allons utiliser l'utilitaire fourni dans Windows schtasks. Il vous permet en une ligne de commande de programmer une commande à une date et heure précise.
Comme d'habitude, inutile de vous faire un grand discours, la ligne de commande et la suivante et je vous la commente : 
SCHTSK /CREATE  Once  /TN nom_de_votre_tache /TR <votre_commande_ffmpeg> /et <end_time> /SD <start_date>  /ST <start_time>  
 
 Quelques mise en garde : 
  • J'ai eu quelques petits soucis avec les chemins relatifs, sous Windows, je vous recommande donc des chemins absolus.
Add a comment

Pour enregistrer la radio avec ffmpeg, il faut :

ffmpeg -i https://direct.francebleu.fr/live/fblorrainenord-midfi.mp3?ID=radiofrance -af silenceremove=stopperiods=-1:stopduration=1:stop_threshold=-30dB output-file.mp3

  • -i https://direct.francebleu.fr/live/fblorrainenord-midfi.mp3?ID=radiofrance :   flux d'entrée
  • - af silenceremove=stop_periods=-1:stop_duration=1:stop_threshold=-30dB : filtre à appliquer à l'enregistrement (af = audio filter)
    • silenceremove : supprime les silences
      • Stop_periods : Définit le nombre de coupures de silence à partir de la fin de l'audio. Pour supprimer le silence au milieu d'un fichier, spécifiez un stop_periods négatif. Cette valeur est ensuite traitée comme une valeur positive et est utilisée pour indiquer que l'effet doit redémarrer le traitement comme spécifié par start_periods, ce qui le rend approprié pour supprimer les périodes de silence au milieu de l'audio. La valeur par défaut est 0.
      • Stop_duration : Spécifie une durée de silence qui doit exister avant que l'audio ne soit plus copié. En spécifiant une durée plus élevée, le silence souhaité peut être laissé dans l'audio.
      • stop_threhold : C'est la même chose que start_threshold mais pour couper le silence à partir de la fin de l'audio. Peut être spécifié en dB (dans le cas où "dB" est ajouté à la valeur spécifiée) ou en rapport d'amplitude. La valeur par défaut est 0.
  • outpilfile.mp3 : fichier de sortie

Une autre commande : ffmpeg -i http://icecast.radiofrance.fr/franceinter-midfi.mp3 -c copy output.mp3

Add a comment

Pour extraire un CD audio, la commande de base est : ffmpeg -f libcdio -ss 0 -i /dev/sr0 target.wav où :

  • -f : force l'entrée. Sur linux, l'entrée audio est libcdio
  • -ss 0 : place le curseur de "lecture" à la position 0.
  • -i : spécifie la source d'entrée
  • target.wav : nom du ufichier de sortie, ici au format WAV
Add a comment