Music Sounds Better On My Server... ou pas.

Bonjour à tous,

Je dois encore m'ennuyer en ce moment...

Je voudrais connaître vos différents avis concernant un sujet.
Il y a 1 semaine, j'ai pris possesion d'un Kimsufi avec 2To d'espace disque. Très large pour mes besoins d'hébergements, qui comprends :

  • Nextcloud, TTRSS, Wallabag, Wordpress pour Les Abyssales et Ghost pour mon blog.
    J'ai pu utiliser ce large espace pour, notamment, du stockage de gros fichiers, bien sûr, le tout géré par Nextcloud (je kiffe ce logiciel).
    Et je me suis mis en tête d'importer mon énorme collection de quelques 200 Go de musique.
    Nextcloud le gère plutôt bien, il y a des apps, c'est cool. Sauf que... Côté téléphone, c'est pas ça. La lecture dans les navigateurs étant ce quel est, ça n'est pas bien pratique.

Plusieurs solutions s'offrent à moi :

  • Funkwhale, pour faire dans le décentralisé. L'install est à chier, j'ai pas envie de me prendre la tête, mais ça peut être une solution.
  • Sonerezh, toujours actif, mais pas forcément très efficient.
    Ces 2 solutions n'ont pas d'API pour une éventuelle app.

  • Subsonic, mais c'est devenu payant.

Côté Nextcloud :

  • l'app "Music" permet d'obtenir une API "Ampache", mais les apps Android ne sont quasi plus maintenus, et la seule encore un peu en vie "PowerAmpache", est désagréable au possible, malgré son côté Material Design, ça manque de finition.
  • les apps music sur Android qui exploiterait correctement le point webdav de mon dossier Musique ne court pas les rues, et quand on tombe dessus, ça juste ne marche pas, et c'est dégueu au possible visuellement.

A ce stade là, je ne vois pas trop quoi faire, on est sur de la limite, le libre, c'est joli, s'héberger aussi, mais ça demande de l'investissement pour avoir quelque chose de correct.
Du coup, pour le moment, j'importe les albums depuis l'app Nextcloud, et une app Musique récupère les albums en local sur le téléphone. Plus contraignant certes, mais ça me convient pas mal pour le moment.

Tout ça dans le but, bien sûr, de ne plus payer pour des plateformes comme Spotify ou autre.
Mais honnêtement, dans la recherche d'une moindre prise de tête, je me demande si je ne vais pas craquer de nouveau.

A vos claviers !

