Code Monkey home page Code Monkey logo

Comments (11)

spl0k avatar spl0k commented on July 17, 2024

I have no issue with Jamstash. What type of file are you trying to play? Do you have transcoding set up?

from supysonic.

duperray avatar duperray commented on July 17, 2024

Hi,
I can't see music in jamstash neither.
In Dsub, it works.
I copied pasted the transcoding section from README, and verified all command line encoder/decoder
where installed.
I see the "web" request of jamstash on the server no error, just nothing to play.
any idea?

By the way thanks for this excelent piece of software.

from supysonic.

spl0k avatar spl0k commented on July 17, 2024

@duperray can you at least browse your library? This might be another issue. I have to click on tabs for Jamstash to display stuff the first time I open it.

If you can browse but can't listen:
Is DSub configured to use transcoding? Or did you force transcoding in Supysonic's web interface?
As stated above Jamstash works for me, but I'm only streaming mp3s as-is. I know some formats might require to be converted to be played by certain clients (the FLAC/Jamstash combo could be one of them)

from supysonic.

duperray avatar duperray commented on July 17, 2024

no I can't, but for now I'm using mysql + server.py, perhaps jamstash can't be used on a local network?
I don't know nothing about html5 apps

from supysonic.

spl0k avatar spl0k commented on July 17, 2024

I remember being able to use Jamstash on a local instance.
But if you're planning to just use supysonic you shouldn't use server.py directly. It doesn't serve more than one request at a time, meaning you wan't be able to play and browse your library at the same time (among many more limitations)

from supysonic.

spl0k avatar spl0k commented on July 17, 2024

@duperray if you want to keep using server.py, be sure to remove any trailing / in the server setting of Jamstash. http://server-address:port should work, http://server-address:port/ won't.

As for the original issue, Jamstash seems to only be able to play ogg/oga, m4a and mp3 files. Setting transcoding on the server won't help the way it's handled. I need a better understanding of how transcoding is supposed to work, the Subsonic API documentation is very vague about the response objects.

from supysonic.

duperray avatar duperray commented on July 17, 2024

@sl0k I set nginx + uwsgi, I can authenticate with jamstash and subfire, I see in the uwsgi logs things like that:
[pid: 16246|app: 0|req: 21/36] 192.168.0.254 () {46 vars in 834 bytes} [Sun Jul 9 23:13:05 2017] POST /zic/rest/getAlbumList2.view => generated 319 bytes in 16 msecs (HTTP/2.0 302) 4 headers in 340 bytes (1 switches on core 0)

but no music, no album. If it's an encoding issue, do you have a pointer to a file which is know to work?

thx for support

ps: the supysonic-cli folder scanned for 2 mp3 and one m4a, no success

from supysonic.

apiontek avatar apiontek commented on July 17, 2024

Sorry, I haven't had time since I originally reported this and actually had to wipe out the instance I was testing with anyway.

I have time again and have set up a new instance of supysonic. Still having some trouble

My setup:

  • supysonic at commit 62bcce3, running in an ubuntu 16.04 lxd container with its own LAN IP
  • mariadb running in same container
  • default transcoding config (from config.sample, all apps installed)
  • lastfm scrobbling enabled with key/secret
  • minetypes enabled (not sure if necessary) with 'flac = audio/flac' added, I have a lot of FLAC
  • log_file now set to DEBUG
  • apache2 2.4.18 installed with the following config:
<VirtualHost *>
WSGIDaemonProcess supysonic user=myuser group=myuser threads=5
WSGIScriptAlias / /opt/supysonic/cgi-bin/supysonic.wsgi
<Directory /opt/supysonic/cgi-bin>
    WSGIApplicationGroup %{GLOBAL}
    WSGIPassAuthorization On
    Require all granted
#    Order deny,allow
#    Allow from all
</Directory>
</VirtualHost>

For internal use I can go straight to my IP. say, 172.22.1.17

For external use I have a separate nginx proxy that I use for a number of services, including a concurrent Subsonic 6.1.1 server on a different internal lxd container/IP.

The nginx proxy settings are:

    location / {
        proxy_pass http://172.22.1.17;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Host $host:$server_port;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#        add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;";
#        add_header X-Content-Type-Options "nosniff";
#        add_header X-XSS-Protection "1; mode=block";
#        add_header X-Robots-Tag none;
#        proxy_redirect off;
        proxy_force_ranges on;
     }

