Home of the Squeezebox™ & Transporter® network music players.
Results 1 to 8 of 8
  1. #1
    Junior Member
    Join Date
    May 2009
    Location
    FL, USA
    Posts
    19

    Question Help With URL & stream_s

    I am working with the stream_s command and need some help with executing the stream_s command using a URL. We've previously been using IP address and port numbers but now we need to use a URL.

    For example, this URL (http://ice.somafm.com/groovesalad) comes back with the following headers:

    GET / HTTP/1.0
    Cache-Control: no-cache
    Connection: close
    Accept: */*
    Host: ice.somafm.com
    User-Agent: iTunes/4.7.1 (Darwin; N; Mac OS X 10.6.2; x86_64; EN; utf8) SqueezeC
    enter, Squeezebox Server/7.5.0/TRUNK
    Icy-MetaData: 1


    StatHandler - no code value
    StatHandler - STMf - Buffer has been flushed
    StatHandler - STMc = device is connected. Connect srtm-s command received.
    Guaranteed to be the first response to an strm-s.
    StatHandler - no code value
    StatHandler - no code value
    StatHandler - no code value
    StatHandler - no code value
    HTTP/1.0 200 OK
    Content-Type: text/html
    Content-Length: 396


    Any insight or help you can provide would be greatly appreciated!
    Ethan Kern
    Satellite Radio Superstore
    TurnKey Media Solutions
    E-Channels Manager
    http://www.xm-radio-satellite.com/
    http://www.turnkeymediasolutions.com/

  2. #2
    Junior Member
    Join Date
    May 2009
    Location
    FL, USA
    Posts
    19
    Thank you to all who have read this. If you can provide any thoughts they would be greatly appreciated!
    Ethan Kern
    Satellite Radio Superstore
    TurnKey Media Solutions
    E-Channels Manager
    http://www.xm-radio-satellite.com/
    http://www.turnkeymediasolutions.com/

  3. #3
    Senior Member pippin's Avatar
    Join Date
    Oct 2007
    Location
    Berlin
    Posts
    10,397
    Frankly, I didn't even understand what you are trying to do let alone how I could help you.
    ---
    learn more about iPeng, the iPhone and iPad remote for the Squeezebox and
    New: Logitech UE Smart Radio as well as iPeng Party, the free Party-App,
    at penguinlovesmusic.com

  4. #4
    Senior Member
    Join Date
    Oct 2005
    Location
    Ireland
    Posts
    11,253
    I agree with Pippin.

    Some points that need clarifying.

    Are your building a new client to work with LMS or your version of LMS to work with a SB player ?


    Will your http stream be in a format that the player can do direct playing or a format that must got through LMS ?

    If you are building your own player, have you looked at the source code for Squeezeslave, SoftSqueeze and SqueezePlay ?

  5. #5
    Junior Member
    Join Date
    May 2009
    Location
    FL, USA
    Posts
    19
    We have created our own SlimProto Server. We have successfully played streamed playlist music from url's like http://76.76.23.133:8012. Now we have the requirement to play a single mp3 track/file (one at a time) that is on a remote server. Each mp3 file has it's own remote url. Our previous question assumed that the stream_s command was the way to accomplish this.

    Is that still correct?

    .. And if so, how do we setup the stream_s command to play remote mp3 streams?

    Thanks for your help!
    Ethan Kern
    Satellite Radio Superstore
    TurnKey Media Solutions
    E-Channels Manager
    http://www.xm-radio-satellite.com/
    http://www.turnkeymediasolutions.com/

  6. #6
    Senior Member
    Join Date
    Oct 2005
    Location
    Ireland
    Posts
    11,253
    I think if you turn on and http & slimproto logging on either Softsqueeze or Squeezeplay - you will see the protocol in action.

    Remote http/mp3 stream (i.e. http with icy metadata) can be played direct or proxied through the server - you should decide as it'll make a difference in your server implementation.

  7. #7
    Junior Member
    Join Date
    May 2009
    Location
    FL, USA
    Posts
    19

    Question

    Thanks for pointing us in the right direction. We were able to determine that the headers needed to be adjusted in our case. Works great.

    We now need to know about playing WMA streams. In sniffing packets we can see that multiple headers are sent. But how and why we don't understand. Any help here would be appreciated. We have looked at the Slim::Player::Protocols::MMS file and still need clarification as to how the overall steps or process occurs.

    Also, we are wanting to change the metadata (artist and title) displayed on the device screen at the song transition point to the new metadata for the next track. We noticed that the metadata change comes at different times before the end of a song (sometimes 20 seconds and sometimes 30 seconds before the end of a track). Whats the best way to calculate when to change the screen data? Using the bitrate? and if so, whats the best way to calculate bitrate per steam?
    Last edited by SRS-EKern; 2012-03-20 at 13:03.
    Ethan Kern
    Satellite Radio Superstore
    TurnKey Media Solutions
    E-Channels Manager
    http://www.xm-radio-satellite.com/
    http://www.turnkeymediasolutions.com/

  8. #8
    Senior Member
    Join Date
    Oct 2005
    Location
    Ireland
    Posts
    11,253
    Quote Originally Posted by SRS-EKern View Post
    We now need to know about playing WMA streams. In sniffing packets we can see that multiple headers are sent. But how and why we don't understand. Any help here would be appreciated. We have looked at the Slim::Player::Protocols::MMS file and still need clarification as to how the overall steps or process occurs.
    The SB players do not implement mms transport protocol just http which is very similar for MP3 but the headers are different. The best way to see what is happening is to enable http logging on the server using player.streaming.direct to DEBUG

    Also, we are wanting to change the metadata (artist and title) displayed on the device screen at the song transition point to the new metadata for the next track. We noticed that the metadata change comes at different times before the end of a song (sometimes 20 seconds and sometimes 30 seconds before the end of a track). Whats the best way to calculate when to change the screen data? Using the bitrate? and if so, whats the best way to calculate bitrate per steam?
    You need to get v. familiar with http header.

    For http/mp3 and aac - metadata is done with icy protocol. Intervals between metadata is defined by icy-metaint header. Bitrate is given by icy-br header (or x-audiocast-bitrate for other formats). LMS server delays display of metadata on screen by estimating how much data ius buffered in player and bitrate of stream.

    This page gives some relevant info icyshout.sourceforge.net/oreilly-article/java-streaming-mp3-pt2/java-streaming-mp3-pt2.html but google for icy-metaint for other sites.

    IIRC When player is playing direct (esp WMA) metadata will be sent from player to LMS as player does decoding of the stream and extraction of metadata.

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •