Home of the Squeezebox™ & Transporter® network music players.
Page 1 of 34 12311 ... LastLast
Results 1 to 10 of 1929

Hybrid View

  1. #1
    Senior Member
    Join Date
    May 2008
    Location
    Canada
    Posts
    7,565

    ANNOUNCE: AirPlay Bridge = integrate AirPlay devices with LMS (squeeze2raop)

    After lots of tests and help (especially from epoch, thanks!) here is a new bridge that allows AirPlay devices (speakers and a lot of AV amplifier from Marantz, Denon ...) to be used as if they were regular LMS players. Compared to my other bridges, it brings replaygain, gapless, fading (in/out/cross) and ... what was the most important for me: synchronization with other LMS players.

    • It does decode ogg, ogf, ops, mp3, flac, aac, alac, wav, pcm and aif, does the resample and then sends the audio in AirPlay expected format (plain PCM or encoded ALAC).
    • It consumes 5~7% of CPU for a raspi 2B per active AirPlay device
    • There are versions for Windows, Linux x86 (32 and 64 bits) and ARM, OSX
    • It can run on LMS or on another computer on your network (for example you can dedicate a raspi as the bridge and forget about it)
    • You need to add firewall rules to let squeeze2raop (-win or -x86 or -x86_64 or -armv6hf) open the ports he needs. They can be set to a base+count or can be left dynamic. In Windows, just set a rule to authorize squeeze2raop-win.exe (in the plugin cache directory)

    The stable version is now part of the 3rd party plugin built-in list, so you should find it in the plugins page. If you want to test the development version (there is not always one on-going), just add the following repository

    Code:
    http://downloads.sourceforge.net/project/lms-plugins-philippe44/dev/repo-sf.xml
    This plugin *requires* SSL to stream HTTPS directly and pair with AppleTV so make sure it's installed on your LMS server. Not a problem for Windows, OSX, most Linux x86, Raspberry pi, Cubie, Odroid and others that use a Debian-based, but can be problematic with some NAS. I don't have a perfect guide, so please refer to your NAS forum, but most of the recent NAS firmware update include SSL as well, so that might be all that is required.

    Other than that, Perl must have SSL support enabled, which again is available in all recent distribution and LMS versions (I think). But in case of problem and for Debian-ish Linux, you can try "sudo apt-get install libio-socket-ssl-perl libnet-ssleay-perl" at any command prompt. Here is as well the link to the original thread http://forums.slimdevices.com/showth...l=1#post631449

    Other tips

    • For shairport-based players (ShairportW, Kodi) and cheap chinese knock-off (GGMM and many others) you must enable encryption
    • If the player seems to be un-responsive, before de-activating/re-activating the whole plugin, you can try to switch it off/on in LMS
    • One of my player takes a lot of time to start playing (>5s and volume changes interrupt playback - itunes gives the same result, so I assume this is a player problem. So be patient if the volume does not comes right after playback. Other players will start and when this one joins the group, it will be in sync
    • With docker, network must be set to 'host' mode
    • HomePod require "Send LMS metadata to player" to be enabled in plugin's settings and for recent iOS, "Allow Speaker and TV Access" shall be set to "Anyone On The Same Network" in device's settings
    • Read the User's Guide which is accessible in the Settings

    Debug HELP

    Folks, if you want help, you must post here the LMS version you're using, the OS and CPU. Then you must take a log of the bridge (go to the plugin's settings in LMS settings, tab advanced, it's self-explanatory).
    I won't be able to help and I will not answer dry questions like "it does not work"


    Advanced information

    The "binary helper" is an independent application that is the *real* bridge. The LMS plugin part does not do much other than offering a UI to edit config files (and has a special role for AppleTV). So you can run that binary helper on *any* computer/Pi on your network, it does not have to run together with LMS. The compromise is that you will have to edit manually the XML config file. A version with detected players can be generated automatically using the -i option, but after that you're on your own. Refer to user guide for more details.
    Last edited by philippe_44; 2021-05-12 at 08:04.
    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

  2. #2
    Senior Member
    Join Date
    Apr 2008
    Location
    France
    Posts
    2,272

    sf.net raining on the parade

    Booohoohoohoooo... I've removed my dev install and now I get redirection limit exceeded when I try any of the 2 repo urls
    (so LMS always wants to restart to finish install and fails and asks again for a restart...)

    I messed about with things like "curl http://iweb.dl.sourceforge.net/projects/lms-to-raop/dev/repo-sf.xml" until I landed on the final redirection, in my case "http://freefr.dl.sourceforge.net/project/lms-to-raop/dev/repo-sf.xml" --as of right now. Don't try this URL.
    But the problem is that your repo file contains a link to iweb for the zip file...

    Sourceforge is in a serious state of flux, shall we say...
    Perhaps it's time to revert to manual install instructions?

    I'll try again later, perhaps the weather will clear up a little bit. But I thought I'd post in case others encounter an issue with installing.

    (BTW, since I can't really live without the plugin, I started my test machine which still has dev-11... I noticed your sox magic does not seem to work with remote library URLs.)
    Last edited by epoch1970; 2016-02-16 at 04:06.
    2 SB 3 • 1 PCP 7 • Libratone Loop, Zipp, Zipp Mini • iPeng (iPhone + iPad) • LMS 8.1 (docker) with plugins: CD Player, WaveInput by bpa • Material Skin by Craig Drummond • IRBlaster by Gwendesign (Felix) • Smart Mix, Music Walk With Me, What Was That Tune? by Michael Herger • PowerSave by Jason Holtzapple • Song Info, Song Lyrics by Erland Isaksson • BBC Sounds by Stuart McLean • AirPlay Bridge by philippe_44 • Auto Dim Display, SaverSwitcher, ContextMenu by Peter Watkins.

  3. #3
    Senior Member
    Join Date
    Feb 2008
    Posts
    5,294
    Using version 0.1.0.1 (no idea anymore if it's the stable or dev !!!) - but still getting the sound loss after random time, with restart stream recovering the sound.
    ------------------------------------------------------------------------------------

  4. #4
    Senior Member
    Join Date
    Apr 2008
    Location
    France
    Posts
    2,272
    Something I did to find the "right" value of player audio delay: I created an AIFF file with alternating 2secs L/R tones, for a total length of 60 secs.
    I set an SB3 to play only the right channel, [I wanted to do the opposite with the software player but I always got both channels output] I half-unplugged the audio cord on my Airport Express to output the left channel only.
    Then I synced the group, played the file in loop and fiddled with the audio delay slider on the software player.
    Until you reach the right value to your setup and ears, you'll hear a silence gap and/or both sources at the same time.
    To my surprise, the right value for this device was around 400ms (nearly 50ms higher than I thought)
    I don't know what you think of the idea but if felt I needed some help in assessing the right audio delay.

    EDIT. Since we are knee-deep into psychoacoustics, another remark, but within the same post
    I have 1 source to the left of a small room where I am sitting and 1 source on the right, nearby. Speaker systems are *not* the same. Sync is perfect but I can feel the "stage" shifting from left to right (and back) from time to time. Yeah, I know that's scary... I think (not verified) this is related to 10ms player sync adjustment events within LMS. 10ms is the minimum value in the web interface. Is it possible to go lower?
    Please disregard if this doesn't make sense.
    Last edited by epoch1970; 2016-02-16 at 08:12.
    2 SB 3 • 1 PCP 7 • Libratone Loop, Zipp, Zipp Mini • iPeng (iPhone + iPad) • LMS 8.1 (docker) with plugins: CD Player, WaveInput by bpa • Material Skin by Craig Drummond • IRBlaster by Gwendesign (Felix) • Smart Mix, Music Walk With Me, What Was That Tune? by Michael Herger • PowerSave by Jason Holtzapple • Song Info, Song Lyrics by Erland Isaksson • BBC Sounds by Stuart McLean • AirPlay Bridge by philippe_44 • Auto Dim Display, SaverSwitcher, ContextMenu by Peter Watkins.

  5. #5
    Senior Member
    Join Date
    May 2008
    Location
    Canada
    Posts
    7,565
    Quote Originally Posted by epoch1970 View Post
    Booohoohoohoooo... I've removed my dev install and now I get redirection limit exceeded when I try any of the 2 repo urls
    (so LMS always wants to restart to finish install and fails and asks again for a restart...)

    Sourceforge is in a serious state of flux, shall we say...
    Perhaps it's time to revert to manual install instructions?
    (BTW, since I can't really live without the plugin, I started my test machine which still has dev-11...
    Damm it ... there is no 's' on /project/ and I had to do that mistake on that 1st post of that thread

    I noticed your sox magic does not seem to work with remote library URLs.)
    I don't quite understand

    I have 1 source to the left of a small room where I am sitting and 1 source on the right, nearby. Speaker systems are *not* the same. Sync is perfect but I can feel the "stage" shifting from left to right (and back) from time to time. Yeah, I know that's scary... I think (not verified) this is related to 10ms player sync adjustment events within LMS. 10ms is the minimum value in the web interface. Is it possible to go lower?
    Please disregard if this doesn't make sense.
    There is another option which is to indicate to LMS that each "sampling point" are not 'fully' accurate and must be averaged out. This is an option you can set when the player is being registered. The result is probably that LMS will do adjustement more slowly but that would prevent that effect from happening. Today, I can't do below 10ms as I'm using "sample point" every 8 ms to LMS, so ther accuracy is +/-8ms. Again, mean is centered but if you take every point for an accurate value, then LMS might do shift a bit too often (you can see in the log that there are often adjustement of "skip 441 frames = 441/44100 = 10ms)
    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

  6. #6
    Senior Member
    Join Date
    Apr 2008
    Location
    France
    Posts
    2,272
    First thing first, 0.1.0.2-dev-1 works great for me.

    Quote Originally Posted by philippe_44 View Post
    There is another option which is to indicate to LMS that each "sampling point" are not 'fully' accurate and must be averaged out. This is an option you can set when the player is being registered. The result is probably that LMS will do adjustement more slowly but that would prevent that effect from happening...
    I have looked into the logs, and I can correlate the audible "soundstage shifts" in my sync group (SB3 and AE, wired, 3 meters apart) to Slim::Player::StreamingController::_CheckSync "resync:" events.

    I noticed that when the SB3 resyncs, typically at the beginning of a song, usually no audible shift happen afterwards. If the software player resyncs first at the beginning of a song, usually the SB3 will resync moments later, with an audible shift.
    With the SB3, resync logging and audible shift happen at the same time. With the software player, the audible effect seems to be delayed by the value of the network buffer option.
    I also looked at an SB3 sync group, one wired and one wifi; resync events are a rarity, even over track changes.

    I tried setting the "Minimum Synchronization Adjustment (ms)" option to 1000 on my software player to see the typical values of "playPoints:", then set it to 30ms, most playPoints being under this value. This removed the audible "shifts", but degraded sync quality.

    The exercise is probably vain. With sources something about 6 m. apart instead of 3 m., when a sync event happens I cannot perceive any audible shift. And I ran this test on my "soft" LMS VM machine anyway.

    I did not resist ordering a Zipp mini any longer... Can't wait to put it in service as a stand-alone squeezebox
    2 SB 3 • 1 PCP 7 • Libratone Loop, Zipp, Zipp Mini • iPeng (iPhone + iPad) • LMS 8.1 (docker) with plugins: CD Player, WaveInput by bpa • Material Skin by Craig Drummond • IRBlaster by Gwendesign (Felix) • Smart Mix, Music Walk With Me, What Was That Tune? by Michael Herger • PowerSave by Jason Holtzapple • Song Info, Song Lyrics by Erland Isaksson • BBC Sounds by Stuart McLean • AirPlay Bridge by philippe_44 • Auto Dim Display, SaverSwitcher, ContextMenu by Peter Watkins.

  7. #7
    Junior Member
    Join Date
    Mar 2017
    Posts
    9

    no sound on apple TV after 90s streaming

    Hello Philippe,

    First, thanks a lot for all the work you do on plugins, this is amazing :-)
    I have a an issue with streaming to an apple TV gen 4. It streams just fine but the sound stops after 90s. I can see in LMS the stream continues playing but no sound.
    A pause/play or switching to another songs solve the issue but only for 90s.
    LMS can stream fine to another client with no interuption. Airplay also works fine on the apple TV from an iOS device.
    Changing source to radio or deezer does not help, same behaviour.
    I launched squeeze2raop from command line but I see no sign of anything going wrong.

    Any idea what could be wrong ? I tried activating more logs but again no luck ....

    Thanks in advance for any help you can provide

    Code:
    root@omv:/var/lib/squeezeboxserver/cache/InstalledPlugins/Plugins/RaopBridge/Bin# ./squeeze2raop-x86-64-static
    [12:02:32.810454] main:1306 Starting squeeze2raop version: v0.2.1.3 (Feb 20 2017 @ 19:17:23)
    
    [12:02:32.810636] main:1309 
    
    !!!!!!!!!!!!!!!!!! ERROR LOADING CONFIG FILE !!!!!!!!!!!!!!!!!!!!!
    
    [12:04:47.848286] AddRaopDevice:792 [0xa680c0]: adding renderer (Apple-TV)
    [12:04:47.852908] output_raop_thread_init:135 [0xa0d900]: init output raop
    [12:04:47.853004] output_init_common:290 allocating 1764000
    [12:04:47.854086] slimproto_thread_init:930 [0xa0d900] connecting to 192.168.1.252:3483
    [12:04:47.855257] slimproto:839 [0xa0d900] connected
    [12:04:47.855357] sendHELO:107 [0xa0d900] cap: Model=squeezelite,ModelName=SqueezeLite,AccuratePlayPoints=1,HasDigitalOut=0,MaxSampleRate=0,flc,pcm,aif,aac,mp3
    [12:04:47.858697] PlayerThread:497 [0xa680c0]: processing volume: 50 (-15.00)
    [12:05:38.558307] PlayerThread:483 [0xa680c0]: flushing ...
    [12:05:38.821252] PlayerThread:497 [0xa680c0]: processing volume: 50 (-15.00)
    [12:05:38.832403] process_strm:228 [0xa0d900] strm command s
    [12:05:38.832487] process_strm:302 [0xa0d900], strm s autostart: 3 transition period: 10 transition type: 0 codec: m
    [12:05:38.832789] sq_callback:333 [0xa680c0]: codec:m, ch:255, s:255, r:255
    [12:05:38.832910] PlayerThread:465 [0xa680c0]: raop connecting ...
    [12:05:38.837059] raopcl_connect:1051 [0x7f4454000d10]: local interface 192.168.1.252
    [12:05:39.008538] PlayerThread:469 [0xa680c0]: raop connected
    [12:05:39.008694] PlayerThread:497 [0xa680c0]: processing volume: 50 (-15.00)
    [12:05:39.068298] raopcl_accept_frames:496 [0x7f4454000d10]: begining to stream hts:0 (ofs:0) n:3698305539.293324791
    [12:05:39.077321] raopcl_accept_frames:509 [0x7f4454000d10]: restarting w/o pause n:3698305539.293324791, hts:163095274272911
    [12:05:39.087558] _output_frames:53 [0xa0d900]: start buffer frames: 19055
    [12:05:39.087692] _output_frames:100 [0xa0d900]: track start sample rate: 44100 replay_gain: 0
    [12:05:39.097965] output_raop_thread:105 [0xa0d900]: track actual start time:338697712 (gap:338697712)
    [12:05:39.100273] raopcl_send_chunk:670 [0x7f4454000d10]: check n:338697244 p:338698151 ts:163095274292623 sn:17823
                   retr: 0, avail: 0, send: 0, select: 0)
    [12:05:48.512519] raopcl_send_chunk:670 [0x7f4454000d10]: check n:338706656 p:338708144 ts:163095274733327 sn:19075
                   retr: 0, avail: 0, send: 0, select: 0)
    [12:05:58.514821] raopcl_send_chunk:670 [0x7f4454000d10]: check n:338716658 p:338718145 ts:163095275174383 sn:20328
                   retr: 0, avail: 0, send: 0, select: 0)
    [12:06:08.520912] raopcl_send_chunk:670 [0x7f4454000d10]: check n:338726664 p:338728147 ts:163095275615439 sn:21581
                   retr: 0, avail: 0, send: 0, select: 0)
    [12:06:18.519191] raopcl_send_chunk:670 [0x7f4454000d10]: check n:338736663 p:338738148 ts:163095276056495 sn:22834
                   retr: 0, avail: 0, send: 0, select: 0)
    [12:06:28.514824] raopcl_send_chunk:670 [0x7f4454000d10]: check n:338746658 p:338748149 ts:163095276497551 sn:24087
                   retr: 0, avail: 0, send: 0, select: 0)
    [12:06:38.525114] raopcl_send_chunk:670 [0x7f4454000d10]: check n:338756669 p:338758150 ts:163095276938607 sn:25340
                   retr: 0, avail: 0, send: 0, select: 0)
    [12:06:48.510581] raopcl_send_chunk:670 [0x7f4454000d10]: check n:338766654 p:338768144 ts:163095277379311 sn:26592
                   retr: 0, avail: 0, send: 0, select: 0)
    [12:06:58.513143] raopcl_send_chunk:670 [0x7f4454000d10]: check n:338776657 p:338778145 ts:163095277820367 sn:27845
                   retr: 0, avail: 0, send: 0, select: 0)
    [12:07:08.516983] raopcl_send_chunk:670 [0x7f4454000d10]: check n:338786660 p:338788146 ts:163095278261423 sn:29098
                   retr: 0, avail: 0, send: 0, select: 0)
    [12:07:18.512420] raopcl_send_chunk:670 [0x7f4454000d10]: check n:338796656 p:338798148 ts:163095278702479 sn:30351
                   retr: 0, avail: 0, send: 0, select: 0)
    [12:07:28.516448] raopcl_send_chunk:670 [0x7f4454000d10]: check n:338806660 p:338808149 ts:163095279143535 sn:31604
                   retr: 0, avail: 0, send: 0, select: 0)
    [12:07:38.524445] raopcl_send_chunk:670 [0x7f4454000d10]: check n:338816668 p:338818150 ts:163095279584591 sn:32857
                   retr: 0, avail: 0, send: 0, select: 0)
    [12:07:48.525943] raopcl_send_chunk:670 [0x7f4454000d10]: check n:338826669 p:338828151 ts:163095280025647 sn:34110
                   retr: 0, avail: 0, send: 0, select: 0)

  8. #8
    Junior Member
    Join Date
    May 2017
    Posts
    5

    MIPS version of squeeze2raop

    Hi Philippe, hi All

    Huge fan of this LMS plugin

    I know one can execute the squeeze2raop binary on another computer in the same network as the one where LMS is running.

    I know there are arm, OSX and windows version which can be run separately, but is there a MIPS version which could run on a router (RT-AC66U) ?

    Is it possible to create one?

    Thank you !

  9. #9
    Senior Member StevePalmer's Avatar
    Join Date
    Jan 2011
    Posts
    277

    Noobie with AirPlay Bridge

    HI Phillipe

    I was encouraged by some of the supportive guys on here to give your plugin a go as my new AV receiver (a Yamaha RXA1060) supports AirPlay.

    I think I've set everything up correctly, but I'm not hearing/seeing anything on the AirPlay side of things on the AVR - when I click on AirPLay on the AVR, I get the window that I normally see when I'm playing music (a square for the album art, track meta data underneath... but nothing is showing. On the LMS GUI it all looks good, and the AVR is identified as a player ('Lounge') and I can even choose music and 'see it playing' in the GUI... bujt nothing on the actual AVR.

    I've attached the log, to see if you might be able to spot what's not quite right. I fully expect to have to tweak things, but with so many variables, I'm not sure where to start. If the log doesn't help, let me know what you need from this end and I'll happily send it via this forum.

    I've also added a screen grab of the setup within LMS (not sure where the config file gives you this?)Name:  ap-001.jpg
