FDH2 / UxPlay

AirPlay Unix mirroring server
GNU General Public License v3.0
1.35k stars 72 forks source link

Support for TuneBlade airplay audio server from Windows #57

Closed iVolt1 closed 2 years ago

iVolt1 commented 2 years ago

I have read the issues and documentation regarding the support for AIrMyPC and i am hoping that similar support could be established for TuneBlade audio. I use TuneBlade all over the house mostly to Shairport-Sync and would like to start using UxPlay on some systems.

I have UxPlay working with my iPhone IOS 15.x on a Pi Zero W with a JustBoom Digi and a Pi 4.

I can test and provide feedback as needed. There is a free version of TuneBlade that will play for 10 minutes that should work for others that want to test.

Thanks for the great project!

Here is the debug log when TuneBlade tries to connect:

root@DietPi:/UxPlay# ./uxplay -as alsasink -d supported audio format 1: AAC-ELD 44100/2 supported audio format 2: ALAC 44100/16/2 supported audio format 3: AAC-LC 44100/2 supported audio format 4: PCM 44100/16/2 S16LE Initialized GStreamer video renderer using system MAC address dc:a6:32:14:81:13 Initialized server socket(s) Accepted IPv4 client on socket 29 Local: 192.168.1.177 Remote: 192.168.1.139 Open connections: 1 httpd receiving on socket 29 Connection closed for socket 29 Destroying connection Open connections: 0 Accepted IPv4 client on socket 29 Local: 192.168.1.177 Remote: 192.168.1.123 Open connections: 1 httpd receiving on socket 29 conn_request

OPTIONS * RTSP/1.0 CSeq: 1 User-Agent: TuneBlade/1.0 (Windows) Client-Instance: 56B6CB929BB20486 DACP-ID: 1E5ED18983C3BB5A Active-Remote: 166409750

Handling request OPTIONS with URL *

RTSP/1.0 200 OK CSeq: 1 Server: AirTunes/220.68 Public: SETUP, RECORD, PAUSE, FLUSH, TEARDOWN, OPTIONS, GET_PARAMETER, SET_PARAMETER

httpd receiving on socket 29 conn_request

ANNOUNCE rtsp://192.168.1.123/3121287335 RTSP/1.0 CSeq: 2 Content-Type: application/sdp Content-Length: 186 User-Agent: TuneBlade/1.0 (Windows) Client-Instance: 56B6CB929BB20486 DACP-ID: 1E5ED18983C3BB5A Active-Remote: 166409750

76 3d 30 0d 0a 6f 3d 69 54 75 6e 65 73 20 33 31 32 31 32 38 37 33 33 35 20 30 20 49 4e 20 49 50 34 20 31 39 32 2e 31 36 38 2e 31 2e 31 37 37 0d 0a 73 3d 69 54 75 6e 65 73 0d 0a 63 3d 49 4e 20 49 50 34 20 31 39 32 2e 31 36 38 2e 31 2e 31 37 37 0d 0a 74 3d 30 20 30 0d 0a 6d 3d 61 75 64 69 6f 20 30 20 52 54 50 2f 41 56 50 20 39 36 0d 0a 61 3d 72 74 70 6d 61 70 3a 39 36 20 41 70 70 6c 65 4c 6f 73 73 6c 65 73 73 0d 0a 61 3d 66 6d 74 70 3a 39 36 20 33 35 32 20 30 20 31 36 20 34 30 20 31 30 20 31 34 20 32 20 32 35 35 20 30 20 30 20 34 34 31 30 30 0d 0a 0d 0a

Handling request ANNOUNCE with URL rtsp://192.168.1.123/3121287335

RTSP/1.0 200 OK CSeq: 2 Server: AirTunes/220.68

httpd receiving on socket 29 conn_request

SETUP rtsp://192.168.1.123/3121287335 RTSP/1.0 CSeq: 3 Transport: RTP/AVP/UDP;unicast;interleaved=0-1;mode=record;control_port=6002;timing_port=6003 User-Agent: TuneBlade/1.0 (Windows) Client-Instance: 56B6CB929BB20486 DACP-ID: 1E5ED18983C3BB5A Active-Remote: 166409750

Handling request SETUP with URL rtsp://192.168.1.123/3121287335 DACP-ID: 1E5ED18983C3BB5A Active-Remote: 166409750 Transport: RTP/AVP/UDP;unicast;interleaved=0-1;mode=record;control_port=6002;timing_port=6003

RTSP/1.0 200 OK CSeq: 3 Server: AirTunes/220.68 Content-Type: application/x-apple-binary-plist Content-Length: 42

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

httpd receiving on socket 29 Connection closed for socket 29 Destroying connection Open connections: 0

fduncanh commented 2 years ago

Looks like Airplay 1. ANNOUNCE is not a request handled by UxPlay

and there is a paring step before SETUP, so I doubt if you can get any connection from TuneBlade to Uxplay. Sorry!

You could look at shairplay https://github.com/juhovh/shairplay, but you have shairport-sync.