{"id":2562,"date":"2015-02-23T17:36:09","date_gmt":"2015-02-23T15:36:09","guid":{"rendered":"https:\/\/www.azurs.net\/carnet\/?p=2562"},"modified":"2025-10-22T11:46:23","modified_gmt":"2025-10-22T09:46:23","slug":"webradios-sur-mpd-avec-un-client-upnp","status":"publish","type":"post","link":"https:\/\/www.azurs.net\/carnet\/2015\/02\/webradios-sur-mpd-avec-un-client-upnp\/","title":{"rendered":"Webradios sur MPD avec un client UPnP"},"content":{"rendered":"<p><a href=\"http:\/\/www.lesbonscomptes.com\/upmpdcli\/\">Upmpdcli<\/a> est un moteur de restitution UPnP pour serveur MPD qui permet de contr\u00f4ler l&rsquo;envoi de contenu vers un lecteur bas\u00e9 sur MPD \u00e0 partir d&rsquo;un point de contr\u00f4le UPnP unique. Ceci permet par exemple de faciliter l&rsquo;\u00e9coute de flux http (comme par exemple des radios en ligne) sur un lecteur bas\u00e9 sur <a href=\"http:\/\/www.musicpd.org\/\">MPD<\/a>, en contr\u00f4lant la lecture depuis un point de contr\u00f4le UPnP tournant sur un terminal mobile comme un smartphone.<!--more--><\/p>\n<p>Je teste actuellement la configuration suivante :<\/p>\n<ul>\n<li>Un \u00ab lecteur \u00bb : MPD et upmpdcli install\u00e9s sur une carte cubieboard 1 tournant sous Arch Linux ARM, et reli\u00e9e \u00e0 un DAC USB lui-m\u00eame reli\u00e9 \u00e0 un un petit ampli avec enceintes.\n<\/li>\n<li>Choix d&rsquo;un flux radio sur un smartphone sous android avec l&rsquo;application <a href=\"http:\/\/www.xiialive.com\/\">Xialive<\/a>.\n<\/li>\n<li>Lecture en streaming du flux sur le \u00ab lecteur \u00bb via le point de contr\u00f4le UPnP <a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.bubblesoft.android.bubbleupnp&#038;hl=fr_FR\">BubbleUPnP<\/a> install\u00e9 sur le smartphone.\n<\/li>\n<\/ul>\n<p>De cette mani\u00e8re, je choisis et je contr\u00f4le la radio que j&rsquo;\u00e9coute avec Xialive.<\/p>\n<p>Une autre solution pour \u00e9couter des flux avec MPD est de constituer une liste de lecture contenant les adresses URL des flux correspondant aux diff\u00e9rentes radios. Certains clients comme <a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.namelessdev.mpdroid&#038;hl=fr_FR\">MPDroid<\/a> facilitent la constitution et la gestion de ces listes de flux, mais il est assez laborieux d&rsquo;aller r\u00e9cup\u00e9rer l&rsquo;URL d&rsquo;un flux pour l&rsquo;ajouter ensuite \u00e0 une playlist. Cela n&rsquo;est envisageable que pour une liste de radios \u00e0 \u00e9couter r\u00e9guli\u00e8rement et fr\u00e9quemment.<\/p>\n<p>Pour compiler upmpdcli et l&rsquo;installer dans Arch Linux ARM, deux paquets disponibles dans le d\u00e9p\u00f4t AUR :<br \/>\n<a href=\"https:\/\/aur.archlinux.org\/packages\/upmpdcli-git\/\">Upmpdcli-git<\/a><br \/>\nqui n\u00e9cessite d&rsquo;avoir compil\u00e9 et install\u00e9 pr\u00e9alablement :<br \/>\n<a href=\"https:\/\/aur.archlinux.org\/packages\/libupnpp-git\/\">Libupnpp-git<\/a> .<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Une solution pour choisir et \u00e9couter facilement des radios en streaming via MPD et l&rsquo;un de ses clients.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[395],"tags":[327,230,232,104,447,446,248],"class_list":["post-2562","post","type-post","status-publish","format-standard","hentry","category-bidouillages","tag-flux","tag-mpd","tag-musique","tag-radio","tag-streaming","tag-upnp","tag-webradio"],"share_on_mastodon":{"url":"","error":""},"_links":{"self":[{"href":"https:\/\/www.azurs.net\/carnet\/wp-json\/wp\/v2\/posts\/2562","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.azurs.net\/carnet\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.azurs.net\/carnet\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.azurs.net\/carnet\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.azurs.net\/carnet\/wp-json\/wp\/v2\/comments?post=2562"}],"version-history":[{"count":4,"href":"https:\/\/www.azurs.net\/carnet\/wp-json\/wp\/v2\/posts\/2562\/revisions"}],"predecessor-version":[{"id":2673,"href":"https:\/\/www.azurs.net\/carnet\/wp-json\/wp\/v2\/posts\/2562\/revisions\/2673"}],"wp:attachment":[{"href":"https:\/\/www.azurs.net\/carnet\/wp-json\/wp\/v2\/media?parent=2562"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.azurs.net\/carnet\/wp-json\/wp\/v2\/categories?post=2562"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.azurs.net\/carnet\/wp-json\/wp\/v2\/tags?post=2562"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}