Home of the Squeezebox™ & Transporter® network music players.
Page 1 of 2 12 LastLast
Results 1 to 10 of 14
  1. #1
    Senior Member
    Join Date
    Jan 2022
    Location
    Switzerland
    Posts
    146

    CLI to get stream rate, source ?

    Is there any command to get (PcP):
    - the radio name ?
    - the actual stream rate (from radio (ex 192kpbs) or USB storage) (tried songinfo bitrate ?) ?
    - the actual source (radio, USB or Airplay) ?

    Thanks

  2. #2
    Senior Member paul-'s Avatar
    Join Date
    Jan 2013
    Posts
    4,897
    No.

    This is all in the LMS server, you need to research that. Using dev tools on your browser while watching the LMS web interface, you can see the commands being used. But they will be using the jsonrpc interface.
    piCorePlayer a small player for the Raspberry Pi in RAM.
    Homepage: https://www.picoreplayer.org

    Please donate if you like the piCorePlayer

  3. #3
    Senior Member
    Join Date
    Oct 2005
    Location
    Ireland
    Posts
    21,827
    Try somehting like

    xx:yy:bd:2b:52:zz status - 1 tags:uBIrT

    Look at the documentation for the meaning of the tags.

    Not all information is available about all playing items.
    For example, sample rate is often not available for radio stations/streaming sources whereas bit rate is usually available.

    Radio name has no real meaning within LMS (they are usually marked as "remote" by LMS) - it is often an URL tagged as a Favorites or a Menu item. The data supplied by the station or the plugin (e.g. BBC Sounds) when streaming is all that available for streaming sources. Files may be different.

  4. #4
    Senior Member
    Join Date
    Jan 2022
    Location
    Switzerland
    Posts
    146
    Quote Originally Posted by bpa View Post
    Try somehting like

    xx:yy:bd:2b:52:zz status - 1 tags:uBIrT

    Look at the documentation for the meaning of the tags.

    Not all information is available about all playing items.
    For example, sample rate is often not available for radio stations/streaming sources whereas bit rate is usually available.

    Radio name has no real meaning within LMS (they are usually marked as "remote" by LMS) - it is often an URL tagged as a Favorites or a Menu item. The data supplied by the station or the plugin (e.g. BBC Sounds) when streaming is all that available for streaming sources. Files may be different.
    I made some tests wiht some tags:
    r give bitrate: most of the time it's 0. Rarely it's the real value.
    T give: most of the time 44100 (standard CD sampling rate, who give this value ? Pcp or the radio station??) ( 48000 sometimes). If the tag r give the real value no value for T.

    Is it possible to get the always the real value ? Because for all stations,
    on the LCD iafter pressing "+", choose "Tuneln radio Options", and "Choose stream". All streams available are displayed with the sampling rate. Most of the time it's 128, 256 or 320kbps.
    How to get this value because it's the real value and it's a good quality indicator.

    Thanks
    Last edited by PaulH; 2022-02-12 at 10:33.

  5. #5
    Senior Member
    Join Date
    Oct 2005
    Location
    Ireland
    Posts
    21,827
    Quote Originally Posted by PaulH View Post
    I make some tests wiht some tags:
    r give bitrate: most of the time it's 0. Rarely it's the real value.
    T give: most of the time 44100 (standard CD sampling rate, who give this value ? Pcp or the radio station??) ( 48000 sometimes). If the tag r give the real value no value for T.

    Is it possible to get the always the real value ? Because for all stations,
    on the LCD iafter pressing "+", choose "Tuneln radio Options", and "Choose stream". All streams available are displayed with the sampling rate. Most of the time it's 128, 256 or 320kbps.
    How to get this value because it's the real value and it's a good quality indicator.
    TBH I don't know, You may have to look through the UI code to be sure.
    Sometime the displayed bitrate is a string created by a plugin or an associated metadata helper and so may not be "correct" as plugin can created anything.

    edit:
    All streams available are displayed with the sampling rate. Most of the time it's 128, 256 or 320kbps.
    Just to clarify terminology. Sampling rate (tag 'T') is the number of samples per sec (i.e. Hz) which will normally be 44100, 48000, 96000 etc.
    Bit rate (tag 'r') is the data rate of the audio data stream and will be in bits per/sec (i.e bps or kbps).

    Code:
    my %tagMap = (
    	# Tag    Tag name             Token            Track method         Track field
    	#------------------------------------------------------------------------------
    	  'u' => ['url',              'LOCATION',      'url'],              #url
    	  'o' => ['type',             'TYPE',          'content_type'],     #content_type
    	                                                                    #titlesort
    	                                                                    #titlesearch
    	  'a' => ['artist',           'ARTIST',        'artistName'],       #->contributors
    	  'e' => ['album_id',         '',              'albumid'],          #album
    	  'l' => ['album',            'ALBUM',         'albumname'],        #->album.title
    	  't' => ['tracknum',         'TRACK',         'tracknum'],         #tracknum
    	  'n' => ['modificationTime', 'MODTIME',       'modificationTime'], #timestamp
    	  'D' => ['addedTime',        'ADDTIME',       'addedTime'],        #added_time
    	  'U' => ['lastUpdated',      'UPDTIME',       'lastUpdated'],      #updated_time
    	  'f' => ['filesize',         'FILELENGTH',    'filesize'],         #filesize
    	                                                                    #tag
    	  'i' => ['disc',             'DISC',          'disc'],             #disc
    	  'j' => ['coverart',         'SHOW_ARTWORK',  'coverArtExists'],   #cover
    	  'x' => ['remote',           '',              'remote'],           #remote
    	                                                                    #audio
    	                                                                    #audio_size
    	                                                                    #audio_offset
    	  'y' => ['year',             'YEAR',          'year'],             #year
    	  'd' => ['duration',         'LENGTH',        'secs'],             #secs
    	                                                                    #vbr_scale
    	  'r' => ['bitrate',          'BITRATE',       'prettyBitRate'],    #bitrate
    	  'T' => ['samplerate',       'SAMPLERATE',    'samplerate'],       #samplerate
    	  'I' => ['samplesize',       'SAMPLESIZE',    'samplesize'],       #samplesize
    	  'H' => ['channels',         'CHANNELS',      'channels'],         #channels
    	  'F' => ['dlna_profile',     'DLNA_PROFILE',  'dlna_profile'],     #dlna_profile
    	                                                                    #block_alignment
    	                                                                    #endian
    	  'm' => ['bpm',              'BPM',           'bpm'],              #bpm
    	  'v' => ['tagversion',       'TAGVERSION',    'tagversion'],       #tagversion
    	# 'z' => ['drm',              '',              'drm'],              #drm
    	  'M' => ['musicmagic_mixable', '',            'musicmagic_mixable'], #musicmagic_mixable
    	                                                                    #musicbrainz_id
    	                                                                    #lastplayed
    	                                                                    #lossless
    	  'w' => ['lyrics',           'LYRICS',        'lyrics'],           #lyrics
    	  'R' => ['rating',           'RATING',        'rating'],           #rating
    	  'O' => ['playcount',        'PLAYCOUNT',     'playcount'],        #playcOunt
    	  'Y' => ['replay_gain',      'REPLAYGAIN',    'replay_gain'],      #replay_gain
    	                                                                    #replay_peak
    
    	  'c' => ['coverid',          'COVERID',       'coverid'],          # coverid
    	  'K' => ['artwork_url',      '',              'coverurl'],         # artwork URL
    	  'B' => ['buttons',          '',              'buttons'],          # radio stream special buttons
    	  'L' => ['info_link',        '',              'info_link'],        # special trackinfo link for i.e. Pandora
    	  'N' => ['remote_title'],                                          # remote stream title
    	  'E' => ['extid',            '',              'extid'],            # a track's external identifier (eg. on an online music service)
    
    
    	# Tag    Tag name              Token              Relationship     Method          Track relationship
    	#--------------------------------------------------------------------------------------------------
    	  's' => ['artist_id',         '',                'artist',        'id'],           #->contributors
    	  'A' => ['<role>',            '<ROLE>',          'contributors',  'name'],         #->contributors[role].name
    	  'S' => ['<role>_ids',        '',                'contributors',  'id'],           #->contributors[role].id
    
    	  'q' => ['disccount',         '',                'album',         'discc'],        #->album.discc
    	  'J' => ['artwork_track_id',  'COVERART',        'album',         'artwork'],      #->album.artwork
    	  'C' => ['compilation',       'COMPILATION',     'album',         'compilation'],  #->album.compilation
    	  'X' => ['album_replay_gain', 'ALBUMREPLAYGAIN', 'album',         'replay_gain'],  #->album.replay_gain
    
    	  'g' => ['genre',             'GENRE',           'genre',         'name'],         #->genre_track->genre.name
    	  'p' => ['genre_id',          '',                'genre',         'id'],           #->genre_track->genre.id
    	  'G' => ['genres',            'GENRE',           'genres',        'name'],         #->genre_track->genres.name
    	  'P' => ['genre_ids',         '',                'genres',        'id'],           #->genre_track->genres.id
    
    	  'k' => ['comment',           'COMMENT',         'comment'],                       #->comment_object
    
    );
    
    # Map tag -> column to avoid a huge if-else structure
    my %colMap = (
    	g => 'genres.name',
    	G => 'genres',
    	p => 'genres.id',
    	P => 'genre_ids',
    	a => 'contributors.name',
    	's' => 'contributors.id',
    	l => 'albums.title',
    	e => 'tracks.album',
    	d => 'tracks.secs',
    	i => 'tracks.disc',
    	q => 'albums.discc',
    	t => 'tracks.tracknum',
    	y => 'tracks.year',
    	m => 'tracks.bpm',
    	M => sub { $_[0]->{'tracks.musicmagic_mixable'} ? 1 : 0 },
    	k => 'comment',
    	o => 'tracks.content_type',
    	v => 'tracks.tagversion',
    	r => sub { Slim::Schema::Track->buildPrettyBitRate( $_[0]->{'tracks.bitrate'}, $_[0]->{'tracks.vbr_scale'} ) },
    	f => 'tracks.filesize',
    	j => sub { $_[0]->{'tracks.cover'} ? 1 : 0 },
    	J => 'albums.artwork',
    	n => 'tracks.timestamp',
    	F => 'tracks.dlna_profile',
    	D => 'tracks.added_time',
    	U => 'tracks.updated_time',
    	C => sub { $_[0]->{'albums.compilation'} ? 1 : 0 },
    	Y => 'tracks.replay_gain',
    	X => 'albums.replay_gain',
    	R => 'tracks_persistent.rating',
    	O => 'tracks_persistent.playcount',
    	T => 'tracks.samplerate',
    	I => 'tracks.samplesize',
    	u => 'tracks.url',
    	w => 'tracks.lyrics',
    	x => sub { $_[0]->{'tracks.remote'} ? 1 : 0 },
    	c => 'tracks.coverid',
    	H => 'tracks.channels',
    	E => 'tracks.extid',
    );
    Last edited by bpa; 2022-02-12 at 10:28.

  6. #6
    Senior Member
    Join Date
    May 2008
    Location
    Canada
    Posts
    7,971
    Quote Originally Posted by bpa View Post
    TBH I don't know, You may have to look through the UI code to be sure.
    Sometime the displayed bitrate is a string created by a plugin or an associated metadata helper and so may not be "correct" as plugin can created anything.

    edit:


    Just to clarify terminology. Sampling rate (tag 'T') is the number of samples per sec (i.e. Hz) which will normally be 44100, 48000, 96000 etc.
    Bit rate (tag 'r') is the data rate of the audio data stream and will be in bits per/sec (i.e bps or kbps).

    Code:
    my %tagMap = (
    # Tag    Tag name             Token            Track method         Track field
    #------------------------------------------------------------------------------
      'u' => ['url',              'LOCATION',      'url'],              #url
      'o' => ['type',             'TYPE',          'content_type'],     #content_type
                                                                        #titlesort
                                                                        #titlesearch
      'a' => ['artist',           'ARTIST',        'artistName'],       #->contributors
      'e' => ['album_id',         '',              'albumid'],          #album
      'l' => ['album',            'ALBUM',         'albumname'],        #->album.title
      't' => ['tracknum',         'TRACK',         'tracknum'],         #tracknum
      'n' => ['modificationTime', 'MODTIME',       'modificationTime'], #timestamp
      'D' => ['addedTime',        'ADDTIME',       'addedTime'],        #added_time
      'U' => ['lastUpdated',      'UPDTIME',       'lastUpdated'],      #updated_time
      'f' => ['filesize',         'FILELENGTH',    'filesize'],         #filesize
                                                                        #tag
      'i' => ['disc',             'DISC',          'disc'],             #disc
      'j' => ['coverart',         'SHOW_ARTWORK',  'coverArtExists'],   #cover
      'x' => ['remote',           '',              'remote'],           #remote
                                                                        #audio
                                                                        #audio_size
                                                                        #audio_offset
      'y' => ['year',             'YEAR',          'year'],             #year
      'd' => ['duration',         'LENGTH',        'secs'],             #secs
                                                                        #vbr_scale
      'r' => ['bitrate',          'BITRATE',       'prettyBitRate'],    #bitrate
      'T' => ['samplerate',       'SAMPLERATE',    'samplerate'],       #samplerate
      'I' => ['samplesize',       'SAMPLESIZE',    'samplesize'],       #samplesize
      'H' => ['channels',         'CHANNELS',      'channels'],         #channels
      'F' => ['dlna_profile',     'DLNA_PROFILE',  'dlna_profile'],     #dlna_profile
                                                                        #block_alignment
                                                                        #endian
      'm' => ['bpm',              'BPM',           'bpm'],              #bpm
      'v' => ['tagversion',       'TAGVERSION',    'tagversion'],       #tagversion
    # 'z' => ['drm',              '',              'drm'],              #drm
      'M' => ['musicmagic_mixable', '',            'musicmagic_mixable'], #musicmagic_mixable
                                                                        #musicbrainz_id
                                                                        #lastplayed
                                                                        #lossless
      'w' => ['lyrics',           'LYRICS',        'lyrics'],           #lyrics
      'R' => ['rating',           'RATING',        'rating'],           #rating
      'O' => ['playcount',        'PLAYCOUNT',     'playcount'],        #playcOunt
      'Y' => ['replay_gain',      'REPLAYGAIN',    'replay_gain'],      #replay_gain
                                                                        #replay_peak
    
      'c' => ['coverid',          'COVERID',       'coverid'],          # coverid
      'K' => ['artwork_url',      '',              'coverurl'],         # artwork URL
      'B' => ['buttons',          '',              'buttons'],          # radio stream special buttons
      'L' => ['info_link',        '',              'info_link'],        # special trackinfo link for i.e. Pandora
      'N' => ['remote_title'],                                          # remote stream title
      'E' => ['extid',            '',              'extid'],            # a track's external identifier (eg. on an online music service)
    
    
    # Tag    Tag name              Token              Relationship     Method          Track relationship
    #--------------------------------------------------------------------------------------------------
      's' => ['artist_id',         '',                'artist',        'id'],           #->contributors
      'A' => ['<role>',            '<ROLE>',          'contributors',  'name'],         #->contributors[role].name
      'S' => ['<role>_ids',        '',                'contributors',  'id'],           #->contributors[role].id
    
      'q' => ['disccount',         '',                'album',         'discc'],        #->album.discc
      'J' => ['artwork_track_id',  'COVERART',        'album',         'artwork'],      #->album.artwork
      'C' => ['compilation',       'COMPILATION',     'album',         'compilation'],  #->album.compilation
      'X' => ['album_replay_gain', 'ALBUMREPLAYGAIN', 'album',         'replay_gain'],  #->album.replay_gain
    
      'g' => ['genre',             'GENRE',           'genre',         'name'],         #->genre_track->genre.name
      'p' => ['genre_id',          '',                'genre',         'id'],           #->genre_track->genre.id
      'G' => ['genres',            'GENRE',           'genres',        'name'],         #->genre_track->genres.name
      'P' => ['genre_ids',         '',                'genres',        'id'],           #->genre_track->genres.id
    
      'k' => ['comment',           'COMMENT',         'comment'],                       #->comment_object
    
    );
    
    # Map tag -> column to avoid a huge if-else structure
    my %colMap = (
    g => 'genres.name',
    G => 'genres',
    p => 'genres.id',
    P => 'genre_ids',
    a => 'contributors.name',
    's' => 'contributors.id',
    l => 'albums.title',
    e => 'tracks.album',
    d => 'tracks.secs',
    i => 'tracks.disc',
    q => 'albums.discc',
    t => 'tracks.tracknum',
    y => 'tracks.year',
    m => 'tracks.bpm',
    M => sub { $_[0]->{'tracks.musicmagic_mixable'} ? 1 : 0 },
    k => 'comment',
    o => 'tracks.content_type',
    v => 'tracks.tagversion',
    r => sub { Slim::Schema::Track->buildPrettyBitRate( $_[0]->{'tracks.bitrate'}, $_[0]->{'tracks.vbr_scale'} ) },
    f => 'tracks.filesize',
    j => sub { $_[0]->{'tracks.cover'} ? 1 : 0 },
    J => 'albums.artwork',
    n => 'tracks.timestamp',
    F => 'tracks.dlna_profile',
    D => 'tracks.added_time',
    U => 'tracks.updated_time',
    C => sub { $_[0]->{'albums.compilation'} ? 1 : 0 },
    Y => 'tracks.replay_gain',
    X => 'albums.replay_gain',
    R => 'tracks_persistent.rating',
    O => 'tracks_persistent.playcount',
    T => 'tracks.samplerate',
    I => 'tracks.samplesize',
    u => 'tracks.url',
    w => 'tracks.lyrics',
    x => sub { $_[0]->{'tracks.remote'} ? 1 : 0 },
    c => 'tracks.coverid',
    H => 'tracks.channels',
    E => 'tracks.extid',
    );
    Quite frequently, these informations are not available to plugins, so they are incorrect or missing.

    I’ve tried to make them available for most streaming services and plugins can use that when they use the built-in remote scanner but they don’t/can’t always.

    For example, in some of my more exotics plugins, it’s adts frames which are directly received and these can be read directly by non-SB players. If the metatdata does not give those informations, then you have to unpack at least one adts frame and I can understand why not everybody does it.
    LMS 8.2 on Odroid-C4 - SqueezeAMP!, 5xRadio, 5xBoom, 2xDuet, 1xTouch, 1xSB3. Sonos PLAY:3, PLAY:5, Marantz NR1603, Foobar2000, ShairPortW, 2xChromecast Audio, Chromecast v1 and v2, Squeezelite on Pi, Yamaha WX-010, AppleTV 4, Airport Express, GGMM E5, RivaArena 1 & 3

  7. #7
    Senior Member
    Join Date
    Jan 2022
    Location
    Switzerland
    Posts
    146
    Quote Originally Posted by philippe_44 View Post
    Quite frequently, these informations are not available to plugins, so they are incorrect or missing.

    I’ve tried to make them available for most streaming services and plugins can use that when they use the built-in remote scanner but they don’t/can’t always.

    For example, in some of my more exotics plugins, it’s adts frames which are directly received and these can be read directly by non-SB players. If the metatdata does not give those informations, then you have to unpack at least one adts frame and I can understand why not everybody does it.

    Thanks philippe_44 and bpa !

    I was wondering if it was possible for the plugin to get this value (bit rate) through a backdoor because this value exists (on the LCD press "+", choose "Tuneln radio Options", and "Choose stream".) ?
    Thanks

  8. #8
    Senior Member
    Join Date
    Oct 2005
    Location
    Ireland
    Posts
    21,827
    Quote Originally Posted by PaulH View Post
    I was wondering if it was possible for the plugin to get this value (bit rate) through a backdoor because this value exists (on the LCD press "+", choose "Tuneln radio Options", and "Choose stream".) ?
    No.

    The info from the UI is part of the UI - plugins (or internal LMS for native streams) provides info which is stored as part of a LMS track/song object as well as metadata when playing. The tags are used to retrieve specific data from the track/Song object.

    Please give specific example of URL where info through "more" menu (or default WebGUI LHS when playing) is better than what is provided through tags.

    edit:

    As you can see from code snippet the bitrate (tag 'r') is a string which is composed to be "pretty".
    Code:
    r => sub { Slim::Schema::Track->buildPrettyBitRate( $_[0]->{'tracks.bitrate'}, $_[0]->{'tracks.vbr_scale'} ) },
    Last edited by bpa; 2022-02-13 at 02:19.

  9. #9
    Senior Member
    Join Date
    Oct 2005
    Location
    Ireland
    Posts
    21,827
    JSON request are the same the CLI just packedged using HTTP.

    To see what JSON requests the Material UI is using. Open the Material UI with the command below and all JSON request/response will be logged to the Browser Web developer console.
    Code:
    http://localhost:9000/material/?debug=json
    Replace localhost with IP address of LMS server if necessary

    Example below of playing a RadioFrance station and looking at "More"

    Code:
    [09:35:27] JSON UPDATING (00:04:20:16:07:0e) material.min.js:236:300
    [09:35:27] JSON REQ: ["00:04:20:16:07:0e",["status","-",1,"tags:cdegiloqrstuyAABKNST"]] material.min.js:236:300
    [09:35:27] JSON PLAYER (00:04:20:16:07:0e): {"player_ip":"192.168.0.49:53704","power":1,"remote":1,"playlist repeat":0,"playlist mode":"off","signalstrength":0,"player_name":"Squeezebox Receiver","mode":"play","current_title":"franceinter-hifi.aac","playlist_tracks":1,"mixer volume":50,"player_connected":1,"playlist shuffle":0,"rate":1,"playlist_cur_index":"0","seq_no":0,"playlist_loop":[{"type":"aac","samplerate":"48000","bitrate":"128kbps CBR","album":"Bruno Patino : \"Face à la fatigue collective, il faudrait ménager du silence\"","id":"-93963708846232","year":"0","duration":"2829","url":"http://icecast.radiofrance.fr/franceinter-hifi.aac","coverid":"-93963708846232","playlist index":0,"artwork_url":"/imageproxy/http%3A%2F%2Foblique.radiofrance.fr%2Ffiles%2Fcharte%2Flogos%2Fpng600%2FFranceInter.png/image.png","title":"L'embellie"}],"playlist_timestamp":1644744921.32209,"time":5.52668807029724,"remoteMeta":{"id":"-93963708846232","title":"L'embellie","coverid":"-93963708846232","duration":"2829","album":"Bruno Patino : \"Face à la fatigue collective, il faudrait ménager du silence\"","type":"aac","bitrate":"128kbps CBR","url":"http://icecast.radiofrance.fr/franceinter-hifi.aac","year":"0","artwork_url":"/imageproxy/http%3A%2F%2Foblique.radiofrance.fr%2Ffiles%2Fcharte%2Flogos%2Fpng600%2FFranceInter.png/image.png","samplerate":"48000"},"digital_volume_control":1} material.min.js:236:300
    [09:35:32] JSON UPDATING (00:04:20:16:07:0e) material.min.js:236:300
    [09:35:32] JSON REQ: ["00:04:20:16:07:0e",["status","-",1,"tags:cdegiloqrstuyAABKNST"]] material.min.js:236:300
    [09:35:32] JSON PLAYER (00:04:20:16:07:0e): {"player_ip":"192.168.0.49:53704","power":1,"remote":1,"playlist mode":"off","signalstrength":0,"playlist repeat":0,"player_name":"Squeezebox Receiver","mode":"play","current_title":"franceinter-hifi.aac","playlist_tracks":1,"mixer volume":50,"player_connected":1,"rate":1,"playlist shuffle":0,"playlist_cur_index":"0","seq_no":0,"playlist_loop":[{"year":"0","duration":"2829","album":"Bruno Patino : \"Face à la fatigue collective, il faudrait ménager du silence\"","type":"aac","bitrate":"128kbps CBR","samplerate":"48000","id":"-93963708846232","title":"L'embellie","coverid":"-93963708846232","url":"http://icecast.radiofrance.fr/franceinter-hifi.aac","artwork_url":"/imageproxy/http%3A%2F%2Foblique.radiofrance.fr%2Ffiles%2Fcharte%2Flogos%2Fpng600%2FFranceInter.png/image.png","playlist index":0}],"playlist_timestamp":1644744921.32209,"time":10.5386320533752,"remoteMeta":{"id":"-93963708846232","title":"L'embellie","coverid":"-93963708846232","duration":"2829","album":"Bruno Patino : \"Face à la fatigue collective, il faudrait ménager du silence\"","type":"aac","bitrate":"128kbps CBR","url":"http://icecast.radiofrance.fr/franceinter-hifi.aac","year":"0","artwork_url":"/imageproxy/http%3A%2F%2Foblique.radiofrance.fr%2Ffiles%2Fcharte%2Flogos%2Fpng600%2FFranceInter.png/image.png","samplerate":"48000"},"digital_volume_control":1} material.min.js:236:300
    [09:35:37] JSON UPDATING (00:04:20:16:07:0e) material.min.js:236:300
    [09:35:37] JSON REQ: ["00:04:20:16:07:0e",["status","-",1,"tags:cdegiloqrstuyAABKNST"]] material.min.js:236:300
    [09:35:37] JSON PLAYER (00:04:20:16:07:0e): {"playlist_cur_index":"0","playlist shuffle":0,"rate":1,"seq_no":0,"playlist_loop":[{"duration":"2829","year":"0","id":"-93963708846232","type":"aac","samplerate":"48000","bitrate":"128kbps CBR","album":"Bruno Patino : \"Face à la fatigue collective, il faudrait ménager du silence\"","title":"L'embellie","playlist index":0,"artwork_url":"/imageproxy/http%3A%2F%2Foblique.radiofrance.fr%2Ffiles%2Fcharte%2Flogos%2Fpng600%2FFranceInter.png/image.png","url":"http://icecast.radiofrance.fr/franceinter-hifi.aac","coverid":"-93963708846232"}],"remoteMeta":{"id":"-93963708846232","title":"L'embellie","coverid":"-93963708846232","duration":"2829","album":"Bruno Patino : \"Face à la fatigue collective, il faudrait ménager du silence\"","type":"aac","bitrate":"128kbps CBR","url":"http://icecast.radiofrance.fr/franceinter-hifi.aac","year":"0","artwork_url":"/imageproxy/http%3A%2F%2Foblique.radiofrance.fr%2Ffiles%2Fcharte%2Flogos%2Fpng600%2FFranceInter.png/image.png","samplerate":"48000"},"playlist_timestamp":1644744921.32209,"time":15.551132101059,"digital_volume_control":1,"power":1,"player_ip":"192.168.0.49:53704","remote":1,"playlist mode":"off","signalstrength":0,"playlist repeat":0,"player_name":"Squeezebox Receiver","mode":"play","current_title":"franceinter-hifi.aac","playlist_tracks":1,"player_connected":1,"mixer volume":50} material.min.js:236:300
    [09:35:42] JSON UPDATING (00:04:20:16:07:0e) material.min.js:236:300
    [09:35:42] JSON REQ: ["00:04:20:16:07:0e",["status","-",1,"tags:cdegiloqrstuyAABKNST"]] material.min.js:236:300
    [09:35:42] JSON PLAYER (00:04:20:16:07:0e): {"playlist_loop":[{"title":"L'embellie","playlist index":0,"artwork_url":"/imageproxy/http%3A%2F%2Foblique.radiofrance.fr%2Ffiles%2Fcharte%2Flogos%2Fpng600%2FFranceInter.png/image.png","url":"http://icecast.radiofrance.fr/franceinter-hifi.aac","coverid":"-93963708846232","duration":"2829","year":"0","id":"-93963708846232","bitrate":"128kbps CBR","samplerate":"48000","type":"aac","album":"Bruno Patino : \"Face à la fatigue collective, il faudrait ménager du silence\""}],"seq_no":0,"playlist_cur_index":"0","rate":1,"playlist shuffle":0,"digital_volume_control":1,"remoteMeta":{"id":"-93963708846232","title":"L'embellie","coverid":"-93963708846232","duration":"2829","album":"Bruno Patino : \"Face à la fatigue collective, il faudrait ménager du silence\"","type":"aac","bitrate":"128kbps CBR","url":"http://icecast.radiofrance.fr/franceinter-hifi.aac","year":"0","artwork_url":"/imageproxy/http%3A%2F%2Foblique.radiofrance.fr%2Ffiles%2Fcharte%2Flogos%2Fpng600%2FFranceInter.png/image.png","samplerate":"48000"},"playlist_timestamp":1644744921.32209,"time":20.5689081859589,"player_name":"Squeezebox Receiver","playlist mode":"off","playlist repeat":0,"signalstrength":0,"remote":1,"power":1,"player_ip":"192.168.0.49:53704","player_connected":1,"mixer volume":50,"playlist_tracks":1,"mode":"play","current_title":"franceinter-hifi.aac"} material.min.js:236:300
    [09:35:47] JSON UPDATING (00:04:20:16:07:0e) material.min.js:236:300
    [09:35:47] JSON REQ: ["00:04:20:16:07:0e",["status","-",1,"tags:cdegiloqrstuyAABKNST"]] material.min.js:236:300
    [09:35:47] JSON PLAYER (00:04:20:16:07:0e): {"player_name":"Squeezebox Receiver","playlist mode":"off","signalstrength":0,"playlist repeat":0,"remote":1,"player_ip":"192.168.0.49:53704","power":1,"mixer volume":50,"player_connected":1,"playlist_tracks":1,"current_title":"franceinter-hifi.aac","mode":"play","playlist_loop":[{"year":"0","duration":"2829","bitrate":"128kbps CBR","samplerate":"48000","type":"aac","album":"Bruno Patino : \"Face à la fatigue collective, il faudrait ménager du silence\"","id":"-93963708846232","title":"L'embellie","url":"http://icecast.radiofrance.fr/franceinter-hifi.aac","coverid":"-93963708846232","playlist index":0,"artwork_url":"/imageproxy/http%3A%2F%2Foblique.radiofrance.fr%2Ffiles%2Fcharte%2Flogos%2Fpng600%2FFranceInter.png/image.png"}],"seq_no":0,"playlist shuffle":0,"rate":1,"playlist_cur_index":"0","digital_volume_control":1,"playlist_timestamp":1644744921.32209,"time":25.5846841049194,"remoteMeta":{"id":"-93963708846232","title":"L'embellie","coverid":"-93963708846232","duration":"2829","album":"Bruno Patino : \"Face à la fatigue collective, il faudrait ménager du silence\"","type":"aac","bitrate":"128kbps CBR","url":"http://icecast.radiofrance.fr/franceinter-hifi.aac","year":"0","artwork_url":"/imageproxy/http%3A%2F%2Foblique.radiofrance.fr%2Ffiles%2Fcharte%2Flogos%2Fpng600%2FFranceInter.png/image.png","samplerate":"48000"}} material.min.js:236:300

  10. #10
    Babelfish's Best Boy mherger's Avatar
    Join Date
    Apr 2005
    Location
    Switzerland
    Posts
    20,749

    CLI to get stream rate, source ?

    > Please give specific example of URL where info through "more" menu (or
    > default WebGUI LHS when playing) is better than what is provided through
    > tags.


    And please explain why you'd trust that menu more than you would trust
    the extracted headers. IIRC that menu comes from TuneIn - who is NOT the
    streaming service. The streaming service should know better.

Posting Permissions

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