{{tag>audio radio streaming}} ---- ====== Jinzora : diffuser votre musique sur internet ====== [[http://en.jinzora.com/|Jinzora]] est une plate-forme de streaming et un gestionnaire de fichiers audio intégralement basé sur une interface Web. Les fichiers de votre médiathèque peuvent être diffusés par un flux audio au format MP3, Ogg, Wav ou WMA ou tout simplement téléchargés. L'interface, très jolie et personnalisable par thèmes, permet de rechercher des morceaux par genre, par artiste ou par album. Le logiciel est même capable d'analyser les tags ID3 pour créer la bibliothèque et télécharger les jaquettes depuis Internet. ===== Pré-requis ===== Pour la suite des opérations, des pré-requis sont nécessaires : * Disposer des [[:sudo|droits d'administration]] ; * Disposer d'une connexion à Internet configurée et activée pour télécharger le logiciel ; * Un serveur [[:lamp|LAMP]] (Linux Apache Mysql Php) fonctionnel. * Installer mpd ==== Paramétrage de php pour les prérequis Jinzora ==== Editer le fichier //php.ini// pour changer les valeurs de quelques variables : sudo xdg-open /etc/php5/apache2/php.ini Rechercher les lignes ci-dessous dans le fichier puis remplacer les valeur par celles-ci : max_execution_time = 300 memory_limit = 32M post_max_size = 32M upload_max_filesize = 32M Enregistrer les modifications et redémarrer le serveur web : sudo /etc/init.d/apache2 restart === En cas de virtual-host === Dans le cas d'une installation sur un virtual-host apache dédié à Jinzora, il peut être préférable de faire le paramétrage de PHP dans la configuration du virtual-host (ce qui évite de changer la configue PHP pour tout le serveur). Dans ce cas, Editer le fichier de configuration du virtual host sudo xdg-open /etc/apache2/sites-available/virtual-host Dans la section Directory adapté (celle dédiée au répertoire racine du virtual-host), ajouter les php value necessaires : ... php_value max_execution_time 300 php_value post_max_size 32M php_value upload_max_filesize 32M ... Enregistrer les modifications et redémarrer le serveur web : sudo /etc/init.d/apache2 reload ==== Installation du logiciel Jinzora ==== Jinzora n'est pas dans les dépots de base ; il va donc falloir récupérer la dernière version stable du logiciel directement sur internet, à l'adresse http://en.jinzora.com/download Décompresser le fichier téléchargé tar -zxvf j2.7.tar.gz Ou bien clique droit sur le fichier puis //Extraire ici// Déplacer le dossier contenant les fichiers de Jinzora dans le répertoire du serveur web Apache sudo mv jinzora2/ /var/www/ Modification des permissions d'écritures Le script //configure.sh// fourni par jinzora met les droits d'écriture pour tout le monde sur certains fichiers. Pour ceux que ca gêne, il semble possible de le modifier pour mettre ceci : ''chown -R root:www-data settings.php jukebox/settings.php temp/ data/'' ''chmod 775 settings.php'' ''chmod 775 jukebox/settings.php'' ''chmod 775 -R temp/'' ''chmod 775 -R data/'' cd /var/www/jinzora2/ sudo sh configure.sh ==== Paramétrage du logiciel Jinzora ==== Lancer dans votre navigateur internet la page http://127.0.0.1/jinzora2/ et suivre les instructions ; je vais tenter de vous décrire les étapes les plus importantes. === Etape 2 / Requirements === Il s'agit de vérifier que les indicateurs sont bien au vert ; il est normal que 'PHP PostgreSQL Support' et 'DBX Support' ne soient pas installés puisque nous n'utiliserons pas ces bases de données. Pour le pdf, c'est également normal. === Etape 5 / Main Settings === Saisir le nom d'utilisateur et le mot de passe de l'administrateur du logiciel Jinzora ; bien choisir //Database// comme Backend type puisque nous utiliserons la base de données Mysql. Suivant vos goûts, choisissez le Frontend et le Style qui seront appliqués à l'application et l manière dont serons géré === Etape 6 / Backend Setup === Saisir les identifiants du compte root de la base MySql ; choisir true dans la zone 'Create Database' pour que la base de données soit créée automatiquement. === Etape 7 / Import media === Il vous suffit de parcourir les répertoires de votre disque dur pour en importer les fichiers musicaux. Attention : il faut impérativement que le serveur ait les droits d'accès à ces fichiers musicaux. C'est à dire que www-data (ou moins sécurisé 'other') ait au minimum les droits de lecture sur les fichiers ! Voilà, les étapes les plus sensibles ont été expliquées et c'est -déjà- la fin de l'installation ; exécuter la commande suivante pour supprimer le répertoire d'installation de Jinzora : sudo rm -Rf /var/www/jinzora2/install Et après avoir exécuté cette commande, accéder à Jinzora par l'adresse [[http://127.0.0.1/jinzora2/ |http://127.0.0.1/jinzora2/]] ; il ne vous reste plus qu'à saisir vos identifiants pour accéder à votre musique ! ===== Utiliser un Lecteur flash au niveau du client ===== **1ere solution : Le player XSPF** Il est possible d'utiliser le player flash XSPF (http://musicplayer.sourceforge.net) au niveau du client. Ce player est déja intégré à Jinzora. Le player s'ouvrira dans une fenêtre popup. Pour l'utiliser il faut éditer le fichier jinzora2/settings.php comme ceci : $embedded_player = "xspf"; **2eme solution : Le player d'enricolai.com** Player très sympa, mais moins simple a mettre en oeuvre. Démo : http://www.enricolai.com/FMP3/XSPF-flash-mp3-player.asp D'abord il faut créer un fichier enricolai.php : gedit /var/www/jinzora2/services/services/players/enricolai.php copier/coller le contenu ci dessous dans gedit et sauver : * * Contributors: * Please see http://www.jinzora.org/modules.php?op=modload&name=jz_whois&file=index * * Code Purpose: Processes data for Enricolai FMP3 Embedded XSMPF Player * Created: 03.03.05 by Ross Carlson * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ define('SERVICE_PLAYERS_enricolai','true'); /** * Returns the player width * * @author Ben Dodson * @version 8/23/05 * @since 8/23/05 */ function SERVICE_RETURN_PLAYER_WIDTH_enricolai(){ return 350; } /** * Returns the players height. * * @author Ben Dodson * @version 8/23/05 * @since 8/23/05 */ function SERVICE_RETURN_PLAYER_HEIGHT_enricolai(){ return 350; } /** * Returns the data for the form posts for the player * * @author Ross Carlson * @version 06/05/05 * @since 06/05/05 * @param $formname The name of the form that is being created */ function SERVICE_RETURN_PLAYER_FORM_LINK_enricolai($formname){ return "document.". $formname. ".target='embeddedPlayer'; openMediaPlayer('', 350, 350);"; } /** * Returns the data for the href's to open the popup player * * @author Ross Carlson * @version 06/05/05 * @since 06/05/05 */ function SERVICE_RETURN_PLAYER_HREF_enricolai(){ return ' target="embeddedPlayer" onclick="openMediaPlayer(this.href, 350, 350); return false;"'; } /** * Actually displays this embedded player * * @author Ross Carlson * @version 3/03/05 * @since 3/03/05 * @param $list an array containing the tracks to be played */ function SERVICE_DISPLAY_PLAYER_enricolai($width, $height){ global $root_dir, $this_site, $css; ?> Jinzora Enricolai FMP3 XSPF Player'; echo ''; $playlist = $this_site. $root_dir. "/temp/playlist.xspf?". time(); $height = $height - 30; ?> flatten(); $output_content = ''. "\n"; $output_content .= ''. "\n"; $output_content .= ' '. "\n"; // Now let's loop throught the items to create the list foreach ($list->getList() as $track) { // Should we play this? if ((stristr($track->getPath("String"),".lofi.") or stristr($track->getPath("String"),".clip.")) and $_SESSION['jz_play_all_tracks'] <> true){continue;} // Let's get the meta $meta = $track->getMeta(); // Let's get the art $parent = $track->getParent(); if (($art = $parent->getMainArt()) !== false) { $image = jzCreateLink($art,"image"); } else { $image = $this_site. $root_dir. "/style/images/default.jpg"; } $output_content .= ' '. "\n"; $output_content .= ' '. $track->getFileName("user"). ''. "\n"; $output_content .= ' '. $image. ''. "\n"; $output_content .= ' '. $meta['artist']. " - ". $meta['title']. ''. "\n"; $output_content .= ' '. "\n"; } // Now let's finish up the content $output_content .= ' '. "\n"; $output_content .= ''; // Now that we've got the playlist, let's write it out to the disk $plFile = $include_path. "temp/playlist.xspf"; @unlink($plFile); $handle = fopen ($plFile, "w"); fwrite($handle,$output_content); fclose($handle); // Now let's display $width = "270"; $height = "340"; SERVICE_DISPLAY_PLAYER_enricolai($width, $height); } ?> //Attention de ne pas laisser de ligne vide avant ou après, cela créera un disfonctionnement... // Ensuite télécharger les 2 fichiers flash (zippés) en bas de ces 2 pages : http://www.enricolai.com/FMP3/XSPF-flash-mp3-player.asp http://www.enricolai.com/FMP3/ Les décompresser tous deux dans le répertoire /var/www/jinzora2/services/services/players/ Enfin, modifier le fichier /var/www/jinzora2/settings.php $embedded_player = "enricolai"; Et voila un joli player flash ! Forum qui traite de l'intégration de ce dernier player (j'ai un peu changé le code) http://en.jinzora.com/forums/viewtopic.php?f=8&t=5995&p=22085 ===== Liens ===== * [[:Ampache]], unserveur de streaming plus évolué, basé sur une interface web * [[:iceCast2]], une autre plateforme de streaming audio, * [[:Gnump3d]], un serveur de streaming plus simple, mais avec moins de fonctionnalités * [[:Subsonic]] : un serveur multimédia multiplate-forme basé sur Java. ---- //Contributeurs// : [[:utilisateurs/sidney_v|sidney_v]]