Se connecter avec
S'enregistrer | Connectez-vous

[Authentification] Relais Icecast2 vers Shoutcast

Dernière réponse : dans Réseaux

Bonjour :hello:  ,

je souhaiterais pouvoir connecter un serveur Icecast2 (sur une machine en local -192.168.0.2-) vers un serveur Shoutcast (chez un hébergeur -xxx.112.138.24-port: 4848).

Le problème est qu'il faut paramétrer le serveur Icecast2 en relais, mais également que le serveur Shoutcast accepte le flux de donnée provenant du Icecast2.
Le serveur Shoutcast demande un mot de passe pour pouvoir s'y connecter, et dans le fichier de configuration icecast.xml, aucune donné ne se rapporte a cela.

Ou dois-je indiquer le mot de passe du serveur shoutcast ? (j'ai déjà testé plusieurs configuration, lis plusieurs dizaine de sujet un peu partout, le problème est régulièrement exposé mais aucune réponse précise n'est présente ou suffisement détaillé). :??: 
(Je précise que tous les ports sont ouverts)

  1. <icecast>
  2. <limits>
  3. <clients>100</clients>
  4. <sources>2</sources>
  5. <threadpool>5</threadpool>
  6. <queue-size>524288</queue-size>
  7. <client-timeout>30</client-timeout>
  8. <header-timeout>15</header-timeout>
  9. <source-timeout>10</source-timeout>
  10. <!-- If enabled, this will provide a burst of data when a client
  11. first connects, thereby significantly reducing the startup
  12. time for listeners that do substantial buffering. However,
  13. it also significantly increases latency between the source
  14. client and listening client. For low-latency setups, you
  15. might want to disable this. -->
  16. <burst-on-connect>1</burst-on-connect>
  17. <!-- same as burst-on-connect, but this allows for being more
  18. specific on how much to burst. Most people won't need to
  19. change from the default 64k. Applies to all mountpoints -->
  20. <burst-size>65535</burst-size>
  21. </limits>
  22.  
  23. <authentication>
  24. <!-- Sources log in with username 'source' -->
  25. <source-password>hackme</source-password>
  26. <!-- Relays log in username 'relay' -->
  27. <relay-password>hackme</relay-password>
  28.  
  29. <!-- Admin logs in with the username given below -->
  30. <admin-user>admin</admin-user>
  31. <admin-password>hackme</admin-password>
  32. </authentication>
  33.  
  34. <!-- Uncomment this if you want directory listings -->
  35. <!--
  36. <directory>
  37. <yp-url-timeout>15</yp-url-timeout>
  38. <yp-url><a href="http://dir.xiph.org/cgi-bin/yp-cgi&lt" target="_blank">http://dir.xiph.org/cgi-bin/yp-cgi&lt</a>;/yp-url>
  39. </directory>
  40. <directory>
  41. <yp-url-timeout>15</yp-url-timeout>
  42. <yp-url><a href="http://www.oddsock.org/cgi-bin/yp-cgi&lt" target="_blank">http://www.oddsock.org/cgi-bin/yp-cgi&lt</a>;/yp-url>
  43. </directory>
  44. -->
  45.  
  46. <!-- This is the hostname other people will use to connect to your server.
  47. It affects mainly the urls generated by Icecast for playlists and yp
  48. listings. -->
  49. <hostname>192.168.0.2</hostname>
  50.  
  51. <!-- You can use these two if you only want a single listener -->
  52. <!--<port>8001</port> -->
  53. <!--<bind-address>127.0.0.1</bind-address>-->
  54.  
  55. <!-- You may have multiple <listener> elements -->
  56. <listen-socket>
  57. <port>8001</port>
  58. <!-- <bind-address>127.0.0.1</bind-address> -->
  59. </listen-socket>
  60. <!--
  61. <listen-socket>
  62. <port>8001</port>
  63. </listen-socket>
  64. -->
  65.  
  66. <!--<master-server>127.0.0.1</master-server>-->
  67. <!--<master-server-port>8001</master-server-port>-->
  68. <!--<master-update-interval>120</master-update-interval>-->
  69. <!--<master-password>hackme</master-password>-->
  70.  
  71. <!-- setting this makes all relays on-demand unless overridden, this is
  72. useful for master relays which do not have <relay> definitions here.
  73. The default is 0 -->
  74. <!--<relays-on-demand>1</relays-on-demand>-->
  75.  
  76. <!--
  77. <relay>
  78. <server>127.0.0.1</server>
  79. <port>8001</port>
  80. <mount>/example.ogg</mount>
  81. <local-mount>/different.ogg</local-mount>
  82. <on-demand>0</on-demand>
  83.  
  84. <relay-shoutcast-metadata>0</relay-shoutcast-metadata>
  85. </relay>
  86. -->
  87.  
  88. <!-- Only define a <mount> section if you want to use advanced options,
  89. like alternative usernames or passwords
  90. <mount>
  91. <mount-name>/example-complex.ogg</mount-name>
  92.  
  93. <username>othersource</username>
  94. <password>hackmemore</password>
  95.  
  96. <max-listeners>1</max-listeners>
  97. <dump-file>/tmp/dump-example1.ogg</dump-file>
  98. <burst-size>65536</burst-size>
  99. <fallback-mount>/example2.ogg</fallback-mount>
  100. <fallback-override>1</fallback-override>
  101. <fallback-when-full>1</fallback-when-full>
  102. <intro>/example_intro.ogg</intro>
  103. <hidden>1</hidden>
  104. <no-yp>1</no-yp>
  105. <authentication type="htpasswd">
  106. <option name="filename" value="myauth"/>
  107. <option name="allow_duplicate_users" value="0"/>
  108. </authentication>
  109. <on-connect>/home/icecast/bin/stream-start</on-connect>
  110. <on-disconnect>/home/icecast/bin/stream-stop</on-disconnect>
  111. </mount>
  112.  
  113. <mount>
  114. <mount-name>/auth_example.ogg</mount-name>
  115. <authentication type="url">
  116. <option name="mount_add" value="<a href="http://myauthserver.net/notify_mount.php" target="_blank">http://myauthserver.net/notify_mount.php</a>"/>
  117. <option name="mount_remove" value="<a href="http://myauthserver.net/notify_mount.php" target="_blank">http://myauthserver.net/notify_mount.php</a>"/>
  118. <option name="listener_add" value="<a href="http://myauthserver.net/notify_listener.php" target="_blank">http://myauthserver.net/notify_listener.php</a>"/>
  119. <option name="listener_remove" value="<a href="http://myauthserver.net/notify_listener.php" target="_blank">http://myauthserver.net/notify_listener.php</a>"/>
  120. </authentication>
  121. </mount>
  122.  
  123. -->
  124.  
  125. <fileserve>1</fileserve>
  126.  
  127. <!-- set the mountpoint for a shoutcast source to use, the default if not
  128. specified is /stream but you can change it here if an alternative is
  129. wanted or an extension is required
  130. <shoutcast-mount>/live.nsv</shoutcast-mount>
  131. -->
  132.  
  133. <paths>
  134. <!-- basedir is only used if chroot is enabled -->
  135. <basedir>./</basedir>
  136.  
  137. <!-- Note that if <chroot> is turned on below, these paths must both
  138. be relative to the new root, not the original root -->
  139. <logdir>./logs</logdir>
  140. <webroot>./web</webroot>
  141. <adminroot>./admin</adminroot>
  142. <!-- <pidfile>./icecast.pid</pidfile> -->
  143.  
  144. <!-- Aliases: treat requests for 'source' path as being for 'dest' path
  145. May be made specific to a port or bound address using the "port"
  146. and "bind-address" attributes.
  147. -->
  148. <!--
  149. <alias source="/foo" dest="/bar"/>
  150. -->
  151. <!-- Aliases: can also be used for simple redirections as well,
  152. this example will redirect all requests for http://server:port/ to
  153. the status page
  154. -->
  155. <alias source="/" dest="/status.xsl"/>
  156. </paths>
  157.  
  158. <logging>
  159. <accesslog>access.log</accesslog>
  160. <errorlog>error.log</errorlog>
  161. <!-- <playlistlog>playlist.log</playlistlog> -->
  162. <loglevel>4</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
  163. <logsize>10000</logsize> <!-- Max size of a logfile -->
  164. <!-- If logarchive is enabled (1), then when logsize is reached
  165. the logfile will be moved to [error|access|playlist].log.DATESTAMP,
  166. otherwise it will be moved to [error|access|playlist].log.old.
  167. Default is non-archive mode (i.e. overwrite)
  168. -->
  169. <!-- <logarchive>1</logarchive> -->
  170. </logging>
  171.  
  172. <security>
  173. <chroot>0</chroot>
  174. <!--
  175. <changeowner>
  176. <user>nobody</user>
  177. <group>nogroup</group>
  178. </changeowner>
  179. -->
  180. </security>
  181. </icecast>