Réponses

  • Et entre nous, j'ai envie de creuser la voie Nextcloud, l'interface n'est pas dégueulasse, ça se tient bien

  • Mmm instinctivement, j'aurais dit MPD, qui a, a priori, pas mal de clients de toutes sortes, même si un certain nombre ne sont plus maintenus, mais c'est peut-être un peu "barbu" au niveau de la configuration :smile:
    Un exemple de mise en œuvre trouvé au hasard : https://feeding.cloud.geek.nz/posts/home-music-server-with-mpd/
    Après, ça n'est pas Nextcloud… :smiley:

  • @Minami_o a dit :
    Mmm instinctivement, j'aurais dit MPD, qui a, a priori, pas mal de clients de toutes sortes, même si un certain nombre ne sont plus maintenus, mais c'est peut-être un peu "barbu" au niveau de la configuration :smile:
    Un exemple de mise en œuvre trouvé au hasard : https://feeding.cloud.geek.nz/posts/home-music-server-with-mpd/
    Après, ça n'est pas Nextcloud… :smiley:

    Mouais... C'est barbu et rien que le fait d'invoquer Pulseaudio sur ce serveur, c'est no way.
    Le facteur "flemme" fait que je n'ai pas une grosse envie de bricoler.
    Donc exit les Funkwhale, j'attendrais que Nextcloud soit plus mûr. Je garde ma gestion en en téléchargeant l'album que je veux sur mon téléphone, je (re)prends Spotify (ou Soundcloud).

  • octobre 2018 modifié

    @Redscape a dit :
    Il y a 1 semaine, j'ai pris possesion d'un Kimsufi avec 2To d'espace disque. Très large pour mes besoins d'hébergements, qui comprends :

    • Nextcloud, TTRSS, Wallabag, Wordpress pour Les Abyssales et Ghost pour mon blog.
      J'ai pu utiliser ce large espace pour, notamment, du stockage de gros fichiers, bien sûr, le tout géré par Nextcloud (je kiffe ce logiciel).

    C'est drôle parce que c'est exactement mon setup (à l'exception des moteurs de blog vu que je ne ne publie pas... sauf des fils à rallonge sur le forum de @cyrille ).

    J'ai également testé les applications Nextcloud, mais elles n'étaient soit pas véloces, soit n'indexaient pas toute ma collection musicale (env. 200Go comme toi).

    J'ai fini par mettre en place :

    • Sonerezh qui marche très bien (j'ai indiqué le chemin de mon dossier "Music" de Nextcloud, un truc du genre /var/www/nextcloud/data/username/files/Music, comme racine pour Sonerezh)
    • MPD, en mettant le même chemin dans comme music_directory dans /etc/mpd.conf et en activant la sortie audio httpd :
    audio_output {
            type            "httpd"
            name            "HTTP Stream"
            encoder         "lame"
            port            "8000"
            bind_to_address "0.0.0.0"
            bitrate         "192"
            format          "44100:16:1"
            max_clients     "5"
    }
    

    Dans les deux cas, il faut juste faire attention aux droits d'accès.

    Sous Linux et macOS j'utilise Cantata (en qt mais sans toutes les dépendances KDE du monde), sous Android il y a MPDroid ou M.A.L.P.

    Sous IOS, c'est plus pauvre. Il y avait une super app, mais plus compatible avec les derniers IOS. Reste des applications pour commander ton serveur (souvent payantes) : MPDLuxe, MPD js, MPDPlayer. Pour écouter, il faut passer par une seconde app qui permet d'écouter un stream HTTP, comme VLC par exemple.

  • @gjherbiet Merci pour ton retour. Quelques quetsions :

    • ton serveur est-il un VPS, ou un dédié, ou est ce qu'il est chez toi ?
    • pourquoi avoir mis un sonerezh, pour le client web ? Nextcloud ne gueule pas trop qu'on vienne lui chatouiller les données ? (j'avais eu le cas à l'époque d'Owncloud)
    • la sortie audio "httpd" c'est surtout parce que c'est "apache" ? J'imagine qu'il doit y avoir un point de raccrochage pour nginx ?

    Si ça n'est pas trop galère, j'essayerai de mettre ça en place Dimanche.

  • @Redscape a dit :
    @gjherbiet Merci pour ton retour. Quelques quetsions :

    • ton serveur est-il un VPS, ou un dédié, ou est ce qu'il est chez toi ?

    C’est un kimsufi dédié. 2To aussi.

    • pourquoi avoir mis un sonerezh, pour le client web ? Nextcloud ne gueule pas trop qu'on vienne lui chatouiller les données ? (j'avais eu le cas à l'époque d'Owncloud)

    Pour le fun :smile: en fait surtout pour avoir un client web au boulot et que les applications du store Nextcloud marchaient mal.

    Tant que tu n’as pas chiffré ton Nextcloud et que les droits sont bons, ça marche.

    • la sortie audio "httpd" c'est surtout parce que c'est "apache" ? J'imagine qu'il doit y avoir un point de raccrochage pour nginx ?

    Rien à voir avec Apache ou Nginx, juste ça crée un mini-serveur (d’où le port non-standard) qui streame la musique

    Si ça n'est pas trop galère, j'essayerai de mettre ça en place Dimanche.

  • octobre 2018 modifié

    Pour le même besoin, j'en suis arrivé à une solution proche de celle de gjherbiet.

    MPD sur "serveur" RaspberryPi connecté à la TV, pour écouter en local sur la sortie Alsa (pas besoin de pulseaudio) et pilotage sur Android par MPDroid.

    Ampache, sur la même framboise, pour une écoute mobile avec Power Apmpache (pas terrible) sur Android et Rhythmbox ou un navigateur web sur PC.

    Les deux se partagent les mêmes fichiers que je peux aussi manipuler avec le dossier musique de Nextcloud.

  • Oui pourquoi pas, j'y ai pensé... et puis non.
    Vraiment, l'envie de se prendre la tête (ou plutôt de bricoler), cette énergie que j'avais auparavant, je préfère la déployer à construire du Lego avec mon fils.
    Je pense m'orienter vers une solution Android box (style Xiaomi Mi Box) avec DD externe branché chez moi, et Plex qui tourne au dessus, ça me permettrait d'avoir mes morceaux à l'extérieur.

    @gjherbiet a dit :

    @Redscape a dit :
    Il y a 1 semaine, j'ai pris possesion d'un Kimsufi avec 2To d'espace disque. Très large pour mes besoins d'hébergements, qui comprends :

    • Nextcloud, TTRSS, Wallabag, Wordpress pour Les Abyssales et Ghost pour mon blog.
      J'ai pu utiliser ce large espace pour, notamment, du stockage de gros fichiers, bien sûr, le tout géré par Nextcloud (je kiffe ce logiciel).

    C'est drôle parce que c'est exactement mon setup (à l'exception des moteurs de blog vu que je ne ne publie pas... sauf des fils à rallonge sur le forum de @cyrille ).

    J'ai également testé les applications Nextcloud, mais elles n'étaient soit pas véloces, soit n'indexaient pas toute ma collection musicale (env. 200Go comme toi).

    J'ai fini par mettre en place :

    • Sonerezh qui marche très bien (j'ai indiqué le chemin de mon dossier "Music" de Nextcloud, un truc du genre /var/www/nextcloud/data/username/files/Music, comme racine pour Sonerezh)
    • MPD, en mettant le même chemin dans comme music_directory dans /etc/mpd.conf et en activant la sortie audio httpd :
    audio_output {
            type            "httpd"
            name            "HTTP Stream"
            encoder         "lame"
            port            "8000"
            bind_to_address "0.0.0.0"
            bitrate         "192"
            format          "44100:16:1"
            max_clients     "5"
    }
    

    Dans les deux cas, il faut juste faire attention aux droits d'accès.

    Sous Linux et macOS j'utilise Cantata (en qt mais sans toutes les dépendances KDE du monde), sous Android il y a MPDroid ou M.A.L.P.

    Sous IOS, c'est plus pauvre. Il y avait une super app, mais plus compatible avec les derniers IOS. Reste des applications pour commander ton serveur (souvent payantes) : MPDLuxe, MPD js, MPDPlayer. Pour écouter, il faut passer par une seconde app qui permet d'écouter un stream HTTP, comme VLC par exemple.

    Pourrais tu détailler ta conf ?
    J'ai bien installé MPD, réglé le fichier mpd.conf comme il se doit, mais impossible de se connecter.
    De plus, est-ce qu'il s'agit d'un flux unique, ou peut-on quand même faire du browsing avec ?
    Dans ce cas, faut il un vhost NGINX ? Avec reverse-proxy ?

  • Voici les morceaux intéressants de /etc/mpd.conf (le serveur est sous Debian):

    music_directory     "/var/nextcloud/data/gjherbiet/files/Music/Songs"
    playlist_directory      "/var/nextcloud/data/gjherbiet/files/Music/Playlists"
    db_file         "/var/lib/mpd/tag_cache"
    log_file            "/var/log/mpd/mpd.log"
    pid_file            "/var/lib/mpd/pid"
    state_file          "/var/lib/mpd/state"
    sticker_file                   "/var/lib/mpd/sticker.sql"
    user                "www-data"
    auto_update    "yes"
    password                        "**********@read,add,control,admin"
    input {
            plugin "curl"
    }
    audio_output {
        type        "httpd"
        name        "HTTP Stream"
        encoder     "lame"          # optional, vorbis or lame
        port        "8000"
        bind_to_address "0.0.0.0"               # optional, IPv4 or IPv6
        bitrate     "192"           # do not define if quality is defined
        format      "44100:16:1"
        max_clients     "5"                     # optional 0=no limit
    }
    filesystem_charset      "UTF-8"
    id3v1_encoding          "UTF-8"
    

    Je fais donc tourner mpd en www-data comme un gros sale ! Du coup, j'ai aussi du changer les droits sur les dossiers /var/lib/mpd et /var/log/mpd en www-data:audio

    Il y a certainement plus propre à faire (mettre l'utilisateur mpd dans le groupe www-data et donner l'accès en écriture au groupe www-data sur /var/nextcloud/data/gjherbiet/files/Music/Playlists si tu veux synchroniser les playlists générées par mpd).

    Pour tester, je te conseille de lancer mpd sans le détacher et en mode verbeux :

    # mpd --no-daemon --stderr --verbose
    
  • octobre 2018 modifié

    @gjherbiet
    Ma sortie en mode verbose :

    config_file: loading file /etc/mpd.conf
    path: SetFSCharset: fs charset is:
    libsamplerate: libsamplerate converter 'Fastest Sinc Interpolator'
    vorbis: Xiph.Org libVorbis 1.3.5
    opus: libopus 1.1.2
    sndfile: libsndfile-1.0.28
    wildmidi: configuration file does not exist: /etc/timidity/timidity.cfg
    adplug: adplug 2.2.1
    simple_db: reading DB
    curl: version 7.58.0
    curl: with GnuTLS/3.5.18
    avahi: Initializing interface
    avahi: Client changed to state 101
    avahi: Client is CONNECTING
    state_file: Loading state file /var/lib/mpd/state
    exception: OutputThread could not get realtime scheduling, continuing anyway: sc                  hed_setscheduler failed: Operation not permitted
    

    Ca ne me paraît pas trop mal.
    Mais pour autant, ça ne se connecte absolument pas via le client Android, c'est toujours pareil, il est en erreur quand il veut se connecter au serveur.

    J'ai installé hier soir Sonerezh, même impression qu'il y a 4 ans environ : même si l'interface a l'air un peu mieux fichu, la mise à jour de la base de données n'est pas complète (j'avais quelques 1600 fichiers) et tu ne sais jamais ce qu'il fait, s'il y a mise à jour ou pas, un coup il te dit qu'il y a un lock, l'autre coup non.
    Et au final, 403 Forbidden ce matin alors que je n'ai touché à rien.
    Le logiciel proprio a de beaux jours devant lui, je reste sur une offre Soundcloud+Bandcamp, ça suffit très largement.
    Si j'arrive à faire fonctionner MPD, ça serait pas mal, mais à défaut, je me contenterai de l'app Music sur Nextcloud.

    EDIT : pour Sonerezh, il manquait la ligne index index.html index.htm index.php;
    Mais pour autant la mise à jour de la base est toujours aussi laborieuse. Il bloque systématiquement à 45% :

  • Allez, je stoppe la prise de tête.
    Je viens de me commander une Xiaomi Mi TV Box, je pète Plex dessus (ou Kodi, mais pour l'accès à l'extérieur, Plex c'est cool), un disque dur externe de branché et basta.

  • le réalisme l'emporte encore...

  • @Iceman a dit :
    le réalisme l'emporte encore...

    Malheureusement ou heureusement.
    Incompétence ou logiciels qui sont bancals, je n'en sais rien, mais ça ne rime à rien.

  • @Iceman a dit :
    le réalisme l'emporte encore...

    Et pas forcément.
    En laissant le sujet poser pendant 2 jours, j'ai réfléchi un peu à tout ça, et je me suis dit qu'il serait bête de ne pas utiliser mes 2To de serveur Kimsufi.
    En même temps, les solutions ne sont pas matures/jolies/ergonomiques.
    Conclusion : j'allais devoir trouver une solution qui me convienne en construisant mon écosystème.
    Du coup, je suis revenu à la case départ : l'app Nextcloud sur le téléphone synchronise les dossiers de musique que je veux, puis un lecteur de musique vient récupérer le tout dans le bon dossier (au hasard VLC, mais j'utilise également Foobar pour son tuning sonore).
    Voilà, simple, ultra-simple, mais tout cela est venu après la réfléxion sur le fait qu'avoir autant de musique ne servait à rien si c'était pour payer 9.90€ par mois (la fameuse ardoise multimédia qui commence à s'alourdir) à Spotify, et qu'il valait mieux que je supprime les choses.
    C'est un peu contraignant dans le sens où je dois télécharger les sons sur mon téléphone, mais à l'inverse, rien d'autre à installer sur mon serveur, l'app Music de Nextcloud en front est suffisant, et il me reste toujours Bandcamp et Soundcloud pour m'enrichir en son et poster mes propres sons également.
    Je ne sais pas encore combien de temps ça va durer (la girouette, tout ça), m'enfin bon, pour le moment, ça me convient pas mal.

    Et chez moi ? Mon PC étant à la cave (j'ai une pièce aménagée), Kodi y est installé, et je balance la musique sur le home du salon soit via mon téléphone et l'app BubbleUPNP (puis Bluetooth sur les encientes), soit via la box d'Orange, mais ça oblige à avoir la télé d'allumer (ce qui est bête pour juste de l'audio). Le principal inconvénient reste que le gros mamouth tourne en bas en permanence, mais bon, quand je suis là chez moi, ça me dérange moins.
    Et puis de toute façon, la planète, toussa, on va tous mourir™.

Connectez-vous ou Inscrivez-vous pour répondre.