Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

problem: Show/Master source not compatible with butt 1.4+ #160

Closed
squiggleuk opened this issue Apr 13, 2017 · 14 comments

Comments

Projects
None yet
5 participants
@squiggleuk
Copy link

commented Apr 13, 2017

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.

@hairmare

This comment has been minimized.

Copy link
Member

commented Apr 13, 2017

As far as I remember I was able to use the master source with butt 0.1.15.

@Robbt

This comment has been minimized.

Copy link
Member

commented Apr 14, 2017

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.

@hairmare

This comment has been minimized.

Copy link
Member

commented Apr 15, 2017

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.

@xabispacebiker

This comment has been minimized.

Copy link

commented Oct 1, 2017

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.

@Robbt

This comment has been minimized.

Copy link
Member

commented Aug 24, 2018

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. "

@Robbt

This comment has been minimized.

Copy link
Member

commented Aug 24, 2018

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
@frecuencialibre

This comment has been minimized.

Copy link
Contributor

commented Oct 15, 2018

i remember having frustrating problems with butt months ago, but i wasn't methodical about writing down specifics 😞

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?

@hairmare

This comment has been minimized.

Copy link
Member

commented Oct 15, 2018

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.

@frecuencialibre

This comment has been minimized.

Copy link
Contributor

commented Oct 19, 2018

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?

@Robbt

This comment has been minimized.

Copy link
Member

commented Oct 19, 2018

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.

@xabispacebiker

This comment has been minimized.

Copy link

commented Oct 20, 2018

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

frecuencialibre added a commit that referenced this issue Oct 22, 2018

Merge pull request #573 from frecuencialibre/butt
(docs) note bug with Butt 1.14+. Closes #160
@frecuencialibre

This comment has been minimized.

Copy link
Contributor

commented Oct 22, 2018

thanks everyone.

@frecuencialibre

This comment has been minimized.

Copy link
Contributor

commented Dec 17, 2018

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.

@frecuencialibre

This comment has been minimized.

Copy link
Contributor

commented Jan 15, 2019

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/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.