GioF71 / squeezelite-docker

Easily run SqueezeLite with Alsa or PulseAudio output with Docker. Bluetooth support. Upsampling 2x 4x 8x with "Goldilocks" settings by Archimago
Apache License 2.0
32 stars 10 forks source link

get un error when playing sound from soundtrack #129

Closed fifise77 closed 1 year ago

fifise77 commented 1 year ago

hello,

Thank for your work, everything work find with musique from locale file on the server. but when i try to play musique from "soundcloud" , I get the following error: connect_socket:195 unable to open SSL socket -1 (1)

the same song from "soundcloud" play normaly on my SoftSqueeze on windows.

Thanks in advance for your help

GioF71 commented 1 year ago

Hello, it might have something to do with me installing with --no-install-recommends, which could result in certificates not being installed. However, I do not use soundcloud, but I would like to try and solve the issue. Is a soundcloud account needed? Can you help me reproduce the issue? Also, which version of the image are you using?

GioF71 commented 1 year ago

Hello, I tried on my own but it seems that I cannot create a soundcloud api key right now. I have created an experimental build without the --no-install-recommends, you can try this image:

giof71/squeezelite:feature-avoid-no-inst-recommends-build01-bullseye-squeezelite-1.9.8

Let me know if this solves the issue.

fifise77 commented 1 year ago

Hello,

sadely the last image didn't solve the issue, I still have the error :

[11:35:27.642695] connect_socket:195 unable to open SSL socket -1 (1)

I use a free account on sounfcloud to create the api key

GioF71 commented 1 year ago

Hello, when did you create your api key? If I try now, I get an error:

SoundCloud Application Registration Due to the high amount of requests recently received, we will no longer be processing API application requests at this time. We are working to re-evaluate our process to make it more efficient.

GioF71 commented 1 year ago

Hello, I switch to the premium (Go+) account (free for a month) and still I cannot create an api key. So unfortunately I am not currently able to reproduce the issue (yet).

Can you provide more info about the bug?

1) the platform where you run the image (amd64, armhf, arm64) 2) version of the image (with or without sourceforge binaries, base distro, or is it simply the 'latest' maybe)? 3) post the full log (specifying where does the log come from)

plus any other relevant information you might have available.

Thank you

GioF71 commented 1 year ago

Hello again, after looking at the plugin repo and his recommendation about ssl, I believe the issue is on the server rather than on the player.

See: https://github.com/danielvijge/SqueezeCloud

The squeezelite player does not connect to soundcloud or any other service, it should just connect to the lms server. Maybe can you add more information about the setup that actually works, the one you use with SoftSqueeze. It it using the same server? Thanks

fifise77 commented 1 year ago

Hello, sorry for the delay, so I am using : lmscommunity/logitechmediaserver docker for the server install on my qnap NAS with portainer.

Both the SoftSqueeze (install on a windows 10) and your docker apps (install on a raspberry Pi4) are connected to this server.

When I try to play the same song from soudncloud on both client from the same server: It work on the SoftSqueeze but not on squeezelite-docker (so it make me Believe that the server is ok ?)

The raspberry Pi4 as a fresh install with rapbian : 11.5 (bullseye)", with a linux kernel 5.15.61-v7l+ armv7l docker : 20.10.21 the docker image is in latest version

Just to be sure I install on the raspberry (that the your docker image) libssl-dev perl -MCPAN -e 'install IO::Socket::SSL'

