{{tag>Focal audio radio}}
----
====== Streamripper ======
Streamripper est un logiciel libre, publié sous licence GNU/GPL.
Streamripper permet l'enregistrement des flux audio diffusés sur Internet comme le propose StationRipper conçu pour MS Windows.
Streamripper gère l'enregistrement de flux audio dans les formats suivants :
* les flux MP3 Shoutcast - tous les flux ;
* les flux MP3 Icecast - Icecast 1.x et 2.x. UDP n'est pas supporté pour Icecast 1.x ;
* les flux vidéo Nullsoft Streaming Video (.nsv) - ce qui est utilisé par Winamp tv ;
* les flux AAC Shoutcast/Icecast ;
* les flux OGG - support partiel. Vous pouvez enregistrer le tout en un seul fichier, mais vous ne pouvez pas créer de fichiers séparés ou en relai.
Il est impossible pour Streamripper d'enregistrer des flux RealAudio, Windows Media, MusicMatch ou autres (voir [[:mplayer#streaming_et_recuperation_de_flux_audiovideo|MPlayer]]).
Par défaut Streamripper utilise les "metadata" pour séparer les musiques. En gros ce sont des données transmises par le serveur sur le titre et l'artiste de la chanson.
===== Installation =====
Il vous suffit, pour cela, d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>streamripper]]**\\
===== Utilisation/Configuration =====
Commencez par créer un dossier où stocker les morceaux enregistrés.
**Streamripper** s'utilise en [[:commande_shell|ligne de commande]].
==== Ligne de commande ====
=== Enregistrer un flux webradio ===
Pour commencer l'enregistrement ouvrez un terminal et lancez la commande suivante :
streamripper -d
où les paramètres sont :
* l'url de la source, généralement de la forme ''http://serveur/stream/numero:port''
* le dossier créé précédemment
=== Modifier la durée des fichiers ===
Pour modifier la durée de chaque fichier par rapport à la durée calculée à partir des infos du serveur :
streamripper -d --xs_offset= --xs_padding=:
où les paramètres sont :
* l'url de la source
* le dossier créé précédemment
* le décalage moyen constaté.
* la durée supplémentaire que vous souhaitez enregistrer au début du fichier
* la durée supplémentaire que vous souhaitez enregistrer à la fin du fichier
Toutes ces durées sont exprimées en ms.
=== Personnaliser les règles d'analyse ===
Si jamais votre RadioWeb change les métadonnées à l'intérieur d'une chanson, en insérant de la publicité ou des remerciements par exemple, la piste en cours sera divisée en segments. Pour l'éviter, vous pouvez indiquer à streamripper d'ignorer les métadonnées.
créer tout d'abord un fichier de règle d'analyse
remplacer XXXX par votre nom de répertoire personnel.
gedit /home/XXXXX/.config/streamripper/parse_rules.txt
exemple de fichier :
##--------------------------------------------------------------------------!
# ce si est un exemple de fichier de personnalisation des règles d'analyse
# USAGE: streamripper URL -w parse_rules.txt
##--------------------------------------------------------------------------!
# les lignes commencent par un '#' sont des commentaires, et les lignes
# vides sont ignorées.
# toutes les expressions commencent par
# m/ pour les règles de correspondances
# s/ pour les règles de substitutions attention ne pas confondre avec /s.
# et termine par /e ou /x ou /s
# /e permet d'ignorer les méta-données, c'est à dire que si elle correspond
# à l'expression régulière entre m/ et /e , streamripper n'en tiendra
# pas compte et continuera l'enregistrement sur le même fichier.
# /x permet d'exclure la trame correspondent à la méta-données
# c'est à dire que si elle correspond à l'expression régulière entre m/ et /x
# streamripper l'exclura et ne l'enregistrera pas.
# /s permet de forcer l'inclusion des trame correspondante à la méta-donnée
# c'est à dire que si elle correspond à l'expression régulière entre m/ et /s
# streamripper l'inclura de force et l'enregistrera même si un /x
# l'avait exclu précédemment.
# NB: par défaut tout est enregistré, cette option est donc peu utilisée.
m/^A suivre:/e
# Strip off anything like "- Mp3Pro" from the end of the string
# The leading "s" says this is a substitution rule
# The trailing "i" means case insensitive matching
s/[[:space:]]*-?[[:space:]]*mp3pro$//i
# Strip off something like "- " from the beginning of the string
s/^[[:space:]]*-[[:space:]]*//
# The strip rules don't have to be after the m//e, m//s and m//x
# rules. You can interleave them. Rules are always processed
# in order.
# This is the normal parsing rule: "Artist - Title"
# The trailing "A1" means that the artist (A) matches subpattern 1
# The trailing "T2" means that the title (T) matches subpattern 2
m/^[[:space:]]*([^-]*[^-[:space:]])[[:space:]]*-[[:space:]]*(.*)[[:space:]]*$/A1T2
# This is slightly different parsing rule: "Artist, Title"
## m/^[[:space:]]*([^,]*[^,[:space:]])[[:space:]]*,[[:space:]]*(.*)[[:space:]]*$/A1T2
# After the first match with an m//A or m//T rule, no more rules
# will be checked.
# If the metadata doesn't match any of the "m" rules, then the remaining
# metadata string (with substitutions) is entered into the "Title" field.
information sur les [[http://www.shellunix.com/regexp.html|Expressions régulière]] pour la configuration de vote fichier.
pour plus d'informations sur les différentes options de StreamRipper
man streamripper
===== Notes =====
Le logiciel StationRipper, qui ne fonctionne que sous MS Windows, n'est qu'une interface graphique pour Streamripper. StationRipper n'est pas libre et ne sera pas porté sous Linux.
Avec Streamripper, sous Ubuntu, vous n'êtes plus limité en nombre d'enregistrements simultanés : il vous suffit de lancer Streamripper plusieurs fois (avec plusieurs consoles ou en rajoutant à la fin de la commande '' &'', ce qui a pour effet de lancer cette dernière en arrière-plan).
==== Liens ====
* [[http://streamripper.sourceforge.net/|Le site officiel streamripper]] (en)
* Un logiciel utilisant Streamripper et cataloguant une bonne quantité de webradio, le tout en graphique et disponible dans les dépôts [[http://www.nongnu.org/streamtuner/|le site officiel streamtuner]] (en)
* Un tutoriel pour [[:tutoriel:lire_une_webradio|lire une webradio]] (fr)
* [[:mplayer#streaming_et_recuperation_de_flux_audiovideo|Streaming et récupération de flux audio/video]] en ligne de commande avec mplayer
----
//Contributeurs [[utilisateurs:Id2ndR]]//