If trying to stream via show source, and using latest version of butt, we get a bad password error from butt, when the credentials are correct.
"butt sends a PUT request to the server to test if it is icecast 2.4 or earlier. A real icecast server before version 2.4 does not respond to a PUT, so the client will then try to send a SOURCE. The problem now is that airtime's liquidsoap harbor answers with a 404 which butt doesn't expect"
More detail on our upstreams forum along with potential fix @ https://forum.sourcefabric.org/discussion/17237/butt-0-1-14-is-dead-with-airtime-/p1
While we are on this subject, can anyone answer a question... If I have two scheduled shows:
9pm-10pm - DJ A (via show source)
10-11pm - DJ B (via show source)
Does LibreTime allow DJ B to connect only after 10pm? or can he connect at any time? if he connects early would it interrupt DJ A?
Just planning on having all our DJs stream in, and wondinerg how changeovers would work.
As far as I remember I was able to use the master source with butt 0.1.15.
I'm not sure about the butt but in my experience DJ show source logins are disconnected when the time of their show is up. DJ B won't be able to connect early and DJ A will be disconnected at 10pm.
The fix looks like it is actually a fix for the source code of butt. I'm not sure the fix but it seems like it might be liquidsoap that needs changed but perhaps this is a configuration setting with liquidsoap that we can change.
I did some extensive testing butt 0.1.15 against master and can confirm what Robb describes.
Are you sure that you assigned the show to the DJ? I forgot on one show and it took me quite a while to figure out that that was the reason for getting denied.
If you want to have all your DJs stream then it it looks like the only way to handle this currently is to have the DJs repeatedly mash the connect button at the top of the hour to ensure that they get connected ASAP. They will get kicked automatically when their show is up. This is hardly a handy way to manage changeovers 馃槥
Being able to connect early and have the audio route change when the time is up would be a nice feature to have. This might be something to target in a post 3.0.0 version of LibreTime as it would probably be quite some work to implement properly.
I plan on mainly using the show source in outside broadcast cases. Getting those started at exactly the top of the hour is usually not a concern at our station.
I have the same problem but I think it's not a butt issue, at least not at all.
Butt 0.1.15 Mac version connects to Libretime server 3.0.0-alpha2, although sometimes when trying to connect it throws the 404 error.
Same butt instance never connects to another Libretime server 3.0.0-alpha2 throwing always the 404 error.
Server 1
icecast2 --version 2.4.0-kh5
Liquidsoap --version 1.1.1
uname -r 4.9.0-3-amd64
Server 2
icecast2 --version 2.4.0-kh5
Liquidsoap --version 1.1.1
uname -r 4.9.0-3-amd64
Ports are open on both, actually Traktor connects on both with no trouble. Only butt cannot connect to the second server.
So yeah I can confirm that we get a 404 error with the 0.1.15 version of Butt while trying to connect to LibreTime.
This appears to be an Icecast/Butt/LiquidSoap incompatibility - I'm not sure how we can fix this exactly. The issue is that our harbor responds with 404 to a arbitrary test the Butt software developer added.
I'm not familiar with Liquidsoap enough to determine if there is a simple configuration change we could make to fix this. But this will continue to cause problems for people who try to use Butt so a fix/workaround would be a good thing.
The question is should we try to get the Butt developer to fix Butt or can we modify Liquidsoap Harbor Input to not respond with a 404 to the PUT request from the SourceFabric forum post by Max -" butt sends a PUT request to the server to test if it is icecast 2.4 or earlier. A real icecast server before version 2.4 does not respond to a PUT, so the client will then try to send a SOURCE. The problem now is that airtime's liquidsoap harbor answers with a 404 which butt doesn't expect. So it hangs. "
Ok, so I am helping a LibreTime user who has not been able to connect with Butt and I decided to test whether 0.1.13 worked and it hung up on 'connecting' within Butt - The LibreTime page shows it as connected but as far as I can tell nothing was being transmitted.
So we should test this on other servers and see whether or not Butt can connect to any LibreTime server or if there is just an issue with LibreTime and Butt so that we can let people know that they should use another client or we can try to fix it.
It repeats the following errors.
2018/08/24 21:00:36 [decoder:3] Method "MAD" accepted "audio/mpeg".
2018/08/24 21:00:36 [lang:3] timeout --signal=KILL 45 pyponotify --source-name=master_dj --source-status=true &
2018/08/24 21:00:36 [threads:3] Created thread "harbor source feeding" (3 total).
2018/08/24 21:00:36 [master_harbor:3] Decoding...
2018/08/24 21:00:36 [master_harbor:2] Feeding stopped: Mad.End_of_stream.
2018/08/24 21:00:36 [lang:3] timeout --signal=KILL 45 pyponotify --source-name=master_dj --source-status=false &
2018/08/24 21:00:36 [threads:3] Thread "harbor source feeding" terminated (2 remaining).
2018/08/24 21:00:38 [server:3] New client: localhost.localdomain.
2018/08/24 21:00:38 [lang:3] streams.master_dj_start
2018/08/24 21:00:38 [server:3] Client localhost.localdomain disconnected.
2018/08/24 21:00:38 [server:3] New client: localhost.localdomain.
2018/08/24 21:00:38 [lang:3] streams.master_dj_stop
2018/08/24 21:00:38 [server:3] Client localhost.localdomain disconnected.
2018/08/24 21:00:50 [lang:3] master connected
2018/08/24 21:00:51 [decoder:3] Method "MAD" accepted "audio/mpeg".
2018/08/24 21:00:51 [lang:3] timeout --signal=KILL 45 pyponotify --source-name=master_dj --source-status=true &
2018/08/24 21:00:51 [threads:3] Created thread "harbor source feeding" (3 total).
2018/08/24 21:00:51 [master_harbor:3] Decoding...
2018/08/24 21:00:51 [master_harbor:2] Feeding stopped: Mad.End_of_stream.
2018/08/24 21:00:51 [lang:3] timeout --signal=KILL 45 pyponotify --source-name=master_dj --source-status=false &
2018/08/24 21:00:51 [threads:3] Thread "harbor source feeding" terminated (2 remaining).
2018/08/24 21:00:53 [server:3] New client: localhost.localdomain.
2018/08/24 21:00:53 [lang:3] streams.master_dj_start
i remember having frustrating problems with butt months ago, but i wasn't methodical about writing down specifics :disappointed:
just now butt 0.13 worked for me with with my docker multicontainer libretime instance, which is running icecast 2.4.3 via the infiniteproject/icecast:latest image. is this icecast version different from the default used in libretime?
I'm not sure about the infiniteproject icecast container image but icecast 2.4.3 was released years ago and there haven't been much changes since so there shouldn't be any differences apart from the status reporting xslt we usually install.
is icecast even coming into play here? it's liquidsoap not icecast that is listening on 8001 and 8002, correct?
i'm adding the documentation label here since it may be that proper documentation of butt compatibility may be the only way we can close this issue within the scope we've defined for 3.0.0. correct? or is this something we could potentially fix short term?
The issue is in the first comment. Basically butt does a test to see what version of icecast it is dealing with and liquidsoap/LibreTime responds in a way it doesn't expect and butt fails. The bug is with Butt as far as I can tell. Has anyone looked into whether butt has an bug open for this.
I researched this a long time ago. There is an open issue but does not seem to be resolved:
https://sourceforge.net/p/butt/bugs/12/ which links to this airtime discussion https://forum.sourcefabric.org/discussion/17237/butt-0-1-14-is-dead-with-airtime-/p1
thanks everyone.
I just tested connecting with butt 1.16 to the master source using @ned-kelly 's container setup with updated liquidsoap ...and it worked! @itcrowdsource
more and more reasons to upgrade liquidsoap.
new butt release appears to have solved this:
fixed connection issue with airtime
https://sourceforge.net/p/butt/news/2018/12/new-release-butt-0117/