Open oownus opened 2 years ago
The exception is a bit misleading as that is obviously not an authentication error (I should fix that). My guess is that your TV does not support the /play
command. I must say that I am not very confident as to what feature flag corresponds what actual feature in the protocol, but https://openairplay.github.io/airplay-spec/features.html with your feature flags (0x7F8AD0,0x38BCB46
) suggests that video is not supported. HTTP live streams and audio are supported though (only audio streaming is supported by pyatv). So we are likely out of luck here until I get around supporting video streaming and to be honest, I'm not sure that will ever happen as it is very CPU intensive and hard to do in python. If offloaded to another application, maybe it can be accomplished.
Would you mind pasting the result of:
atvremote -n "[LG] webOS TV UM7300PUA" --airplay-credentials 641e7f20c7919a5c56c352294e1e7630dc0c64a97bbce09c07a306c7848950b9:fd9efcac8d477cf92f58e1f49f2e06e031c89d4023cb6f930f7540f77de805a3:35383a32383a42343a32333a31373a4244:32333666343966362d613162302d346564392d383030322d313165366333326330663230 features
Looks like I have already implemented feature detection in pyatv, just not applying it in Home Assistant. Just want to verify this is the case.
$ atvremote -n "[LG] webOS TV UM7300PUA" --airplay-credentials 641e7f20c7919a5c56c352294e1e7630dc0c64a97bbce09c07a306c7848950b9:fd9efcac8d477cf92f58e1f49f2e06e031c89d4023cb6f930f7540f77de805a3:35383a32383a42343a32333a31373a4244:32333666343966362d613162302d346564392d383030322d313165366333326330663230 features
NOTE: Push updates are not supported in this configuration
Feature list:
-------------
PlayUrl: Available
Legend:
-------
Available: Supported by device and usable now
Unavailable: Supported by device but not usable now
Unknown: Supported by the device but availability not known
Unsupported: Not supported by this device (or by pyatv)
Thanks! I might be parsing the flags a bit wrong, I'll have a look at that so at least feature detection is correct.
Perhaps that could be the case, pretty bummed to find out that this TV doesn't support PlayUrl feature 😭 Thanks for the awesome library though
Yeah, I totally agree! It's so strange that they aren't focusing more on streaming videos directly from the target device, e.g. via URL. Doing so now usually just breaks everything and makes stuff stop working (like metadata).
Can you try if #2079 fixes this for you?
Describe the bug
I'm trying to play a video file from a URL, any idea why /play is responding with 404 with valid airplay credentials? Thanks in advance
Error log
How to reproduce the bug?
What is expected behavior?
AirPlay to play video from URL
Operating System
macOS
Python
3.9
pyatv
master
Device
LG TV 55" UM7300PUA
Additional context
Trying to play mp4 video from URL on LG TV 55"