Pour résumer, je cherche donc à ce que la sortie du flux Icecast2 se redirige vers Shoutcast (Musique > Icecast2 (serveur local) > Shoutcast (hébergeur)> Auditeurs)

Merci d'avance a celui ou celle qui pourra me permettre de trouver la solution. :jap: 
Lassé par la pub ? Créez un compte

Salutation

Je sais que je viens un peu tard avec une solution, c'est par hasard que je suis tombé sur ce sujet.

Icecast2 peut relayer un serveur SHOUTcast, mais malheureusement pas l'inverse. La seule solution qui pourrait marcher est de mettre un player entre les deux (...Icecast2 > player > SHOUTcast...). Sous Linux il y a les solutions Liquidsoap, MPD ou même XMMS2 (je crois) qui peuvent aider. Sous Windows j'ai un peu moins d'idée... peut-être Winamp avec le plug-in Oddcast, ou VLC qui je crois permet aussi d'envoyer du son vers un serveur Ice/SHOUTcast... Mais l'idée est là quoi. Perso c'est cette méthode (avec Liquidsoap) que j'utilise et ça marche bien.

Voilà j'espère que ça t'aura aidé ;) 

Bonne continuation et @+

Ced ^_^

jduffas a dit :
bonjour,

le problème avec cette solution est que liquidsoap semble réencoder le flux... chose inutile si on souhaite faire juste un relai.


C'est pas faux :/  et Liquidsoap n'est pas le seul à poser ce problème à mon avis, tous les autres players aussi :/  Malheureusement, j'ai longtemps cherché (et je cherche encore) une solution qui ne réencode pas le flux mais jamais trouvé :(  Enfin, je continue à chercher ;) 

Ced ^_^
Lassé par la pub ? Créez un compte