Skip to content
This repository has been archived by the owner on Jan 20, 2021. It is now read-only.

Music doesn't start playing when I add a song. #30

Closed
AmalieNot opened this issue Jan 29, 2015 · 63 comments
Closed

Music doesn't start playing when I add a song. #30

AmalieNot opened this issue Jan 29, 2015 · 63 comments

Comments

@AmalieNot
Copy link

So I installed it (using Go 1.4.1), as well as installing ffmpeg and mercurial.

However, when I add a song, the music doesn't start playing. It seems to know the song is there, but is not playing it.
image

After reading other issues, I made sure gopus and goprotobuf were installed. However, that does not seem to have fixed the issue.

I'm sure I'm doing something wrong, but do you know how to fix it?

@matthieugrieger
Copy link
Owner

Can you open up your Mumble client and navigate to Server -> Information and tell me what it says underneath the "Audio bandwidth" header?

@AmalieNot
Copy link
Author

I've tried it in two servers with similar results. The first server says this:
image

The second, which I'm hosting through linode, says this:
image
(Max 89 and 72 kbit/s, repectively, using Opus).

@matthieugrieger
Copy link
Owner

Hmm.. strange. I was expecting that the server was on the CELT audio codec. It should be working if your server is on Opus.

You didn't mention youtube-dl in your original post, do you have that installed (and up to date)?

@AmalieNot
Copy link
Author

I did install it before setting up the bot. When I do "youtube-dl -U" it tells me it's up-to-date...

@matthieugrieger
Copy link
Owner

Another thing to maybe try... have you set opusthreshold in your /etc/mumble-server.ini or /etc/murmur.ini to 0? This forces Opus at all times, otherwise the server sometimes switches to CELT momentarily if a certain percentage of users don't support Opus.

@AmalieNot
Copy link
Author

I do also have that set to 0.

@Pao-Lumu
Copy link

I'm also experiencing issues. Similar server settings.

@matthieugrieger
Copy link
Owner

@AmalieNot, @evanjohnman:

I just tested out MumbleDJ on my own server and I am not experiencing the issue. Which distro are you two running? My instance of MumbleDJ is running on Ubuntu.

@ghost
Copy link

ghost commented Jan 30, 2015

@matthieugrieger It may be worth doing some error checking here to see if ffmpeg was successfully started.

@matthieugrieger
Copy link
Owner

@bontibon: Good point. I'll remember to add that in.

@AmalieNot
Copy link
Author

If you meant distro of mumbledj, I'm fully updated. I'm running ubuntu 14.10 on my server.

@matthieugrieger
Copy link
Owner

Oh, sorry, yeah I meant your Linux distro. I will have to look into this later as I am not quite sure what is causing problem. I'll post updates if I figure out anything.

@Pao-Lumu
Copy link

Ubuntu 14.04.1 64-bit.
Client

@matthieugrieger
Copy link
Owner

@bontibon: Could this possibly be related to this commit: layeh/gumble@8f7277e?

I have struggled with situations where libav and ffmpeg clash with each other before on Ubuntu.

@Pao-Lumu
Copy link

Dang. I figured that was the issue.

@matthieugrieger
Copy link
Owner

@evanjohnman: If possible, could you try removing avconv from your system? I believe it is a part of the package called libav-tools. If you can't remove it for some reason, no worry.

@Pao-Lumu
Copy link

Will do.

@Pao-Lumu
Copy link

Not showing up. Checking aptitude.

@matthieugrieger
Copy link
Owner

@AmalieNot, @evanjohnman: Are you two still having issues with getting the audio to play?

@Pao-Lumu
Copy link

I was unable to find that codec in aptitude. I'll look again now.

@Pao-Lumu
Copy link

