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 17/05/2007, à 17:53

alteo_gange

Balado-diffusion en ligne de commande

Salut à tous!


###############
descriptif
###############

Voici un script permettant de faire de la balado-diffusion (ou podcast pour les ricains du forum) en ligne de commande. Il s'appuie sur podracer ('$ podracer -c') qui extrait les url des fichiers audio des fils RSS sélectionnés, ainsi que sur le lecteur audio mplayer.


################
installation
################

1) La 1ère chose à faire est donc d'installer podracer et mplayer si ce n'est pas déjà fait:
$ sudo aptitude install podracer mplayer


2) Ensuite vous pouvez si vous le voulez, personnaliser la liste des fils RSS de ~/.podracer/subscriptions:
$ vi ~/.podracer/subscriptions
Je vous conseille de commencer par commenter ('#' au début de chaque ligne) toutes les lignes. Cela vous facilitera la tâche pour la suite.

Voici un ex. de ~/.podracer/subscriptions:

#"BFM : Atelier Numérique"
#http://www.1001podcast.com/podcast/BFM/channel9/BFMchannel9.xml	
#"L'Atelier Numérique N°185"
#http://www.atelier.fr/syndication/xml-podcast.php	
#"RMC : De quoi je me mail"
#http://www.1001podcast.com/podcast/RMCInfo/channel35/RMCInfochannel35.xml	
#"France Culture - CONCORDANCE DES TEMPS"
#http://radiofrance-podcast.net/podcast/rss_16278.xml	
#"France Culture - Continent sciences"
#http://radiofrance-podcast.net/podcast/rss_16256.xml	
#"France Culture - Du grain à moudre"
#http://radiofrance-podcast.net/podcast/rss_10175.xml
#"France Culture - LA SUITE DANS LES IDEES"
#http://radiofrance-podcast.net/podcast/rss_16260.xml
#"France Culture - L'esprit public"
#http://radiofrance-podcast.net/podcast/rss_16119.xml
#"France Culture - Science et conscience"
#http://radiofrance-podcast.net/podcast/rss_10200.xml
#"France Culture - Science publique"
#http://radiofrance-podcast.net/podcast/rss_10192.xml
#"France Inter - 2000 ANS D'HISTOIRE"
#http://radiofrance-podcast.net/podcast/rss_14864.xml
#"France Inter - ECLECTIK"
#http://radiofrance-podcast.net/podcast/rss_17621.xml
#"France Inter - RENDEZ-VOUS AVEC X..."
#http://radiofrance-podcast.net/podcast/rss_14726.xml
#"France Inter - Rue des entrepreneurs"
#http://radiofrance-podcast.net/podcast/rss_14958.xml
#"RTL : Le Fait Politique"
#http://www2.rtl.fr/fournisseurs/podcasting/podcast_RTL_Politique.xml
#"RTL : Le Grand Jury"
#http://www2.rtl.fr/fournisseurs/podcasting/podcast_RTL_Grand_Jury.xml
#"RTL : Le Journal Economique"
#http://www2.rtl.fr/fournisseurs/podcasting/podcast_RTL_journaleco.xml
#"RTL : L'Invité de RTL"
#http://www2.rtl.fr/fournisseurs/podcasting/podcast_RTL_Invite.xml
#"RTL : On refait le Match"
#http://podcast.rtl.fr/onrefaitlematch.xml
#"ARTE Radio : Les nouveautés de la semaine"
#http://www.arteradio.com/makeRSS.do

3) Copier le code suivant:

#!/bin/bash
#
##########
# balado #
##########
#
# Balado est un logiciel GNU/Linux de balado-diffusion en ligne de
# commande basé sur podracer (http://podracer.sourceforge.net) et
# mplayer (http://www.mplayer.hq.hu).
#
# Il permet de lire ou télécharger des fichiers audio à partir de
# flux RSS.
#
# Avant d'utiliser 'balado' vous devez installer podracer et mplayer.
# De plus ~/.podracer/subscriptions (fichier de configuration de
# podracer contenant la liste des fils RSS) doit contenir au moins
# un fil RSS.
#
# La plupart des options de 'balado' utilisent les fils RSS actifs du
# fichier ~/.podracer/subscriptions. Un fil est considéré comme actif
# quand la ligne qu'il occupe ne commence pas par le caractère '#'.
#
# Lors de la 1ère utilisation de 'balado', par soucis de clarté il
# est conseillé de commenter ('#' en début de ligne) toutes les
# lignes de ~/.podracer/subscriptions.
#
# Liste des options:
# 	$ balado --help


# Fichier contenant la liste des fils RSS
rss=~/.podracer/subscriptions

# Fichier contenant les adresses de fichiers audios après lecture du ou des fils RSS 
url=~/.podracer/podcast.log

# Répertoire de téléchargement des fichiers audio
perso=~/



case "$1" in

lst)
	vi $rss
	;;

mplayer)
	vi ~/.podracer/subscriptions
	rm ~/.podracer/podcast.log
	podracer -c
	mplayer `cat $url`
	;;