=> its still dont work :(

fifise77 commented 1 year ago

the full log ar comming from then docker image:

Ready to start. Using ALSA mode === BEGIN Available audio devices === /app/bin/run-squeezelite-alsa.sh: line 4: /usr/bin/squeezelite: No such file or directory === END-- Available audio devices === === BEGIN Loading presets === Loading built-in Presets... Loading preset [no-dsd.exclude-codecs]=[dsd] Loading preset [gustard-x12.device]=["hw:CARD=x20,DEV=0"] Loading preset [dac.device]=["hw:CARD=DAC,DEV=0"] Loading preset [x20.device]=["hw:CARD=x20,DEV=0"] Loading preset [topping-d10.device]=["hw:CARD=D10,DEV=0"] Loading preset [hifiberry-dac-plus.device]=["hw:CARD=sndrpihifiberry,DEV=0"] Loading preset [fiio-e18.device]=["hw:CARD=DACE18,DEV=0"] Loading preset [ifi-zen-dac.device]=["hw:CARD=Audio,DEV=0"] Loading preset [yulong-d200.device]=["hw:CARD=DAC,DEV=0"] Loading preset [aune-x1s.device]=["hw:CARD=DAC,DEV=0"] Loading preset [aune-s6.device]=["hw:CARD=DAC,DEV=0"] Loading preset [peachtree-dacit.device]=["hw:CARD=DAC,DEV=0"] Loading preset [gustard-u12.device]=["hw:CARD=x20,DEV=0"] Loading preset [gustard-x12-goldilocks.device]=["hw:CARD=x20,DEV=0"] Loading preset [gustard-x12-goldilocks.rates]=[44100-384000:200] Loading preset [gustard-x12-goldilocks.upsampling]=[v::4:28:95:105:45] Loading preset [pi-headphones.device]=["hw:CARD=Headphones,DEV=0"] Loading preset [topping-dx5.device]=["hw:CARD=DX5,DEV=0"] Loading preset [gustard-x16.device]=["hw:CARD=G20,DEV=0"] Finished loading built-in presets No additional preset file found There are [48] available presets === END-- Loading presets === Initializing command line: [/app/bin/squeezelite] No presets have been specified Variable SQUEEZELITE_AUDIO_DEVICE has been specified: plughw:CARD=Headphones,DEV=0 Variable SQUEEZELITE_MIXER_DEVICE has not been specified Variable SQUEEZELITE_MAC_ADDRESS not specified Variable SQUEEZELITE_NAME has been specified: Salon Variable SQUEEZELITE_MODEL_NAME has not been specified Variable SQUEEZELITE_TIMEOUT has not been specified, using default 2 Variable SQUEEZELITE_DELAY has not been specified, using default 500 Variable SQUEEZELITE_SERVER_PORT has been specified: 192.168.0.33 Variable SQUEEZELITE_PARAMS has not been specified Variable SQUEEZELITE_CODECS has not been specified Variable SQUEEZELITE_EXCLUDE_CODECS has not been specified Variable SQUEEZELITE_PRIORITY has not been specified Variable SQUEEZELITE_RATES not specified Variable SQUEEZELITE_UPSAMPLING not specified Variable SQUEEZELITE_BUFFER_SIZE not specified Variable SQUEEZELITE_STREAM_AND_OUTPUT_BUFFER_SIZE (DEPRECATED) not specified Variable SQUEEZELITE_UNMUTE not specified Variable SQUEEZELITE_VOLUME_CONTROL not specified Variable SQUEEZELITE_LINEAR_VOLUME not specified Variable SQUEEZELITE_VISUALIZER not specified Command Line: [/app/bin/squeezelite -o plughw:CARD=Headphones,DEV=0 -n Salon -C 2 -D 500 -s 192.168.0.33] [21:00:19.994020] connect_socket:195 unable to open SSL socket -1 (1)

GioF71 commented 1 year ago

Hello, this is valuable information, thank you. I didn't expect the squeezelite endpoint had to create ssl connections. Shame that I cannot try by myself due to soundclound not letting users create new api keys. I would suggest, if you can, to just try with the regular squeezelite binary from the repos of your distro, using the same command line as shown in the container log. If that works, then we can probably fix the container image as well.

GioF71 commented 1 year ago

Maybe try this build: giof71/squeezelite:feature-certificates-build01-bullseye-squeezelite-1.9.8

if includes ca-cartificates and openssl. It might solve the issue but as I mentioned, I cannot test it on my own. If it doesn't, don't drop the test with the package from the repositories of your distro, it would be very important in order to understand if this can be solved.

fifise77 commented 1 year ago

Hello, I try the new docker image and I still get the "connect_socket:195 unable to open SSL socket -1" error,

so I tried to install squeezelite binary from the raspbian dipo (sudo apt-get install squeezelite) and run the same command line as shown in the container log and I still get the same error .. So I don't knwon if it's something messing on my rapberry or if something wrong with the squeezelite binary

I try to run "wget https://soundcloud.com/" from the host and it download the index page without any issue, I don't know if it help for the debug

fifise77 commented 1 year ago

OK I found something, apparently it's a bug related to the version of the binary squeezelite been used

that one that got install from the raspbian repo was Squeezelite v1.9.8-1317 I tryed to download the lastest (squeezelite-1.9.9.1392-armhf.tar.gz) version from https://sourceforge.net/projects/lmsclients/files/squeezelite/linux/

And replace the binary on my raspberry : and hourray it work, now I can play the soundcloud musique on the raspberry.

could you update the binray use in your docker to Squeezelite v1.9.9-1392 ? I would perfer to use the docker version

GioF71 commented 1 year ago

Well you might try the image built around the sourceforge binaries. Just search for sourceforge on the docker hub repo. They might not present the issue as well. Or, you might also try the 'edge' tag which is based on the version available on the upcoming bookworm release of Debian!

fifise77 commented 1 year ago

Great news using the giof71/squeezelite:edge docker image solve the issue, it now work great with the docker image and soundcloud music stream.

Thank a lot for your help

fifise77 commented 1 year ago

the issue Can be close :)

GioF71 commented 1 year ago

Awesome news. All things considered maybe the bookworm version might be promoted to latest. But I have some reservations on doing so, because 'bookworm' is not a production ready release yet.

Maybe can you also try the sourceforge version? This one:

giof71/squeezelite:sourceforge-bullseye

This version might be more appropriate to be promoted to be the latest. Your tests might be very useful for the maintenance of this repository. I was even considering dropping the -sourceforge image versions, but maybe it would not be a good idea, especially if this version works better than the one that is currently tagged as both 'latest' and 'stable'.

Also, please consider giving a star to the repo if you consider this work useful. Thanks!

fifise77 commented 1 year ago

Hello,

I deploy the docker image giof71/squeezelite:sourceforge-bullseye and I am happy to report that soundcloud music stream work as well with the docker image.

GioF71 commented 1 year ago

Hello, this is the last test I promise. I noticed that also the "jammy" version might have a working version. Here is the image:

giof71/squeezelite:jammy

This might be the current best candidate to be tagged as latest if it works. Or maybe to be tagged as stable and setting the upcoming kinetic build as latest.

Please let me know if the jammy image works correctly.

fifise77 commented 1 year ago

Hello,

So I switch to the Jammy image, and it work as well :)

GioF71 commented 1 year ago

Thank you! So jammy will become stable and kinetic will become latest in next release.

GioF71 commented 1 year ago

This has been done, now both latest and stable should work correctly. Thank you for the support in testing!

fifise77 commented 1 year ago

Great new I will switch back to stable, thanks for your work