Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| subsonic [Le 11/08/2015, 05:53] – [Voir aussi] beaver | subsonic [Le 11/09/2022, 11:46] (Version actuelle) – Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) moths-art | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | {{tag>Lucid Precise | + | {{tag> |
| ====== Subsonic ====== | ====== Subsonic ====== | ||
| Ligne 5: | Ligne 5: | ||
| {{ subsonic_logo.png? | {{ subsonic_logo.png? | ||
| - | Subsonic est un serveur de contenu audio et vidéo en streaming avec une interface web (via http ou https) et une gestion de plusieurs utilisateurs, | + | Subsonic est un serveur de contenu audio et vidéo en streaming avec une interface web (via http ou https) et une gestion de plusieurs utilisateurs, |
| - | La musique est encodée à la volée, par défaut grâce à [[ffmpeg|FFmpeg]] et lame en MP3 pour l' | + | La musique est encodée à la volée, par défaut grâce à [[:FFmpeg]] et lame en MP3 pour l' |
| Subsonic est traduit dans de nombreuses langues, dont le français, avec 24 thèmes par défaut. Il offre la possibilité de lire la musique dans le lecteur web, comme dans un lecteur externe (avec gestion des playlists), de contrôler la musique à distance grâce à votre téléphone, | Subsonic est traduit dans de nombreuses langues, dont le français, avec 24 thèmes par défaut. Il offre la possibilité de lire la musique dans le lecteur web, comme dans un lecteur externe (avec gestion des playlists), de contrôler la musique à distance grâce à votre téléphone, | ||
| Ligne 14: | Ligne 14: | ||
| Il y a une gestion de la bande passante en limitant le bitrate, la musique sera automatiquement réencodée avec le bon débit binaire. | Il y a une gestion de la bande passante en limitant le bitrate, la musique sera automatiquement réencodée avec le bon débit binaire. | ||
| - | Subsonic fonctionne sur la plupart des plateformes grâce à la technologie Java, notamment sur Windows, Mac, Linux et autres variantes Unix. Subsonic | + | Subsonic fonctionne sur la plupart des plateformes grâce à la technologie Java, notamment sur Windows, Mac, Linux et autres variantes Unix. |
| + | <note important> | ||
| - | ---- | + | <note warning> |
| ===== Pré-requis ===== | ===== Pré-requis ===== | ||
| Ligne 22: | Ligne 23: | ||
| * Disposer des [[: | * Disposer des [[: | ||
| * Disposer d'une connexion à Internet configurée et activée. | * Disposer d'une connexion à Internet configurée et activée. | ||
| - | * Java 1.6 ou ultérieur, il suffit d'[[: | + | * Avoir [[: |
| - | * Lame : Il suffit d' | + | |
| ===== Installation ===== | ===== Installation ===== | ||
| - | |||
| - | Cette installation fonctionne pour Debian et Ubuntu. | ||
| - | |||
| - | |||
| - | ==== Comment installer Subsonic sous Ubuntu ==== | ||
| Si vous souhaitez essayer Subsonic avant de l' | Si vous souhaitez essayer Subsonic avant de l' | ||
| - | Nous téléchargeons | + | Téléchargez |
| - | + | ||
| - | En [[https:// | + | |
| - | + | ||
| - | Double-cliquer ensuite sur le fichier, l' | + | |
| - | Ou en [[https:// | + | Double-cliquez ensuite sur le fichier, l' |
| - | < | + | < |
| - | Le [[http:// | + | Le [[https:// |
| - | < | + | < |
| Félicitation!, | Félicitation!, | ||
| - | < | + | < |
| - | Vous obtiendrez quelque chose semblable à ceci, je dis semblable car vous aurez pas ce thème par défaut à votre premier lancement de Subsonic ;-): | + | Vous obtiendrez quelque chose semblable à ceci, je dis semblable car vous aurez pas ce thème par défaut à votre premier lancement de Subsonic ;-) : |
| - | {{ subco.png? | + | {{subco.png? |
| <note warning> | <note warning> | ||
| - | Vous pouvez changer la langue en vous rendant dans **Settings** > **Personal**, | + | Vous pouvez changer la langue en vous rendant dans **Settings** > **Personal**, |
| Une fois le ou les dossiers contenant les médias choisi, le service est fonctionnel. L' | Une fois le ou les dossiers contenant les médias choisi, le service est fonctionnel. L' | ||
| Ligne 64: | Ligne 55: | ||
| Il existe différentes [[http:// | Il existe différentes [[http:// | ||
| - | < | + | < |
| - | ==== Configurer Subsonic sous Ubuntu | + | =====Configuration===== |
| Si vous désirez changer le port de Subsonic, allouer plus de mémoires vives à Java ou bien sais-je .. vous devez éditer le fichier suivant: | Si vous désirez changer le port de Subsonic, allouer plus de mémoires vives à Java ou bien sais-je .. vous devez éditer le fichier suivant: | ||
| - | < | + | < |
| Voici à quoi ressemble ce fichier de configuration: | Voici à quoi ressemble ce fichier de configuration: | ||
| Ligne 85: | Ligne 76: | ||
| Les logs de Subsonic se trouvent dans: | Les logs de Subsonic se trouvent dans: | ||
| - | < | + | < |
| Voici à quoi ressemble le subsonic.log : | Voici à quoi ressemble le subsonic.log : | ||
| Ligne 91: | Ligne 82: | ||
| {{logsubsonic.png? | {{logsubsonic.png? | ||
| - | ---- | ||
| ===== Utiliser un certificat signé par une autorité de certification avec Subsonic ===== | ===== Utiliser un certificat signé par une autorité de certification avec Subsonic ===== | ||
| - | Ici nous allons voir comment utiliser un certificat acheté chez [[http:// | + | Ici nous allons voir comment utiliser un certificat acheté chez [[https:// |
| - | Ici nous verrons pas comment générer un CSR etc, je pars du principe que vous avez votre .zip avec ces 3 fichiers: | + | Ici nous verrons pas comment générer un CSR etc, je pars du principe que vous avez votre .zip avec ces 3 fichiers: |
| * AddTrustExternalCARoot.crt. | * AddTrustExternalCARoot.crt. | ||
| Ligne 109: | Ligne 99: | ||
| Nous devons absolument stopper notre daemon Subsonic auparavant: | Nous devons absolument stopper notre daemon Subsonic auparavant: | ||
| - | < | + | < |
| Ligne 117: | Ligne 107: | ||
| Ici nous allons combiner **3 fichiers**, **votre clé privé**, **le certificat du serveur**, et le **certificat intermédiaire** pour se faire nous allons faire: | Ici nous allons combiner **3 fichiers**, **votre clé privé**, **le certificat du serveur**, et le **certificat intermédiaire** pour se faire nous allons faire: | ||
| - | < | + | < |
| - | Ensuite nous devons convertir notre certificat **subsonic.crt** à la norme [[http:// | + | Ensuite nous devons convertir notre certificat **subsonic.crt** à la norme [[https:// |
| - | < | + | < |
| - | <note important> | + | <note important> |
| Ensuite nous devons créer notre **Java keystore** pour se faire nous allons faire ceci: | Ensuite nous devons créer notre **Java keystore** pour se faire nous allons faire ceci: | ||
| - | < | + | < |
| <note important> | <note important> | ||
| Ligne 133: | Ligne 123: | ||
| Ensuite nous importons notre **subsonic.keystore** dans le **subsonic-booter-jar-with-dependencies.jar**. | Ensuite nous importons notre **subsonic.keystore** dans le **subsonic-booter-jar-with-dependencies.jar**. | ||
| - | < | + | < |
| Et voilà, ensuite vous devez configurer votre **/ | Et voilà, ensuite vous devez configurer votre **/ | ||
| - | < | + | < |
| Ligne 145: | Ligne 135: | ||
| {{subsonic_args.png? | {{subsonic_args.png? | ||
| - | Modifier le **--port=blah** et le **--https-port=blah**, | + | Modifier le **%%--%%port=blah** et le **%%--%%https-port=blah**, |
| - | Ensuite nous relançons notre daemon | + | Ensuite nous relançons notre daemon |
| - | < | + | < |
| - | Et zou **magie** vous aurez plus aucune erreur de certificat sur votre navigateur web, comme vous pouvez voir ci dessous: | + | Et zou **magie** |
| {{comodo.png? | {{comodo.png? | ||
| - | ---- | ||
| ===== Les entrailles de Subsonic ===== | ===== Les entrailles de Subsonic ===== | ||
| Ligne 167: | Ligne 156: | ||
| La fonction **Scan media folders** permet de déterminer la date à laquelle Subsonic effectuera un scan de vos dossiers ou de votre dossier .. à fin de mettre à jour votre bibliothèque. | La fonction **Scan media folders** permet de déterminer la date à laquelle Subsonic effectuera un scan de vos dossiers ou de votre dossier .. à fin de mettre à jour votre bibliothèque. | ||
| - | La fonction **Scan media folders now** permet de scanner dans l' | + | La fonction **Scan media folders now** permet de scanner dans l' |
| - | La fonction **Fast access mode** permet de minimiser l' | + | La fonction **Fast access mode** permet de minimiser l' |
| + | |||
| + | La fonction **Clean-up database** permet comme indique la fonction, de nettoyer la base de donnée de Subsonic, Subsonic stocke des informations dans vos fichiers multimédias. | ||
| - | La fonction **Clean-up database** permet comme indique la fonction, de nettoyer la base de donnée de Subsonic, Subsonic stocke des informations dans vos fichiers multimédias. | ||
| - | ---- | ||
| ==== Général ==== | ==== Général ==== | ||
| Ligne 187: | Ligne 176: | ||
| **Extensions des fichiers des jaquettes**: | **Extensions des fichiers des jaquettes**: | ||
| - | **Index**: Permet de régler l' | + | **Index**: Permet de régler l' |
| **Articles à ignorer**: Permet de lister les articles à ignorer hors de la création de l' | **Articles à ignorer**: Permet de lister les articles à ignorer hors de la création de l' | ||
| Ligne 199: | Ligne 188: | ||
| </ | </ | ||
| - | ---- | ||
| ==== Avancé ==== | ==== Avancé ==== | ||
| Ligne 211: | Ligne 199: | ||
| **Port pour les flux non-SSL**: Cette option n'est utile que si vous utilisez Subsonic sur un serveur utilisant la technologie SSL (HTTPS). Certain lecteurs (comme Winamp) ne supportent pas le streaming par SSL. Si vous ne voulez pas que le flux soit transmis par SSL, indiquez un numéro de port pour une utilisation http (généralement 80 ou 4040). Notez que ce flux ne sera pas chiffré, (0 = Désactivé). | **Port pour les flux non-SSL**: Cette option n'est utile que si vous utilisez Subsonic sur un serveur utilisant la technologie SSL (HTTPS). Certain lecteurs (comme Winamp) ne supportent pas le streaming par SSL. Si vous ne voulez pas que le flux soit transmis par SSL, indiquez un numéro de port pour une utilisation http (généralement 80 ou 4040). Notez que ce flux ne sera pas chiffré, (0 = Désactivé). | ||
| - | **Autoriser l' | + | **Autoriser l' |
| - | ---- | ||
| < | < | ||
| Ligne 223: | Ligne 210: | ||
| Je sais ce que vous allez me dire, mais c'est quoi ce charabia 8-o, vous allez voir c'est relativement simple, ici je vais vous détailler les options de ffmpeg ;-). | Je sais ce que vous allez me dire, mais c'est quoi ce charabia 8-o, vous allez voir c'est relativement simple, ici je vais vous détailler les options de ffmpeg ;-). | ||
| - | ---- | ||
| === Audio === | === Audio === | ||
| - | ffmpeg **-i %s -ab %bk -v 0 -f mp3** - | + | ffmpeg **-i %s -ab %bk -v 0 -f mp3** - |
| Ligne 244: | Ligne 230: | ||
| * **%bk** est le maximum du débit binaire utilisé pour l' | * **%bk** est le maximum du débit binaire utilisé pour l' | ||
| - | ---- | + | |
| + | ==== Modification des sources ==== | ||
| + | |||
| + | Se placer dans le dossier contenant les sources : | ||
| + | <code bash>cd subsonic-code</ | ||
| + | |||
| + | Le patch à appliquer est le suivant : | ||
| + | <code bash> | ||
| + | =================================================================== | ||
| + | --- subsonic-main/ | ||
| + | +++ subsonic-main/ | ||
| + | @@ -647,14 +647,11 @@ | ||
| + | } | ||
| + | |||
| + | | ||
| + | - return isLicenseValid(getLicenseEmail(), | ||
| + | + return true; | ||
| + | } | ||
| + | |||
| + | | ||
| + | - if (email == null || license == null) { | ||
| + | - return false; | ||
| + | - } | ||
| + | - return license.equalsIgnoreCase(StringUtil.md5Hex(email.toLowerCase())); | ||
| + | + return true; | ||
| + | } | ||
| + | |||
| + | | ||
| + | @@ -1264,36 +1261,8 @@ | ||
| + | | ||
| + | | ||
| + | Date date = getLicenseDate(); | ||
| + | - | ||
| + | - if (email == null || date == null) { | ||
| + | - licenseValidated = false; | ||
| + | - return; | ||
| + | - } | ||
| + | - | ||
| + | | ||
| + | - | ||
| + | - HttpClient client = new DefaultHttpClient(); | ||
| + | - HttpConnectionParams.setConnectionTimeout(client.getParams(), | ||
| + | - HttpConnectionParams.setSoTimeout(client.getParams(), | ||
| + | - HttpGet method = new HttpGet(" | ||
| + | - "& | ||
| + | - try { | ||
| + | - ResponseHandler< | ||
| + | - String content = client.execute(method, | ||
| + | - licenseValidated = content != null && !content.contains(" | ||
| + | - if (!licenseValidated) { | ||
| + | - LOG.warn(" | ||
| + | - } | ||
| + | - String[] lines = StringUtils.split(content); | ||
| + | - if (lines.length > 1) { | ||
| + | - licenseExpires = new Date(Long.parseLong(lines[1])); | ||
| + | - } | ||
| + | - | ||
| + | - } catch (Throwable x) { | ||
| + | - LOG.warn(" | ||
| + | - } finally { | ||
| + | - client.getConnectionManager().shutdown(); | ||
| + | - } | ||
| + | + return; | ||
| + | } | ||
| + | |||
| + | | ||
| + | Index: pom.xml | ||
| + | =================================================================== | ||
| + | --- pom.xml (revision 4101) | ||
| + | +++ pom.xml (working copy) | ||
| + | @@ -102,6 +102,13 @@ | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | + < | ||
| + | + < | ||
| + | + < | ||
| + | + < | ||
| + | + < | ||
| + | + </ | ||
| + | + </ | ||
| + | |||
| + | </ | ||
| + | |||
| + | @@ -170,4 +177,4 @@ | ||
| + | |||
| + | </ | ||
| + | </ | ||
| + | -</ | ||
| + | \ No newline at end of file | ||
| + | +</ | ||
| + | </ | ||
| + | |||
| + | Pour appliquer un patch, copiez le contenu du patch ci-dessus dans un nouveau fichier nommé " | ||
| + | <code bash> | ||
| + | |||
| + | Il reste à compiler tout ça : | ||
| + | <code bash>mvn -P debian install</ | ||
| + | Maven va télécharger de nombreux plugins, cela peut prendre du temps ;) Si tout s'est bien passé, vous devriez obtenir : | ||
| + | <code bash> | ||
| + | [INFO] Reactor Summary: | ||
| + | [INFO] | ||
| + | [INFO] Subsonic .......................................... SUCCESS [1.889s] | ||
| + | [INFO] Subsonic Main ..................................... SUCCESS [15.290s] | ||
| + | [INFO] Subsonic Booter ................................... SUCCESS [5.499s] | ||
| + | [INFO] Subsonic Installer for Debian ..................... SUCCESS [10.345s] | ||
| + | [INFO] ------------------------------------------------------------------------ | ||
| + | [INFO] BUILD SUCCESS | ||
| + | [INFO] ------------------------------------------------------------------------ | ||
| + | [INFO] Total time: 33.277s | ||
| + | [INFO] Finished at: Thu Jan 09 22:06:15 CET 2014 | ||
| + | [INFO] Final Memory: 13M/106M | ||
| + | [INFO] ------------------------------------------------------------------------ | ||
| + | </ | ||
| + | |||
| + | Il ne nous reste plus qu'à installer le paquet créé : | ||
| + | <code bash> | ||
| + | |||
| + | ==== Ça marche pas... ==== | ||
| + | |||
| + | Si vous avez un problème de compilation (le patch fonctionne pour la révision 4101, version 5.0 de Subsonic, mais il ne pourrait plus fonctionner pour les versions ultérieures), | ||
| + | |||
| + | Tout d' | ||
| + | <code bash> | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | < | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Ensuite, pour le fichier de licence proprement dit " | ||
| + | <code bash> | ||
| + | return true; | ||
| + | } | ||
| + | |||
| + | public boolean isLicenseValid(String email, String license) { | ||
| + | return true; | ||
| + | } | ||
| + | |||
| + | private void validateLicense() { | ||
| + | String email = getLicenseEmail(); | ||
| + | Date date = getLicenseDate(); | ||
| + | licenseValidated = true; | ||
| + | return; | ||
| + | }</ | ||
| + | |||
| + | Voici la source avec la [[https:// | ||
| ===== Désinstallation ===== | ===== Désinstallation ===== | ||
| Ligne 252: | Ligne 386: | ||
| ---- | ---- | ||
| - | ===== Fork de Subsonic : Supersonic & Madsonic=== | + | ===== Fork de Subsonic : Airsonic ===== |
| - | Il est à noter que Subsonic étant davantage reconnu comme un logiciel | + | * [[https://airsonic.github.io|Airsonic]], |
| - | Un autre [[https:// | ||
| ---- | ---- | ||
| Ligne 263: | Ligne 396: | ||
| * **(en)** [[http:// | * **(en)** [[http:// | ||
| - | * [[jinzora|Jinzora]], | + | * [[:jinzora|Jinzora]], |
| - | * [[iceCast]], un autre serveur de streaming. | + | * [[:iceCast2]], un autre serveur de streaming. |
| - | * [[gnump3d|Gnump3d]], | + | * [[:gnump3d|Gnump3d]], |
| * [[http:// | * [[http:// | ||
| - | * [[http:// | + | * [[https:// |