This is basically the same as what I use for Subsonic, except the commented lines are uncommented so the interface works properly, and I'm running Subsonic with https on so a couple of the other proxy settings are slightly different.

With all of that, here's what works and what doesnt:

Scanning media: worked great.
DSub: works flawlessly, both direct to internal IP when on local Wifi, and using the nginx proxy when outside my network. I can see the library and play files just fine, both MP3 and FLAC

Jamstash:

  • on local IP, using jsonp, I can load the library and search, but nothing plays
  • on local IP, using json, same.
  • on external proxy, using jsonp, nothing loads at all
  • on external proxy, using json, library loads with 2-3 jamstash "Error... not implemented" errors, and still nothing plays

I don't see anything helpful in the apache logs for Jamstash, just requests to load data, but nothing related to playing, and nothing shows up in the supysonic.log file.

Perisonic:

  • on local IP, loads and plays just fine
  • on external proxy, I just get "error connecting to server," and the following shows up in apache "other_vhosts_access.log":
127.0.1.1:80 172.22.1.41 - - [10/Oct/2017:16:24:44 +0000] "GET /rest/ping.view?u=adam&p=enc:72544f52417379636f6e2437&c=perisonic&v=1.8.0&f=jsonp&callback=jQuery21007795648296062347_1507649797759&_=1507649797778 HTTP/1.0" 200 535 "http://robinbakker.nl/perisonic/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"

Uncertain if I should try moving supysonic to my nginx proxy server and running it direct with fast cgi on nginx, avoiding the proxy? Or try using gunicorn like glogiotatidis/supysonic-docker does, or try to set up uWSGI, or...?

Happy to do some debugging/tinkering and try to figure this out!

from supysonic.

apiontek avatar apiontek commented on July 17, 2024

Additional: just realized the files I had tried playing in jamstash were all flac. I tried an MP3 and it played fine.

But the flac files play fine in DSub? Is Jamstash maybe asking for them to be transcoded in a different way?

I tried commenting out decoder_flac = flac -d -c -s %srcpath in supysonic config but that didn't help.

from supysonic.

spl0k avatar spl0k commented on July 17, 2024

As stated above, Jamstash only supports ogg, m4a or mp3. In the meantime I made some changes to help clients be aware of transcoding (1e1b475) so Jamstash should now accept to load transcoded files.

I tried playing FLAC files with both DSub and Jamstash, and both with or without transcoding to mp3. Here are the results:

  • DSub without transcoding: works
  • DSub with transcoding: works
  • Jamstash without transcoding: does nothing
  • Jamstash with transcoding: still doesn't work, but at least there's a request coming up to the server

My guess is that this is coming from jPlayer (which Jamstash uses). Running Jamstash in debug mode we can see that it complains about an unsupported format if one tries to play a FLAC without transcoding, while saying it can't load the media URL if transcoding is enabled.

Quick reminder: to enable transcoding you have to set the transcoding section in the config, but you also need to go to supysonic's web UI to tell you want it for one client or another.

from supysonic.

apiontek avatar apiontek commented on July 17, 2024

Thanks. The reminder was helpful because I missed that line about setting client transcoding settings in the admin interface. I set it to do mp3 @ 320 for jamstash (One just puts "mp3" in the format box, right?), did a git pull putting me up to da4cde7, but I see it's still failing to load media:

Failed to load resource: the server responded with a status of 500 (Internal Server Error)
scripts.min.877d4a61.js:1 Keycode Triggered: 123
scripts.min.877d4a61.js:2 jPlayer error:  {type: "e_no_support", context: "{supplied:'mp3, oga, m4a'}", message: "It is not possible to play any media format provid…dia() on this browser using your current options.", hint: "Video or audio formats defined in the supplied option are missing."}
scripts.min.877d4a61.js:2 Stream interrupted, retrying from position:  0
scripts.min.877d4a61.js:2 jPlayer error:  {type: "e_url_not_set", context: "play", message: "Attempt to issue media playback commands, while no media url is set.", hint: "Use setMedia() to set the media URL."}
scripts.min.877d4a61.js:2 Stream interrupted, retrying from position:  0
vendor.min.bdea8d7f.js:19 [Deprecation] Using the Notification API on insecure origins is deprecated and will be removed in M61, around September 2017. You should consider switching your application to a secure origin, such as HTTPS. See https://goo.gl/rStTGz for more details.

from supysonic.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.