{"id":210,"date":"2021-12-28T11:36:36","date_gmt":"2021-12-28T09:36:36","guid":{"rendered":"https:\/\/tartine.linkpc.net\/?p=210"},"modified":"2021-12-28T11:36:36","modified_gmt":"2021-12-28T09:36:36","slug":"raspberry-pi-radio-partie-2-lecture-continue","status":"publish","type":"post","link":"https:\/\/blog.nibelheim.fr\/?p=210","title":{"rendered":"Raspberry Pi Radio partie 2 : lecture continue"},"content":{"rendered":"\n<p>Apr\u00e8s avoir suivi <a href=\"https:\/\/tartine.linkpc.net\/?p=192\" data-type=\"URL\" data-id=\"https:\/\/tartine.linkpc.net\/?p=192\">la partie 1 de notre tutoriel<\/a>, vous avez une radio qui passe de la musique, youpi! Mais depuis un navigateur, \u00e7a coupe \u00e0 la fin de chaque morceau. Corrigeons ce souci avec une option de Icecast2 : les <strong>fallback mounts<\/strong>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Kesseuss\u00e9?<\/h2>\n\n\n\n<p>Chaque source de musique d\u00e9finie dans Icecast <em>(MPD, que nous avons configur\u00e9 la derni\u00e8re fois, en est une)<\/em> s&#8217;appelle une <strong>mount<\/strong>, ou monture, ce qui n&#8217;a aucun sens en fran\u00e7ais, mais passons.<br>Tant que tout se passe bien, vous restez sur la mount, mais il existe des m\u00e9canismes de repli <em>(fallback)<\/em> d\u00e9finissables dans Icecast en cas de ratage d&#8217;une mount. Et en \u00e9tant un peu malin, vous pouvez faire des boucles de <em>mounts <\/em>\u00e0 <em>fallback mounts<\/em>, mais on va rester simple parce que simple, \u00e7a marche.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Pr\u00e9requis<\/h2>\n\n\n\n<p>Veuillez t\u00e9l\u00e9charger et mettre dans votre r\u00e9pertoire musical le fichier <a href=\"https:\/\/tartine.linkpc.net\/heap\/silence.mp3\" data-type=\"URL\" data-id=\"https:\/\/tartine.linkpc.net\/heap\/silence.mp3\">silence.mp3<\/a>. Facile.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Proc\u00e9dure<\/h2>\n\n\n\n<p>Tout va se passer dans le fichier de configuration Icecast.xml :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo nano \/etc\/icecast2\/icecast.xml<\/pre>\n\n\n\n<p>Puis juste avant la balise <strong>&lt;fileserve&gt;<\/strong> <em>(n&#8217;oubliez pas le ctrl-W!)<\/em> , ins\u00e9rez les lignes suivantes :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;mount&gt;\n    &lt;mount-name&gt;\/radio.ogg&lt;\/mount-name&gt;\n    &lt;fallback-mount&gt;\/silence.mp3&lt;\/fallback-mount&gt;\n    &lt;fallback-override&gt;1&lt;\/fallback-override&gt;\n&lt;\/mount&gt;\n&lt;mount&gt;\n    &lt;mount-name&gt;\/silence.mp3&lt;\/mount-name&gt;\n    &lt;fallback-mount&gt;\/radio.ogg&lt;\/fallback-mount&gt;\n    &lt;fallback-override&gt;1&lt;\/fallback-override&gt;\n&lt;\/mount&gt;<\/code><\/pre>\n\n\n\n<p>Evidemment, <strong>\/radio.ogg<\/strong> est le point de montage sp\u00e9cifi\u00e9 dans le fichier <strong>\/etc\/mpd.conf<\/strong> dans la rubrique <strong>audio_source{}<\/strong>.<br>Ce que nous venons de faire, c&#8217;est de cr\u00e9er une mount de repli qui ne fera que <strong>jouer le seul fichier silence.mp3<\/strong> en boucle <strong>jusqu&#8217;\u00e0 ce que \/radio.ogg se r\u00e9tablisse<\/strong>, et avec le raffinement inutile que si silence.mp3 d\u00e9conne en pleine lecture, il bascule sur <strong>radio.ogg<\/strong>. Bref.<\/p>\n\n\n\n<p>L&#8217;id\u00e9e, c&#8217;est qu&#8217;\u00e0 chaque fin de lecture dans un navigateur, le flux est tr\u00e8s bri\u00e8vement interrompu et le navigateur &#8220;raccroche&#8221;, obligeant \u00e7\u00e0 rafra\u00eechir la page; avec la fallback mount, le flux n&#8217;est plus du tout interrompu et la lecture se poursuit \ud83d\ude42<\/p>\n\n\n\n<p>Sauvegardez et quittez nano, puis :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sudo systemctl icecast2 restart<\/pre>\n\n\n\n<p>Avec ceci de fait, la lecture dans le navigateur devrait se poursuivre non stop.<\/p>\n\n\n\n<p><a href=\"https:\/\/tartine.linkpc.net\/?p=214\" data-type=\"URL\" data-id=\"https:\/\/tartine.linkpc.net\/?p=214\">Prochaine \u00e9tape, l&#8217;ouverture au monde!<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Apr\u00e8s avoir suivi la partie 1 de notre tutoriel, vous avez une radio qui passe de la musique, youpi! Mais depuis un navigateur, \u00e7a coupe \u00e0 la fin de chaque morceau. Corrigeons ce souci avec une option de Icecast2 : les fallback mounts. Kesseuss\u00e9? Chaque source de musique d\u00e9finie dans [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[16,24,25],"class_list":["post-210","post","type-post","status-publish","format-standard","hentry","category-raspberry-pi","tag-icecast","tag-radio","tag-raspberry"],"_links":{"self":[{"href":"https:\/\/blog.nibelheim.fr\/index.php?rest_route=\/wp\/v2\/posts\/210","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.nibelheim.fr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.nibelheim.fr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.nibelheim.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.nibelheim.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=210"}],"version-history":[{"count":0,"href":"https:\/\/blog.nibelheim.fr\/index.php?rest_route=\/wp\/v2\/posts\/210\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.nibelheim.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=210"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.nibelheim.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=210"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.nibelheim.fr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=210"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}