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!
Results 1 to 8 of 8
Thread: Help With URL & stream_s
-
2012-03-07, 11:24 #1
Help With URL & stream_s
Ethan Kern
Satellite Radio Superstore
TurnKey Media Solutions
E-Channels Manager
http://www.xm-radio-satellite.com/
http://www.turnkeymediasolutions.com/
-
2012-03-09, 08:48 #2
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/
-
2012-03-09, 09:25 #3
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
-
2012-03-09, 09:50 #4Senior 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 ?
-
2012-03-09, 11:21 #5
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/
-
2012-03-09, 12:16 #6Senior 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.
-
2012-03-20, 12:48 #7
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/
-
2012-03-20, 13:36 #8Senior Member
- Join Date
- Oct 2005
- Location
- Ireland
- Posts
- 11,253
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
You need to get v. familiar with http header.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?
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.

Reply With Quote

