FDH2 / UxPlay

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

Black screen with Audio support with iOS 17 and Ubuntu 22 LTS #291

Closed CedricLeclercq closed 4 months ago

CedricLeclercq commented 5 months ago

Compilation works fine, all demanded packages installed. I'm using Ubuntu 22 LTS. The server starts up fine, and is visible from my iPhone with iOS 17.4.1 and (arm) Macbook with MacOS 14.4.1. When I airplay from either of them, GStreamer opens, with the correct resolution, but a black screen. Audio playback works fine. In the description of the project is stated:

"Originally supported only AirPlay Mirror protocol, now has added support for AirPlay Audio-only (Apple Lossless ALAC) streaming from current iOS/iPadOS clients. There is no support for Airplay2 video-streaming protocol, and none is planned."

Is this because the used protocol is Airplay 2? Is there a way to use the original Airplay? I actually don't really need to "see" the video playback, I want to run a ML model on the video feedback coming from the iPhone.

Thanks!

fduncanh commented 5 months ago

which release of Uxplay are you using? "uxplay -v" will tell you. I assume you do mean Ubuntu-22.04LTS released two years ago, with a rather old version of uxplay (1.46). (as opposed to Ubuntu-24.04, released a few days ago). On Ubuntu-22.04, you are better off downloading and compiling the latest UxPlay 1.68.3 (also do this for Ubuntu-24.04, see #288) . If you are mirroring the iphone or macbook screen all should work. What is not supported is "video-streaming" of youtube videos, where the client sends a html link to the server, which downloads the video directly from an internet source passed to it by the client, instead of mirroring what is showing on the client's screen.

There is no support for Airplay2 video-streaming protocol, and none is planned.

This might be too pessimistic. The information needed to add video-streaming is now available to uxplay developers, but needs a big coding effort to be implemented (volunteers?)

fduncanh commented 4 months ago

anything more on this? (please close issue if not)

CedricLeclercq commented 4 months ago

I will be able to test this Monday the quickest, I currently don't have the correct computer... I'll update Monday latest, sorry!

CedricLeclercq commented 4 months ago

I won't be able to do it today after all, so I will close the issue for now and try again on Wednesday. Then I will be sitting together with the team for the project. Thanks a lot! I'll give notice is the issue persists.

CedricLeclercq commented 4 months ago

Hey there. Just came back to this issue. I saw @PancakecatfromSpace had a similar issue. I'm using UXPlay 1.68.3 (latest release) on Ubuntu 22.04. When using screen mirroring (from the control center), I still see a black screen, but with the correct resolution of my iPad.

` robnoo@ACER:~/Documents/UxPlay-1.68.3$ ./uxplay UxPlay 1.68: An Open-Source AirPlay mirroring and audio-streaming server. using system MAC address \<MY MAC ADDRESS> Initialized server socket(s) Accepted IPv6 client on socket 35 Local: \<LOCAL IP> Remote: \<REMOTE IP> Accepted IPv6 client on socket 36 Local: \<LOCAL IP> Remote: \<REMOTE IP> Connection closed for socket 36 connection request from Cédric’s iPad (iPad13,16) with deviceID = \<DEVICE ID>

Client identified as User-Agent: AirPlay/770.8.1 Accepted IPv6 client on socket 37 Local: \<LOCAL IP> Remote: \<REMOTE IP> raop_rtp_mirror starting mirroring Begin streaming to GStreamer video pipeline raop_rtp_mirror->running is no longer true Connection closed for socket 35 Connection closed for socket 37 ^CStopping... `

CedricLeclercq commented 4 months ago

It was the video decoder (or the absence of it)! Was checking all combinations of -h. My bad. Thanks your time anyways!

For future people having this issue (or similar), try: ./uxplay -avdec