mplayer2)
	mplayer `cat $url`
	;;

pre)
	vi $rss
	rm $url
	podracer -c
	cat $url
	;;

rech)
	rm $url
	podracer -c
	;;

sel)
	mplayer `grep -i $2 $url`
	;;

tel)
	vi $rss
	rm $url
	podracer -c
	cd $perso	
	wget `cat $url`
	;;

tel2)
	cd $perso
	wget `grep -i $2 $url`
	;;

voir)
	cat $url
	;;

*)
	echo "Usage: balado [option] [argument]"
	echo ""
	echo "  --help		Affiche ce message d'aide"
	echo "  lst			Edite les flux RSS contenus dans $rss"
	echo "  rech			Met à jour les flux RSS actifs de $rss"
	echo "  voir			Affiche les liens des fichiers audio de $url"
	echo "  mplayer		Lit un ou des fichiers audio avec mplayer après avoir sélectionné un ou des flux RSS"
	echo "  mplayer2		Lit directement les fichiers audio listés dans $url avec mplayer"
	echo "  sel 'bout_d_url'	Lit avec mplayer l'audio listé dans $rss contenant la chaîne de caractères 'bout_d_url'"
	echo "  tel			Télécharge les fichiers listés dans $url"
	echo "  tel2 'bout_d_url'	Télécharge directement l'audio répertorié dans $url contenant la chaîne de caractères 'bout_d_url'"
	echo "  pre			Affiche les liens des fichiers audios après avoir sélectionné et mis-à-jour un ou des fils RSS"

	exit 1
	;;

esac

exit 0

puis:
$ gksu gedit /usr/local/bin/balado
sous gnome

ou
$ kdesu kate /usr/local/bin/balado
sous kde

et coller le contenu du presse papier dans l'éditeur de texte avant de sauvegarder.


4) Rendre actif le script balado:
$ sudo chmod 755 /usr/local/bin/balado


5) Lancer balado:
$ balado [option] [ARG]


########################
détail des commandes
########################

Les options sont détaillés par la commande:
$ balado --help

Elle renvoie à peu de choses près le message d'aide suivant:

Usage: balado [option] [argument]

  --help		Affiche ce message d'aide
  lst			Edite les flux RSS contenus dans ~/.podracer/subscriptions
  rech			Met à jour les flux RSS actifs de ~/.podracer/subscriptions
  voir			Affiche les liens des fichiers audio de ~/.podracer/podcast.log
  mplayer		Lit un ou des fichiers audio avec mplayer après avoir sélectionné un ou des flux RSS
  mplayer2		Lit directement les fichiers audio listés dans ~/.podracer/podcast.log avec mplayer
  sel 'bout_d_url'	Lit avec mplayer l'audio listé dans ~/.podracer/subscriptions contenant la chaîne de caractères 'bout_d_url'
  tel			Télécharge les fichiers listés dans ~/.podracer/podcast.log
  tel2 'bout_d_url'	Télécharge directement l'audio répertorié dans ~/.podracer/podcast.log contenant la chaîne de caractères 'bout_d_url'
  pre			Affiche les liens des fichiers audios après avoir sélectionné et mis-à-jour un ou des fils RSS

###################################
2 examples d'utilisation
###################################

a) Lecture d'un fichier audio présent sur le réseau:
$ balado mplayer
'vi' s'ouvre. Appuyer sur la touche i. Vous devez alors décommenter une (voire plusieurs) ligne correspondant au fil RSS qui vous intéresse. Puis échap puis :wq puis entrée. Le lecteur mplayer lance un fichier audio. Si plusieurs url ont été récupérés, vous pouvez passer à l'audio suivant en appuyant sur la touche '>'.

b) Téléchargement d'un fichier audio présent sur le réseau
$ balado tel
'vi' s'ouvre. Appuyer sur la touche i. Vous devez alors décommenter une (voire plusieurs) ligne correspondant au fil RSS qui vous intéresse. Puis échap puis :wq puis entrée. Wget télécharge un fichier audio.

Rq: la lecture et le téléchargement peuvent être réalisés plus précisément par les commandes respectives '$ balado sel [argument]' et '$ balado tel2 [argument]'. Ces 2 commandes doivent alors être précédés par '$ balado pre' de façon à connaître [argument]. Ceci est utile quand plusieurs url sont répertoriés dans ~/.podracer/podcast.log.


Il y a certaines choses que je ne suis pas arrivé à réaliser:
- inverser toutes les lignes d'un fichier pour pouvoir lire les url avec mplayer en sens inverse (ou alors ne rien inverser du tout et faire en sorte que mplayer lise une liste en sens inverse - je n'ai pas vu l'otion dans '$ man mplayer');
- nommer une option de 2 façons différentes (ex: -m et --mplayer). Je pourrais le faire avec des copier-coller dans le script mais je n'aime pas les doublons.
- rendre valide une commande du type: '$ balado --sel=arg'.
- faire un 'if else' avec comme condition avoir un argument ($1) vide ou pas ($1=="" ne marche pas).


Voilà!

Hors ligne