Views: 191
Size:  216.8 KB as well as a second log

    Appreciate your help. I really would like to get this working on my AVR

    Code:
    <squeeze2raop>
    <slimproto_log>debug</slimproto_log>
    <output_log>debug</output_log>
    <slimmain_log>debug</slimmain_log>
    <scan_interval>30</scan_interval>
    <main_log>debug</main_log>
    <scan_timeout>15</scan_timeout>
    <common>
    <volume_mapping>-30:1, -15:50, 0:100</volume_mapping>
    <idle_timeout>30</idle_timeout>
    <volume_trigger>0</volume_trigger>
    <streambuf_size>2097152</streambuf_size>
    <codecs>flc,pcm,aif,aac,mp3</codecs>
    <resample>1</resample>
    <volume_mode>2</volume_mode>
    <mute_on_pause>1</mute_on_pause>
    <send_metadata>1</send_metadata>
    <server>?</server>
    <enabled>1</enabled>
    <remove_count>30</remove_count>
    <auto_play>0</auto_play>
    <sample_rate>96000</sample_rate>
    <send_coverart>1</send_coverart>
    <encryption>0</encryption>
    <read_ahead>1000</read_ahead>
    <resample_options/>
    <output_size>1764000</output_size>
    <alac_encode>0</alac_encode>
    <volume_feedback>1</volume_feedback>
    <prevent_playback>stop</prevent_playback>
    <player_volume>-1</player_volume>
    </common>
    <log_limit>-1</log_limit>
    <stream_log>debug</stream_log>
    <interface>192.168.1.158</interface>
    <decode_log>debug</decode_log>
    <raop_log>debug</raop_log>
    <util_log>debug</util_log>
    <device>
    <udn>F0C77F10D4B1@Lounge._raop._tcp.local</udn>
    <name>Lounge</name>
    <friendly_name>Lounge</friendly_name>
    <mac>aa:aa:7f:10:d4:b1</mac>
    <enabled>1</enabled>
    </device>
    <device>
    <udn>783E53A305A2@Sky Q Mini1152._raop._tcp.local</udn>
    <name>bskyb-mr412</name>
    <friendly_name>bskyb-mr412</friendly_name>
    <mac>aa:aa:29:d1:05:a2</mac>
    <enabled>0</enabled>
    </device>
    <device>
    <udn>783E53769862@Sky Q 2TB Box0631._raop._tcp.local</udn>
    <name>97445</name>
    <friendly_name>97445</friendly_name>
    <mac>aa:aa:29:bb:98:62</mac>
    <enabled>0</enabled>
    </device>
    </squeeze2raop>
    Attached Files Attached Files
    Last edited by StevePalmer; 2017-10-11 at 23:59.
    Steve
    Kettering, UK

  10. #10
    Junior Member
    Join Date
    Jan 2018
    Posts
    14

    Xbox? Xbox one?

    How might someone integrate the Xboxes into the LMS configurations?
    RAOP did not notice mine - but would be spectacular if that is possible.

    This thread has really improved my home audio setup - if there is a collection box somewhere where small contributions are possible?
    LMS 7.9.1 Windows 10, Airplay Bridge, Shairtunes2, Group Receivers, Squeezebox Boom, Squeezelite on Desktop, 2 Ihome Spkrs, Yamaha MusicCast Rcvr, Amazon Fire 4k (Airplay&UPNP App), Upnp/DLNA bridge

Posting Permissions

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