PDA

View Full Version : Streaming mpeg audio from sat receiver doesn't work



LegaxyTRX
2008-02-03, 14:52
Suck,

sometimes You try to get something to work and it just doesn't fall into places. Maybe You can give me some advice.

The idea is instead to use the low bitrate streams from the world wide wait, why not using the 320kbps bitstreams from the sat receiver.

They are send as
Codec: mpga
Type: Audio
Channels: 2
Sample rate: 48000
Bitrate: 320kbps

Streaming from the sat receiver to winamp on the PC works without a flaw: http://satboxip/audio.pls
Tuning in via the slimcenter does only come with nothing to play ...

The pls file contains:
[playlist]
File1=http://192.168.1.111:31343/8d
Title1=B5 aktuell
Length1=-1
NumberOfEntries=1
Version=2

Any help, also how to debug this, is appreciated.

Frank

LegaxyTRX
2008-02-03, 16:00
Hi,

here some logging I did on the streaming server side:

Adding song index 0 to song queue
Clearing out song queue first
streamingSongIndex: Song queue is now 0
Playlist: Jumping to song index: 0
new playlistindex: 0
SELECT me.id, me.url, me.content_type, me.title, me.titlesort, me.titlesearch, me.album, me.tracknum, me.timestamp, me.filesize, me.disc, me.thumb, me.remote, me.audio, me.audio_size, me.audio_offset, me.year, me.secs, me.cover, me.vbr_scale, me.bitrate, me.samplerate, me.samplesize, me.channels, me.block_alignment, me.endian, me.bpm, me.tagversion, me.drm, me.musicmagic_mixable, me.musicbrainz_id, me.playcount, me.lastplayed, me.lossless, me.lyrics, me.rating, me.replay_gain, me.replay_peak FROM tracks me WHERE ( url = ? ): 'http://192.168.1.110/audio.pls'
sending squeezebox frame: grfe, length: 1116
Select: [IO::Socket::INET=GLOB(0x660563c)] Wrote 1122 bytes
[norm] set Slim::Display::Display::endAnimation, in 9.99998307228088 sec
scanRemoteURL: opening remote location http://192.168.1.110/audio.pls
Select: [Slim::Networking::Async::Socket::HTTP=GLOB(0x5ce09 cc)] Adding error -> Slim::Networking::Async::_connect_error
Select: [Slim::Networking::Async::Socket::HTTP=GLOB(0x5ce09 cc)] Adding write -> Slim::Networking::Async::_async_connect
[norm] set Slim::Networking::Async::_connect_error, in 4.99997687339783 sec
Request: Command [00:04:20:12:55:f7->playlist play] (Dispatchable)
Param: [_item] = [http://192.168.1.110/audio.pls]
generating from tunein.html type: fill
found path: C:\Program Files\SlimServer\server\HTML\EN\tunein.html
idleStreams: select_time: 0, checkTimers: 1
Select: [HTTP::Daemon::ClientConn=GLOB(0x663b958)] Adding write -> Slim::Web::HTTP::sendResponse
End request: keepAlive: [21] - waiting for next request for HTTP::Daemon::ClientConn=GLOB(0x663b958) on connection = keep-alive

select_time: 0.210061073303223
Select: [HTTP::Daemon::ClientConn=GLOB(0x663b958)] write, calling Slim::Web::HTTP::sendResponse
Sent 284 to 127.0.0.1
More to send to 127.0.0.1
Select: [Slim::Networking::Async::Socket::HTTP=GLOB(0x5ce09 cc)] write, calling Slim::Networking::Async::_async_connect
[norm] Killed 1 timer(s) for Slim::Networking::Async::Socket::HTTP=GLOB(0x5ce09 cc) / Slim::Networking::Async::_connect_error
Select: [Slim::Networking::Async::Socket::HTTP=GLOB(0x5ce09 cc)] Removing error
Select: [Slim::Networking::Async::Socket::HTTP=GLOB(0x5ce09 cc)] Removing write
Select: [Slim::Networking::Async::Socket::HTTP=GLOB(0x5ce09 cc)] Adding error -> Slim::Networking::Async::_async_error
Select: [Slim::Networking::Async::Socket::HTTP=GLOB(0x5ce09 cc)] Adding read -> Slim::Networking::Async::_async_read
Select: [Slim::Networking::Async::Socket::HTTP=GLOB(0x5ce09 cc)] Wrote 216 bytes
[norm] set Slim::Networking::Async::_async_error, in 4.99992609024048 sec
select_time: 0.204792976379395
Select: [HTTP::Daemon::ClientConn=GLOB(0x663b958)] write, calling Slim::Web::HTTP::sendResponse
Sent 6288 to 127.0.0.1
No more messages to send to 127.0.0.1
select_time: 0.202225923538208
Select: [HTTP::Daemon::ClientConn=GLOB(0x663b958)] write, calling Slim::Web::HTTP::sendResponse
No segment to send to 127.0.0.1, waiting for next request..
Select: [HTTP::Daemon::ClientConn=GLOB(0x663b958)] Removing write
select_time: 0.200823068618774
Select: [Slim::Networking::Async::Socket::HTTP=GLOB(0x5ce09 cc)] read, calling Slim::Networking::Async::_async_read
[norm] Killed 1 timer(s) for Slim::Networking::Async::Socket::HTTP=GLOB(0x5ce09 cc) / Slim::Networking::Async::_async_error
Select: [Slim::Networking::Async::Socket::HTTP=GLOB(0x5ce09 cc)] Removing error
Select: [Slim::Networking::Async::Socket::HTTP=GLOB(0x5ce09 cc)] Removing read
Merging entry for http://192.168.1.110/audio.pls readTags is: [1]
Updating http://192.168.1.110/audio.pls : year to 0
Updating http://192.168.1.110/audio.pls : remote to 1
Updating http://192.168.1.110/audio.pls : rating to 0
-- Track is a remote track
-- Track has 0 contributor(s)
scanRemoteURL: Content-Type is audio/mpegfile for http://192.168.1.110/audio.pls
UPDATE tracks SET content_type = ? WHERE ( id = ? ): 'audio/mpegfile', '227'
Merging entry for http://192.168.1.110/audio.pls readTags is: [0]
Updating http://192.168.1.110/audio.pls : year to 0
Updating http://192.168.1.110/audio.pls : content_type to pls
Updating http://192.168.1.110/audio.pls : remote to 1
Updating http://192.168.1.110/audio.pls : rating to 0
-- Track is a remote track
-- Track has 0 contributor(s)
UPDATE tracks SET content_type = ? WHERE ( id = ? ): 'pls', '227'
Content type for http://192.168.1.110/audio.pls is cached as pls
scanRemoteURL: found that http://192.168.1.110/audio.pls is a playlist
SELECT me.id, me.url, me.content_type, me.title, me.titlesort, me.titlesearch, me.album, me.tracknum, me.timestamp, me.filesize, me.disc, me.thumb, me.remote, me.audio, me.audio_size, me.audio_offset, me.year, me.secs, me.cover, me.vbr_scale, me.bitrate, me.samplerate, me.samplesize, me.channels, me.block_alignment, me.endian, me.bpm, me.tagversion, me.drm, me.musicmagic_mixable, me.musicbrainz_id, me.playcount, me.lastplayed, me.lossless, me.lyrics, me.rating, me.replay_gain, me.replay_peak FROM tracks me WHERE ( url = ? ): 'http://192.168.1.110/audio.pls'
Select: [Slim::Networking::Async::Socket::HTTP=GLOB(0x5ce09 cc)] Adding error -> Slim::Networking::Async::HTTP::_http_socket_error
Select: [Slim::Networking::Async::Socket::HTTP=GLOB(0x5ce09 cc)] Adding read -> Slim::Networking::Async::HTTP::_http_read_body
select_time: 0.165900945663452
Select: [Slim::Networking::Async::Socket::HTTP=GLOB(0x5ce09 cc)] read, calling Slim::Networking::Async::HTTP::_http_read_body
[norm] set Slim::Networking::Async::HTTP::_http_read_timeout, in 4.99998497962952 sec
select_time: 0.163786888122559
Select: [Slim::Networking::Async::Socket::HTTP=GLOB(0x5ce09 cc)] read, calling Slim::Networking::Async::HTTP::_http_read_body
[norm] Killed 1 timer(s) for Slim::Networking::Async::Socket::HTTP=GLOB(0x5ce09 cc) / Slim::Networking::Async::HTTP::_http_read_timeout
Select: [Slim::Networking::Async::Socket::HTTP=GLOB(0x5ce09 cc)] Removing error
Select: [Slim::Networking::Async::Socket::HTTP=GLOB(0x5ce09 cc)] Removing read
Select: [Slim::Networking::Async::Socket::HTTP=GLOB(0x5ce09 cc)] Removing write
Select: [Slim::Networking::Async::Socket::HTTP=GLOB(0x5ce09 cc)] removing writeNoBlock queue
parseList (type: pls): http://192.168.1.110/audio.pls
Parsing playlist: http://192.168.1.110/audio.pls
Parsing line: [playlist]
Parsing line: File1=http://192.168.1.110:31343/8d
Parsing line: Title1=B5 aktuell
Parsing line: Length1=-1
Parsing line: NumberOfEntries=1
Parsing line: Version=2
SELECT me.id, me.url, me.content_type, me.title, me.titlesort, me.titlesearch, me.album, me.tracknum, me.timestamp, me.filesize, me.disc, me.thumb, me.remote, me.audio, me.audio_size, me.audio_offset, me.year, me.secs, me.cover, me.vbr_scale, me.bitrate, me.samplerate, me.samplesize, me.channels, me.block_alignment, me.endian, me.bpm, me.tagversion, me.drm, me.musicmagic_mixable, me.musicbrainz_id, me.playcount, me.lastplayed, me.lossless, me.lyrics, me.rating, me.replay_gain, me.replay_peak FROM tracks me WHERE ( url = ? ): 'http://192.168.1.110:31343/8d'
_checkValidity: Checking to see if http://192.168.1.110:31343/8d has changed.
Merging entry for http://192.168.1.110:31343/8d readTags is: [1]
Updating http://192.168.1.110:31343/8d : title to B5 aktuell
Updating http://192.168.1.110:31343/8d : year to 0
Updating http://192.168.1.110:31343/8d : remote to 1
Updating http://192.168.1.110:31343/8d : titlesearch to B5 AKTUELL
Updating http://192.168.1.110:31343/8d : titlesort to B5 AKTUELL
Updating http://192.168.1.110:31343/8d : rating to 0
-- Track is a remote track
-- Track has 0 contributor(s)
DELETE FROM playlist_track WHERE ( playlist = ? ): '227'
INSERT INTO playlist_track (playlist, position, track) VALUES (?, ?, ?): '227', '0', '228'
idleStreams: select_time: 0, checkTimers: 1
ERROR: Can't call method "print" on an undefined value at C:\Program Files\SlimServer\server\CPAN/DBIx/Class/Storage/Statistics.pm line 65.

bpa
2008-02-03, 16:06
If you are using slimserver 6.5.x then enable d_source as the debug flag.

Then use you URL http://192.168.1.111:31343/8d in the Tune-in box. Do not bother with pls.

Post the log.

LegaxyTRX
2008-02-04, 00:54
Hi,

I just switched on the d_source flag:

songTime: rate:1 -songtime:0 -startStream:0
songTime: rate:1 -songtime:0 -startStream:0
songTime: rate:1 -songtime:0 -startStream:0
songTime: rate:1 -songtime:0 -startStream:0
songTime: rate:1 -songtime:0 -startStream:0
00:04:20:12:55:f7: Switching to mode stop from stop
Backtrace:

frame 0: Slim::Player::Source::playmode (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Control/Commands.pm line 878)
frame 1: Slim::Control::Commands::playlistXitemCommand (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Control/Request.pm line 1483)
frame 2: (eval) (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Control/Request.pm line 1483)
frame 3: Slim::Control::Request::execute (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Control/Request.pm line 772)
frame 4: Slim::Control::Request::executeRequest (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Player/Client.pm line 467)
frame 5: Slim::Player::Client::execute (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Web/Pages.pm line 571)
frame 6: Slim::Web::Pages::tuneIn (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Web/HTTP.pm line 843)
frame 7: Slim::Web::HTTP::generateHTTPResponse (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Web/HTTP.pm line 709)
frame 8: Slim::Web::HTTP::processURL (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Web/HTTP.pm line 555)
frame 9: Slim::Web::HTTP::processHTTP (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Networking/Select.pm line 238)
frame 10: (eval) (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Networking/Select.pm line 238)
frame 11: Slim::Networking::Select::select (slimserver.pl line 499)
frame 12: main::idle (slimserver.pl line 42)
frame 13: PerlSvc::Startup (perlsvc line 850)
frame 14: PerlSvc::_startup (slimserver.pl line 0)
frame 15: (eval) (slimserver.pl line 0)

Already in playmode stop : ignoring mode change
Adding song index 0 to song queue
Clearing out song queue first
streamingSongIndex: Song queue is now 0
songTime: rate:1 -songtime:0 -startStream:0
songTime: rate:1 -songtime:0 -startStream:0
songTime: rate:1 -songtime:0 -startStream:0
songTime: rate:1 -songtime:0 -startStream:0

bpa
2008-02-04, 01:37
Both these logs seem to confirm that the URL is not responding to the initial HTTP request.


Select: [Slim::Networking::Async::Socket::HTTP=GLOB(0x5ce09 cc)] read, calling Slim::Networking::Async::HTTP::_http_read_body
[norm] Killed 1 timer(s) for Slim::Networking::Async::Socket::HTTP=GLOB(0x5ce09 cc) / Slim::Networking::Async::HTTP::_http_read_timeout


Either there is some protection issue or the sat receiver doesn't "understand" the request from SS.
What OS are you using ?
What firewall s/w ?
Are SS firewall settings different to Winamp ?

Since Winamp works - you should find out what Winamp knows about the stream (e.g. protocol, ports, etc)

LegaxyTRX
2008-02-04, 02:39
Hi,

the configuration I am having is the following:

PC, Vista = 192.168.1.103, hosts slimserver 6.5.4,
Firewall off
Satreceiver = Dreambox = 192.168.1.111
Winamp runs on the Vista PC

Is there somewhere a desciption of the debugging commands of
the slimserver?


I have logged the winamp output:

main debug: adding playlist item `C:\Users\HSP_FM~1\AppData\Local\Temp\audio-10.pls' ( C:\Users\HSP_FM~1\AppData\Local\Temp\audio-10.pls )
main debug: creating new input thread
main debug: waiting for thread completion
main debug: drive letter C: found in source
main debug: `C:\Users\HSP_FM~1\AppData\Local\Temp\audio-10.pls' gives access `' demux `' path `C:\Users\HSP_FM~1\AppData\Local\Temp\audio-10.pls'
main debug: creating demux: access='' demux='' path='C:\Users\HSP_FM~1\AppData\Local\Temp\audio-10.pls'
main debug: looking for access_demux module: 1 candidate
main debug: creating access '' path='C:\Users\HSP_FM~1\AppData\Local\Temp\audio-10.pls'
main debug: looking for access2 module: 5 candidates
vcd debug: trying .cue file: C:\Users\HSP_FM~1\AppData\Local\Temp\audio-10.cue
vcd debug: could not find .cue file
access_file debug: opening file `C:\Users\HSP_FM~1\AppData\Local\Temp\audio-10.pls'
main debug: using access2 module "access_file"
main debug: pre-buffering...
main debug: received first data for our buffer
main debug: creating demux: access='' demux='' path='C:\Users\HSP_FM~1\AppData\Local\Temp\audio-10.pls'
main debug: looking for demux2 module: 45 candidates
playlist debug: found valid PLS playlist file
main debug: using demux2 module "playlist"
main debug: looking for a subtitle file in C:\Users\HSP_FM~1\AppData\Local\Temp\
main debug: `C:\Users\HSP_FM~1\AppData\Local\Temp\audio-10.pls' successfully opened
playlist debug: starting playlist playback
playlist warning: couldn't find number of items
playlist debug: pls file version: 2
main debug: thread 4216 (input) created at priority 1 (input/input.c:265)
main debug: adding playlist item `B5 aktuell' ( http://192.168.1.111:31343/8d )
main debug: EOF reached
main debug: closing input
main debug: removing module "playlist"
main debug: removing module "access_file"
main debug: thread times: real 0m0.253000s, kernel 0m0.000000s, user 0m0.031200s
main debug: thread 4216 joined (input/input.c:412)
main warning: refcount is 1, delaying before deletion (id=431,type=-7)
main debug: creating new input thread
main debug: waiting for thread completion
main debug: thread 4216 (input) created at priority 1 (input/input.c:265)
main debug: `http://192.168.1.111:31343/8d' gives access `http' demux `' path `192.168.1.111:31343/8d'
main debug: creating demux: access='http' demux='' path='192.168.1.111:31343/8d'
main debug: looking for access_demux module: 0 candidates
main warning: no access_demux module matched "http"
main debug: creating access 'http' path='192.168.1.111:31343/8d'
main debug: looking for access2 module: 7 candidates
access_http debug: http: server='192.168.1.111' port=31343 file='/8d
main debug: net: connecting to 192.168.1.111 port 31343
main debug: connection in progress
access_http debug: protocol 'HTTP' answer code 200
access_http debug: Server: d-Box network
main debug: using access2 module "access_http"
main debug: pre-buffering...
main debug: received first data for our buffer
main debug: pre-buffering done 17844 bytes in 2s - 8 kbytes/s
main debug: creating demux: access='http' demux='' path='192.168.1.111:31343/8d'
main debug: looking for demux2 module: 45 candidates
main debug: looking for packetizer module: 17 candidates
main debug: using packetizer module "mpeg_audio"
mpeg_audio debug: MPGA channels:1 samplerate:48000 bitrate:128
main debug: selecting program id=0
main debug: looking for id3 module: 1 candidate
id3tag debug: checking for ID3 tag
main debug: using id3 module "id3tag"
main debug: removing module "id3tag"
main debug: using demux2 module "mpga"
main debug: looking for a subtitle file in C:\Program Files\Mozilla Firefox\
main debug: looking for decoder module: 28 candidates
main debug: using decoder module "mpeg_audio"
main debug: thread 4480 (decoder) created at priority 2 (input/decoder.c:159)
main debug: `http://192.168.1.111:31343/8d' successfully opened
mpeg_audio debug: MPGA channels:1 samplerate:48000 bitrate:128
main debug: looking for audio output module: 3 candidates
aout_directx debug: OpenAudio
aout_directx debug: found device: Primary Sound Driver
aout_directx debug: found device: Headset Earphone (10- Logitech USB Headset)
aout_directx debug: found device: SPDIF Out (Creative SB X-Fi)
aout_directx debug: found device: Speakers (Creative SB X-Fi)
aout_directx debug: device supports 2 channels
aout_directx debug: device supports 1 channel
aout_directx debug: creating DirectSoundThread
main debug: thread 4324 (DirectSound Notification Thread) created at priority 15 (directx.c:372)
main debug: using audio output module "aout_directx"
main debug: output 's16l' 48000 Hz Stereo/Mono frame=1 samples/4 bytes
main debug: mixer 'fl32' 48000 Hz Stereo/Mono frame=1 samples/8 bytes
main debug: filter(s) 'fl32'->'s16l' 48000 Hz->48000 Hz Stereo/Mono->Stereo/Mono
main debug: looking for audio filter module: 24 candidates
aout_directx debug: DirectSoundThread ready
main debug: using audio filter module "float32tos16"
main debug: found a filter for the whole conversion
main debug: looking for audio mixer module: 3 candidates
main debug: using audio mixer module "trivial_mixer"
main debug: input 'mpga' 48000 Hz Mono frame=1152 samples/1161 bytes
main debug: filter(s) 'mpga'->'fl32' 48000 Hz->48000 Hz Mono->Stereo/Mono
main debug: looking for audio filter module: 24 candidates
main debug: looking for audio filter module: 24 candidates
main debug: using audio filter module "mpgatofixed32"
main debug: looking for audio filter module: 24 candidates
main debug: using audio filter module "trivial_channel_mixer"
main debug: found 2 filters for the whole conversion
main debug: filter(s) 'fl32'->'fl32' 52800 Hz->48000 Hz Stereo/Mono->Stereo/Mono
main debug: looking for audio filter module: 24 candidates
main debug: using audio filter module "bandlimited_resampler"
main debug: found a filter for the whole conversion
main debug: audio output is too slow (123000), trashing 50000us
main debug: audio output is too slow (73000), trashing 50000us
main warning: output date isn't PTS date, requesting resampling (73000)
main warning: buffer is 73000 late, triggering upsampling
main warning: resampling stopped after 13026000 usec (drift: 584)

bpa
2008-02-04, 03:05
I think output of Dreambox is mpeg-2 and not MP3 - so you will need another app (e.g.mnplayer, vlc) to decode the stream.

Usage of slimserver. To see if responding use d_http_async.



Usage: ./slimserver.pl [--audiodir <dir>] [--playlistdir <dir>] [--diag] [--daemon] [--stdio] [--logfile <logfilepath>]
[--user <username>]
[--group <groupname>]
[--httpport <portnumber> [--httpaddr <listenip>]]
[--cliport <portnumber> [--cliaddr <listenip>]]
[--priority <priority>]
[--prefsfile <prefsfilepath> [--pidfile <pidfilepath>]]
[--perfmon] [--perfwarn=<threshold>]
[--d_various]

--help => Show this usage information.
--audiodir => The path to a directory of your MP3 files.
--playlistdir => The path to a directory of your playlist files.
--cachedir => Directory for SlimServer to save cached music and web data
--diag => Use diagnostics, shows more verbose errors. Also slows down library processing considerably
--logfile => Specify a file for error logging.
--noLogTimestamp => Don't add timestamp to log output
--daemon => Run the server in the background.
This may only work on Unix-like systems.
--stdio => Use standard in and out as a command line interface
to the server
--user => Specify the user that server should run as.
Only usable if server is started as root.
This may only work on Unix-like systems.
--group => Specify the group that server should run as.
Only usable if server is started as root.
This may only work on Unix-like systems.
--httpport => Activate the web interface on the specified port.
Set to 0 in order disable the web server.
--httpaddr => Activate the web interface on the specified IP address.
--cliport => Activate the command line interface TCP/IP interface
on the specified port. Set to 0 in order disable the
command line interface server.
--cliaddr => Activate the command line interface TCP/IP
interface on the specified IP address.
--prefsfile => Specify the path of the the preferences file
--pidfile => Specify where a process ID file should be stored
--quiet => Minimize the amount of text output
--playeraddr => Specify the _server's_ IP address to use to connect
to Slim players
--priority => set process priority from -20 (high) to 20 (low)
--streamaddr => Specify the _server's_ IP address to use to connect
to streaming audio sources
--nosetup => Disable setup via http.
--noserver => Disable web access server settings, but leave player settings accessible. Settings changes arenot preserved.
--noupnp => Disable UPnP subsystem
--perfmon => Enable internal server performance monitoring
--perfwarn => Generate log messages if internal tasks take longer than specified threshold

The following are debugging flags which will print various information
to the console via stderr:

--d_artwork => Display information on artwork display
--d_cli => Display debugging information for the
command line interface interface
--d_client => Display per-client debugging.
--d_command => Display internal command execution
--d_control => Low level player control information
--d_datamodel => Data model search and field mapping debugging
--d_directstream => Debugging info on direct streaming
--d_display => Show what (should be) on the player's display
--d_factorytest => Information used during factory testing
--d_favorites => Information about favorite tracks
--d_files => Files, paths, opening and closing
--d_firmware => Information during Squeezebox firmware updates
--d_formats => Information about importing data from various file formats
--d_graphics => Information bitmap graphic display
--d_http => HTTP activity
--d_http_async => AsyncHTTP activity
--d_http_verbose => Even more HTTP activity
--d_info => MP3/ID3 track information
--d_import => Information on external data import
--d_ir => Infrared activity
--d_irtm => Infrared activity diagnostics
--d_itunes => iTunes synchronization information
--d_itunes_verbose => verbose iTunes Synchronization information
--d_mdns => Multicast DNS aka Zeroconf aka Rendezvous information
--d_memory => Turns on memory debugging interface - developers only.
--d_musicmagic => MusicMagic synchronization information
--d_mp3 => MP3 frame detection
--d_mysql => MySQL Process Information
--d_os => Operating system detection information
--d_paths => File path processing information
--d_parse => Playlist parsing information
--d_playlist => High level playlist and control information
--d_plugins => Show information about plugins
--d_protocol => Client protocol information
--d_prefs => Preferences file information
--d_remotestream => Information about remote HTTP streams and playlists
--d_scan => Information about scanning directories and filelists
--d_scheduler => Internal scheduler information
--d_select => Information about the select process
--d_server => Basic server functionality
--d_slimproto => Slimproto debugging information
--d_slimproto_v => Slimproto verbose debugging information
--d_source => Information about source audio files and conversion
--d_source_v => Verbose information about source audio files
--d_sql => Verbose SQL debugging
--d_stdio => Standard I/O command debugging
--d_startup => Startup/Bootstrap debugging for @INC
--d_stream => Information about player streaming protocol
--d_stream_v => Verbose information about player streaming protocol
--d_sync => Information about multi player synchronization
--d_sync_v => Verbose information about multi player synchronization
--d_time => Internal timer information
--d_ui => Player user interface information
--d_upnp => UPnP device information
--d_usage => Display buffer usage codes on the player's display

LegaxyTRX
2008-02-04, 03:22
Hi,

what I want to see from the slim server is something
similiar like:

access_http debug: http: server='192.168.1.111' port=31343 file='/8d
main debug: net: connecting to 192.168.1.111 port 31343
main debug: connection in progress
access_http debug: protocol 'HTTP' answer code 200

as from winamp. How can this be debugged?

Frank

LegaxyTRX
2008-02-04, 03:42
Hi,

did now the d_http_async trace:

Backtrace:

frame 0: Slim::Player::Source::playmode (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Control/Commands.pm line 878)
frame 1: Slim::Control::Commands::playlistXitemCommand (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Control/Request.pm line 1483)
frame 2: (eval) (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Control/Request.pm line 1483)
frame 3: Slim::Control::Request::execute (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Control/Request.pm line 772)
frame 4: Slim::Control::Request::executeRequest (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Player/Client.pm line 467)
frame 5: Slim::Player::Client::execute (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Web/Pages.pm line 571)
frame 6: Slim::Web::Pages::tuneIn (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Web/HTTP.pm line 843)
frame 7: Slim::Web::HTTP::generateHTTPResponse (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Web/HTTP.pm line 709)
frame 8: Slim::Web::HTTP::processURL (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Web/HTTP.pm line 555)
frame 9: Slim::Web::HTTP::processHTTP (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Networking/Select.pm line 238)
frame 10: (eval) (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Networking/Select.pm line 238)
frame 11: Slim::Networking::Select::select (slimserver.pl line 499)
frame 12: main::idle (slimserver.pl line 42)
frame 13: PerlSvc::Startup (perlsvc line 850)
frame 14: PerlSvc::_startup (slimserver.pl line 0)
frame 15: (eval) (slimserver.pl line 0)

Already in playmode stop : ignoring mode change
Adding song index 0 to song queue
Clearing out song queue first
streamingSongIndex: Song queue is now 0
Async: Connecting to 192.168.1.111:31343
Async: connected, ready to write request
Async: Sending:
GET /8d HTTP/1.1
Connection: close
Cache-Control: no-cache
Accept: */*
Host: 192.168.1.111:31343
User-Agent: iTunes/4.7.1 (Windows; N; Windows Vista; 586; EN; cp1252) SlimServer/6.5.4/12568
Icy-Metadata: 1

Async::HTTP: Headers read. code: 200 status: OK
bless({ server => "d-Box network" }, "HTTP::Headers")

-----------------------
So, everthing seems to work, just the audio needs to be handled then. There is no plugin to make the slimserver also to handle mpeg audio 2?

Frank

bpa
2008-02-04, 03:52
You need to find an application that can "play" your stream and output WAV - typically ffmpeg, mplayer or VLC.

Do you have any of those installed ?

LegaxyTRX
2008-02-04, 05:33
Hi,

well I have VLC installed. I try now to fetch the HTTP stream from the dreambox and stream it on port 1234 of the Vista box.
So fine so good. Options I am using:

VLC stream output:
Output: Play locally and http://192.168.1.103:1234
Encapsulation methode: ASF
Transcoding options: audio, mp3, 128kbps, channels 2

Resulting in the MRL:
:sout=#transcode{acodec=mp3,ab=128,channels=2}:dup licate{dst=display,dst=std{access=http,mux=asf,dst =192.168.1.103:1234}}

Using a second instance shows that audio is streamed on 1234.

Okay, step2 Tune in with slimserver gives following output
Stopping and clearing out old chunks for client 00:04:20:12:55:f7
Resetting song queue
resetSongQueue: Song queue is now 0
00:04:20:12:55:f7: Current playmode: stop
Adding song index 0 to song queue
Clearing out song queue first
streamingSongIndex: Song queue is now 0
00:04:20:12:55:f7: Switching to mode play from stop
Backtrace:

frame 0: Slim::Player::Source::playmode (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Player/Source.pm line 1036)
frame 1: Slim::Player::Source::jumpto (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Control/Commands.pm line 593)
frame 2: Slim::Control::Commands::playlistJumpCommand (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Control/Request.pm line 1483)
frame 3: (eval) (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Control/Request.pm line 1483)
frame 4: Slim::Control::Request::execute (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Control/Request.pm line 772)
frame 5: Slim::Control::Request::executeRequest (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Player/Client.pm line 467)
frame 6: Slim::Player::Client::execute (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Buttons/Playlist.pm line 287)
frame 7: Slim::Buttons::Playlist::__ANON__ (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Hardware/IR.pm line 830)
frame 8: Slim::Hardware::IR::executeButton (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Control/Commands.pm line 148)
frame 9: Slim::Control::Commands::buttonCommand (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Control/Request.pm line 1483)
frame 10: (eval) (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Control/Request.pm line 1483)
frame 11: Slim::Control::Request::execute (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Control/Request.pm line 772)
frame 12: Slim::Control::Request::executeRequest (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Player/Client.pm line 467)
frame 13: Slim::Player::Client::execute (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Hardware/IR.pm line 844)
frame 14: Slim::Hardware::IR::processCode (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Hardware/IR.pm line 700)
frame 15: Slim::Hardware::IR::releaseCode (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Hardware/IR.pm line 517)
frame 16: Slim::Hardware::IR::checkRelease (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Utils/Timers.pm line 182)
frame 17: (eval) (/<C:\Program Files\SlimServer\server\slim.exe>Slim/Utils/Timers.pm line 182)
frame 18: Slim::Utils::Timers::checkTimers (slimserver.pl line 502)
frame 19: main::idle (slimserver.pl line 42)
frame 20: PerlSvc::Startup (perlsvc line 850)
frame 21: PerlSvc::_startup (slimserver.pl line 0)
frame 22: (eval) (slimserver.pl line 0)

openSong on: mms://192.168.1.103:1234/
undermax = 1, type = wma, squeezebox2 = 00:04:20:12:55:f7
checking formats for: wma-wma-squeezebox2-00:04:20:12:55:f7
checking formats for: wma-wma-*-00:04:20:12:55:f7
checking formats for: wma-wma-squeezebox2-*
Checking to see if wma-wma-squeezebox2-* is enabled
enabled
Found command: -
Matched Format: wma Type: wma Command: -
00:04:20:12:55:f7 New play mode: play
undermax = 1, type = wma, squeezebox2 = 00:04:20:12:55:f7
checking formats for: wma-wma-squeezebox2-00:04:20:12:55:f7
checking formats for: wma-wma-*-00:04:20:12:55:f7
checking formats for: wma-wma-squeezebox2-*
Checking to see if wma-wma-squeezebox2-* is enabled
enabled
Found command: -
Matched Format: wma Type: wma Command: -
00:04:20:12:55:f7: Current playmode: play
songTime: rate:1 -songtime:0 -startStream:0
songTime: rate:1 -songtime:0 -startStream:0
Buffering... 0 / 20480
Buffering... 0 / 20480
Buffering... 4480 / 20480
Buffering... 8576 / 20480
Buffering... 8576 / 20480
Buffering... 12672 / 20480
Buffering... 12672 / 20480
Buffering... 16768 / 20480
Buffering... 16768 / 20480
Buffering... 20400 / 20480
Buffering... 19875 / 20480
Buffering... 23450 / 20480

Alright, this looks much better.
But then ...
No audio. The Squeezebox just shows now playing 0:00
Nothing else.

Closer, but not close enough :-) Any input what options I need
to transcode with?

Frank

bpa
2008-02-04, 06:05
Accoreding to you VLC sout you are outputting MP3 but the url you using has mms:// which imples wma.

You should be using a http:// url with an sout for mp3.

LegaxyTRX
2008-02-04, 06:56
Hmm, that needs some more thinking, since I seem to get VLC problems now.

What encapsultation methode should be used for the slim device?
Raw?

Thanks for the help, by the way...

Frank

Output from VLC:
stream_out_standard debug: creating `http/raw://http://192.168.1.103:36000'
stream_out_standard debug: extension is 103:36000
stream_out_standard debug: extension -> mux=(null)
stream_out_standard debug: using `http/raw://http://192.168.1.103:36000'
main debug: looking for sout access module: 1 candidate
main: creating httpd
main debug: net: listening to http port 8080
main error: Cannot resolve http port 8080 : Host or service not found
main error: cannot create socket(s) for HTTP host
access_output_http error: cannot listen on http:8080
main warning: no sout access module matching "http" could be loaded
stream_out_standard error: no suitable sout access module for `http/raw://http://192.168.1.103:36000'
main warning: no sout stream module matching "std" could be loaded
main debug: destroying chain... (name=std)
main debug: destroying chain done
stream_out_duplicate error: no destination given
main warning: no sout stream module matching "duplicate" could be loaded
main debug: destroying chain... (name=duplicate)
main debug: destroying chain done
stream_out_transcode error: cannot create chain
main warning: no sout stream module matching "transcode" could be loaded
main debug: destroying chain... (name=transcode)
main debug: destroying chain done
main error: stream chain failed for `transcode{acodec=mp3,ab=128,channels=2}:duplicate {dst=std{access=http,mux=raw,dst=http://192.168.1.103:36000}}'
main error: cannot start stream output instance, aborting
main debug: thread times: real 0m2.728000s, kernel 0m0.031200s, user 0m0.015600s
main debug: thread 4988 joined (input/input.c:412)
main: nothing to play

bpa
2008-02-04, 08:02
I am not very familiar with VLC but it looks like it is having problems loading a http module. Possibly you have specified http twice in the output.

so instead of
dst=std{access=http,mux=raw,dst=http://192.168.1.103:36000}
try
dst=std{access=http,mux=raw,dst=:36000/audio.mp3}

and stream from the IP address of system running VLC as
http://<PCIPaddress>:36000/audio.mp3

LegaxyTRX
2008-02-04, 12:57
Obviously Your knowledge in VLC is much better than mine.

So with:

vlc http://192.168.1.111:31343/150 --sout '#transcode{acodec=mp3,ab=192,channels=2}:std{acce ss=http,mux=raw,dst=:1234/audio.mp3}'

VLC takes the Dreambox Mpeg2 Audio stream and transcodes it and
makes it available as http stream on port 1234.
So tuning in with the slim server on http://vlcipaddress:1234/audio.mp3 makes the stream come true :-).

Thanks again for the support.

Frank

boomlumpi
2009-01-12, 15:19
Thanks for your hint for my command line search.
I only want to stream the audio to my device.
So I used:

vlc movie.mp4 --sout '#transcode{acodec=mp3,ab=192,channels=2}:std{acce ss=http,mux=raw,dst=localhost:1234/audio.mp3}'

It should create a streaming server but it creates only errors:

[00000419] access_output_file access out error: cannot open `localhost:1234/audio.mp3' (No such file or directory)
[00000417] stream_out_standard stream out error: no suitable sout access module for `file/raw://localhost:1234/audio.mp3'
[00000414] stream_out_transcode stream out error: cannot create chain
[00000413] main stream output error: stream chain failed for `transcode{acodec=mp3,ab=192,channels=2}:std{acce ss=http,mux=raw,dst=localhost:1234/audio.mp3}'
[00000412] main input error: cannot start stream output instance, aborting

I Think this ist caused beacause a user isn't allowed to open a port under linux. But starting with sudo also doesnt work?

LegaxyTRX
2009-01-13, 13:33
Hi,

I relaised that You might have found a spelling mistake for the line I pasted:
It states:
vlc http://192.168.1.111:31343/150 --sout '#transcode{acodec=mp3,ab=192,channels=2}:std{acce ss=http,mux=raw,dst=:1234/audio.mp3}'

but it should state:
access not acce ss

Does that help?

Frank

boomlumpi
2009-01-19, 13:57
Thank you very much,

copy paste the greatest achievement since use of computers ;-)
Becaus of this procedure i am a bit closer to my aim.
I simply want one vlc server which streams the audio and views the video
I thought the following would do but I hear the audio and don't see the video

vlc -vvv movie.mp4
--sout '#duplicate{dst=display,dst="transcode{acodec=mp3,vb=128}
:standard{access=http,mux=raw,dst=xxx.xxx.xxx.xxx: 1234/audio.mp3}"}'