Think I found it. (Didn't want Audacity on this anyway.

@matthieugrieger
Copy link
Owner

Let me know if you find out anything.

@Pao-Lumu
Copy link

I've removed libavtools, etc from my machine...
Unfortunately, I had to SSH it from my phone and couldn't test it. I tried connecting it to a private server (with opus forced, running off RPi :P) but I wasn't able to get it to respond to my mumble app.

This is likely a bug with my iPhone, but it (mumdj) ran without error from SSH. I hope this is just a glitch with the app.
I'll report any further bugs to you, should I encounter any more.

@Pao-Lumu
Copy link

The issue was not fixed, although I need to try rebooting my PC.

@Pao-Lumu
Copy link

Pao-Lumu commented Feb 1, 2015

Tried reboot; no change.

Posting 'make install' script output:

mkdir -p ~/.mumbledj/config
mkdir -p ~/.mumbledj/songs
if [ -a ~/.mumbledj/config/mumbledj.gcfg ]; then mv ~/.mumbledj/config/mumbledj.gcfg ~/.mumbledj/config/mumbledj_backup.gcfg; fi;
/bin/sh: 1: [: -a: unexpected operator
cp -u mumbledj.gcfg ~/.mumbledj/config/mumbledj.gcfg
sudo cp -f mumbledj /usr/local/bin/mumbledj

There seems to be a messed up operator. Maybe it's related to that.

@AmalieNot
Copy link
Author

I have the same make output. I'll look for libavtools now - sorry, some things came up that took me afk for a bit.

@Pao-Lumu
Copy link

Pao-Lumu commented Feb 1, 2015

Question: what is the minimum version of opus required to run this? Because my install defaulted to the 1.0 release, and 1.2 is available.

@AmalieNot
Copy link
Author

I don't appear to have avconv or libav-tools installed. I'm wondering about the opus version thing myself.

@matthieugrieger
Copy link
Owner

@evanjohnman: I'm not sure what is going on with your make install output. Running make install on my Ubuntu installation doesn't cause any errors.

Also, via dpkg -s libopus0 I am running version 1.1 of opus. It wouldn't hurt to update opus, so I'd try that.

Just to be clear, did both of you have a working installation of MumbleDJ before? Or did the audio never work?

@Pao-Lumu
Copy link

Pao-Lumu commented Feb 2, 2015

Words cannot express how irritated I am at this right now.
panic, it did not.
;-;

@matthieugrieger
Copy link
Owner

Huh. So it didn't panic, but it also didn't play audio?

Sorry about the frustration. I'm trying my best to figure it out but it's hard to test it when I don't have the same problem on any of my machines.

@Pao-Lumu
Copy link

Pao-Lumu commented Feb 2, 2015

Yes. And now with the latest release I can't build.

I apologize for being a problem child.

./commands.go:273: cannot call non-function dj.audioStream.Volume (type float32)
./commands.go:278: dj.audioStream.SetVolume undefined (type *gumble_ffmpeg.Stream has no field or method SetVolume)
./commands.go:279: cannot call non-function dj.audioStream.Volume (type float32)
./main.go:54: dj.audioStream.Done undefined (type *gumble_ffmpeg.Stream has no field or method Done)
./main.go:55: dj.audioStream.SetVolume undefined (type *gumble_ffmpeg.Stream has no field or method SetVolume)

@matthieugrieger
Copy link
Owner

That build error signifies to me that something on your end isn't installed correctly. I receive no build errors, and I test if each release builds before I release it.

Are you sure that you have gumble_ffmpeg installed correctly? I would check the src folder in your Go root to make sure that gumble_ffmpeg is there and isn't corrupted or anything.

In your src folder, gumble_ffmpeg should be located at github.com/layeh/gumble.

@ghost
Copy link

ghost commented Feb 2, 2015

@matthieugrieger I have been updating gumble_ffmpeg today. It may be worth looking into a dependency manager for mumbledj. That would prevent your program from breaking when other people (in this case, me) make API changes in their projects.

@matthieugrieger
Copy link
Owner

@bontibon: Thanks for the suggestion. I'm still getting the hang of Go, so
I don't know all the best practices yet. :)

I'll add something like goop later.
On Feb 2, 2015 12:21 PM, "Tim Cooper" notifications@github.com wrote:

@matthieugrieger https://github.com/matthieugrieger I have been
updating gumble_ffmpeg today. It may be worth looking into a dependency
manager for mumbledj. That would prevent breaking your program from
breaking when other people (in this case, me) make API changes on their
projects.


Reply to this email directly or view it on GitHub
#30 (comment)
.

@AmalieNot
Copy link
Author

Okay, I went to update this today via the "make clean, make, make install" directions you provided and get this output from "make":

go get -u github.com/layeh/gumble/gumble
go get -u github.com/layeh/gumble/gumbleutil
go get -u github.com/layeh/gumble/gumble_ffmpeg
go get -u code.google.com/p/gcfg
go get -u github.com/kennygrant/sanitize
go get -u github.com/jmoiron/jsonq
go build .

_/home/strongsuit/mumbledj

./commands.go:273: cannot call non-function dj.audioStream.Volume (type float32)
./commands.go:278: dj.audioStream.SetVolume undefined (type gumble_ffmpeg.Strea m has no field or method SetVolume)
./commands.go:279: cannot call non-function dj.audioStream.Volume (type float32)
./main.go:54: dj.audioStream.Done undefined (type *gumble_ffmpeg.Stream has no f ield or method Done)
./main.go:55: dj.audioStream.SetVolume undefined (type *gumble_ffmpeg.Stream has no field or method SetVolume)
Makefile:4: recipe for target 'mumbledj' failed
make: *
* [mumbledj] Error 2

@matthieugrieger
Copy link
Owner

@AmalieNot: That's a bug with the make process at the moment.

I will be adding a dependency manager later to help counteract this. I
would do it now but I am in class. :)
On Feb 2, 2015 12:54 PM, "AmalieNot" notifications@github.com wrote:

Okay, I went to update this today via the "make clean, make, make install"
directions you provided and get this output from "make":

go get -u github.com/layeh/gumble/gumble
go get -u github.com/layeh/gumble/gumbleutil
go get -u github.com/layeh/gumble/gumble_ffmpeg
go get -u code.google.com/p/gcfg
go get -u github.com/kennygrant/sanitize
go get -u github.com/jmoiron/jsonq
go build .
_/home/strongsuit/mumbledj

./commands.go:273: cannot call non-function dj.audioStream.Volume (type
float32)
./commands.go:278: dj.audioStream.SetVolume undefined (type

gumble_ffmpeg.Strea m has no field or method SetVolume)
./commands.go:279: cannot call non-function dj.audioStream.Volume (type
float32) ./main.go:54: dj.audioStream.Done undefined (type
*gumble_ffmpeg.Stream has no f ield or method Done) ./main.go:55:
dj.audioStream.SetVolume undefined (type *gumble_ffmpeg.Stream has no field
or method SetVolume) Makefile:4: recipe for target 'mumbledj' failed make:
*
* [mumbledj] Error 2


Reply to this email directly or view it on GitHub
#30 (comment)
.

@AmalieNot
Copy link
Author

Thank you!

@hamilton5
Copy link

!add https://www.youtube.com/playlist?list=PLFgquLnL59alW3xmYiWRaoz0oM3H17Lth

would not start playing or even acknowledge it was added... I added another song after and nothing happened... I did a !reset and then got a crash (panic:runtime error: index out of range) .

try this for an instant crash; an invalid playlist url:
!add https://www.youtube.com/playlist?list=RD_1phPo
or a !reset when nothing is playing or added to queue (panic: nothing playing)

@matthieugrieger
Copy link
Owner

@AmalieNot, @evanjohnman, @hamilton5: The build issues have been fixed in the latest release. Sorry about that!

I will be adding a dependency manager to prevent problems like this from happening in the future.

@hamilton5
Copy link

I have successfully built the new version... the issue with invalid playlist url still stands.

@AmalieNot
Copy link
Author

Well, that was exciting.

So, when I add a song now, this is what happens:

root@munin:/home/strongsuit/mumbledj# screen -S mumblebot
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2232 +0x1

goroutine 6 [select]:
github.com/layeh/gumble/gumble.(_Client).pingRoutine(0xc20806c000)
/root/go/src/github.com/layeh/gumble/gumble/client.go:166 +0x2dc
created by github.com/layeh/gumble/gumble.(_Client).Connect
/root/go/src/github.com/layeh/gumble/gumble/client.go:112 +0x485

goroutine 10 [IO wait]:
net.(_pollDesc).Wait(0xc208010df0, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:84 +0x47
net.(_pollDesc).WaitRead(0xc208010df0, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:89 +0x43
net.(_netFD).Read(0xc208010d90, 0xc20800f000, 0x1000, 0x1000, 0x0, 0x7fbcb6bd4d70, 0xc20812cb30)
/usr/local/go/src/net/fd_unix.go:242 +0x40f
net.(_conn).Read(0xc20802e080, 0xc20800f000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:121 +0xdc
net/http.noteEOFReader.Read(0x7fbcb6bd6400, 0xc20802e080, 0xc208060ec8, 0xc20800f000, 0x1000, 0x1000, 0x748e60, 0x0, 0x0)
/usr/local/go/src/net/http/transport.go:1270 +0x6e
net/http.(_noteEOFReader).Read(0xc20801e9e0, 0xc20800f000, 0x1000, 0x1000, 0xc208012000, 0x0, 0x0)
:125 +0xd4
bufio.(_Reader).fill(0xc20800a6c0)
/usr/local/go/src/bufio/bufio.go:97 +0x1ce
bufio.(_Reader).Peek(0xc20800a6c0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:132 +0xf0
net/http.(_persistConn).readLoop(0xc208060e70)
/usr/local/go/src/net/http/transport.go:842 +0xa4
created by net/http.(*Transport).dialConn
/usr/local/go/src/net/http/transport.go:660 +0xc9f

goroutine 11 [select]:
net/http.(_persistConn).writeLoop(0xc208060e70)
/usr/local/go/src/net/http/transport.go:945 +0x41d
created by net/http.(_Transport).dialConn
/usr/local/go/src/net/http/transport.go:661 +0xcbc

In mumble, this is what happened:
image

@hamilton5
Copy link

@AmalieNot it concerns me you run things like this as root.

@AmalieNot
Copy link
Author

It's a clean server install I have no issue wiping. I was having some other minor issues with my other server install.

@matthieugrieger
Copy link
Owner

@hamilton5: That first playlist URL you gave works fine for me. The second one, however, did produce a crash and that should be fixed now.

@evanjohnman, @AmalieNot: Try building MumbleDJ with the latest release. The way that dependencies are handled and built is different now, so it might fix your problems (fingers crossed). Just make sure to install openal beforehand (I believe it should be sudo apt-get install libopenal-dev on Ubuntu) or else the compile will not work.

@bontibon: I added goop to handle dependency management. Thanks again for the suggestion, I like this much better.

@AmalieNot
Copy link
Author

I get nearly identical vomit with this latest build

bufio.(_Reader).Peek(0xc20800a6c0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:132 +0xf0
net/http.(_persistConn).readLoop(0xc2080be0b0)
/usr/local/go/src/net/http/transport.go:842 +0xa4
created by net/http.(*Transport).dialConn
/usr/local/go/src/net/http/transport.go:660 +0xc9f

goroutine 11 [select]:
net/http.(_persistConn).writeLoop(0xc2080be0b0)
/usr/local/go/src/net/http/transport.go:945 +0x41d
created by net/http.(_Transport).dialConn
/usr/local/go/src/net/http/transport.go:661 +0xcbc

@hamilton5
Copy link

uh... my make retured this (I need openal now too!?):

go get github.com/nitrous-io/goop
goop update
make: goop: Command not found
make: *** [mumbledj] Error 127

@matthieugrieger
Copy link
Owner

@hamilton5: You don't have your $PATH variable set correctly. You need to append $GOPATH to it. And yes, you need OpenAL because the dependency manager downloads it and compiles it. It may be used in the future so it would be good to have it anyway.

@AmalieNot: Are you copying your build outputs from screen? I think some of your logs are getting cut off because of that, so it's kinda hard to find the issue.

@Pao-Lumu
Copy link

Pao-Lumu commented Feb 6, 2015

I'm sorry I haven't been on for a while. Projects for class, etc.
I'll not be back for a while, unfortunately. Though I may be able to work on it over the weekend.

@matthieugrieger
Copy link
Owner

@evanjohnman No worries! I'm at a busy time at school as well.

@jakexks
Copy link
Contributor

jakexks commented Feb 17, 2015

If you're having trouble building mumbledj I built and packaged it into a docker container. You can run my build by installing docker then running:
docker run --rm -it jakexks/mumbledj -cert="/crt.crt" -key="/key.key" -server=[your server] -port=64738 -username=MumbleDJ -password="" -channel=root

@matthieugrieger
Copy link
Owner

@AmalieNot, @evanjohnman: Do you two still experience issues? No worries if you haven't gotten the chance to try it out once more. I'm just curious.

@matthieugrieger
Copy link
Owner

Closing due to inactivity. If there are still issues, please feel free to let me know!

@AmalieNot
Copy link
Author

Hey -

The docker solution is working, but I'm still having issues if I try to run it otherwise.

Sorry for the inactivity. I've been trying to stay afloat with grading for my class, since they have midterms soon. My university has spring break next week, though, so I'll probably try it out again then.

@matthieugrieger
Copy link
Owner

@AmalieNot: Cool, glad it is working one way or another. :)

No need to worry about response times!

@ogkinetic1
Copy link

Can anyone please help me? I'm trying to install MumbleDJ and after I type makeinstall i get this error...
$ make install
mkdir -p ~/.mumbledj/config
mkdir -p ~/.mumbledj/songs
if [ -a ~/.mumbledj/config/mumbledj.gcfg ]; then mv ~/.mumbledj/config/mumbledj.gcfg ~/.mumbledj/config/mumbledj_backup.gcfg; fi;
/bin/sh: 1: [: -a: unexpected operator
cp -u config.gcfg ~/.mumbledj/config/mumbledj.gcfg
if [ -d ~/bin ]; then cp -f mumbledj* ~/bin/mumbledj; else sudo cp -f mumbledj* /usr/local/bin/mumbledj; fi;
cp: cannot stat ‘mumbledj_’: No such file or directory
make: *_* [install] Error 1

@hamilton5
Copy link

ogkinetic1 why would you put that in this 'Music doesn't start playing when I add a song.'?

You had no problems building mumbledj the bin is in the folder? what shell are you using?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

6 participants