-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug] DASH quality on safari iOS #2236
Comments
Yeah. I saw that PR too and I can report Invidious working with DASH on my iPad but not on any iPhones. I can't imagine this being easy to fix if DASH is just outright unsupported on iOS but it would be a big improvement. |
We discussed internally. The reason no one from the main team worked on this was that we had no way to test it easily (since we don't have any iOS device). This problem is now solved since we now have access to BrowserStack (a provider that gives access to real iOS devices). The solution we discussed is to have HLS streams served to iOS devices (and keep using DASH for other devices), the reason being that HLS only support H.264 or H.265 (see https://www.cloudflare.com/learning/video/what-is-mpeg-dash/ ) while YouTube provides VP9/AV1 too. This means that iOS devices won't be able to get the best video quality available on YouTube... but it's entirely Apple's fault for refusing to support DASH. The question now is how do we detect that it's an iOS device or not (user agent could work, but it's not reliable)... and how do we adapt what is served. |
A 20$ bounty has been added to this issue. Anyone opening a PR fixing this issue, will receive 20$ (in BTC) from the Invidious project. More details: #1898 |
I can provide access to my browserstack account if anyone is interested. Feel free to contact me with the email of my github profile if you are interested. |
Maybe @FireMasterK can help us about this. |
I can give you my 2 cents - some versions of iPad OS actually have DASH working (likely a beta - someone told me about this in one of Piped's issues, it didn't work on my parents' device which runs a stable version) through MediaSourceExtensions, IOS just doesn't have it. HLS support on IOS is purely native, and I really doubt that HLS has a If I recollect correctly, HLS also requires an init segment which YouTube simply doesn't provide. You're better of waiting for Apple to support DASH/MSE on IOS, and wait for the beta version on iPad OS to become a stable version. Even YouTube on Safari supports only 360p and 720p. |
How is piped doing for iOS? Is it providing HLS streams instead of dash? |
If there's an LBRY stream, that would be played, else the best resolution is picked. (either, 720p or 360p) |
But I don't understand how you are even providing the video streams in the first place. |
Yes, I fall back to the muxed streams automatically, the MseSupport variable is used to tell whether or not a browser supports MSE/DASH. In the case of IOS, the final else clause is what is used/done. |
In #2376 I allow forcing a default video quality for the player, if you set hd720 in the preferences then you will have a video in 720p when watching a video on safari for iOS. Unfortunately implementing something like dash is going to be tough and hard to do, so until it's implemented at least you get a clear video in 720p instead of 144p like it was previously. You can already try this pull request live on https://yewtu.be. |
Isn't already the case? I've always seen that dash provides 144p on iOS but hd720 gives 720p You gotta configure it per device though, I had to create 2 accounts, one for iOS devices (preference set to hd720) and one for everything else (set to dash - best) |
I completely excluded 144p from the available qualities so now it's 360p the minimal quality when dash is set in the preferences. With the merge of #2220 I think it was 144p even when hd720 was set so that's why I told here that I fixed an issue that got introduced by the PR #2220. I'll see what to do because I think I can come up with something like default quality settings when dash is not available. The best would be at one point to merge dash and the hd720, medium and small quality controls together. |
This is planned in #2377 :) |
Note from @TiA4f8R:
|
This has been implemented in Piped, now you can watch select videos in 1080p. However, youtube doesn't give streams >1080p. Also: You don't need browser proxying for native HLS in IOS, however, Piped enforces it anyways. |
Useful information: TeamNewPipe/NewPipeExtractor#680 (comment) |
I'm for forcing the disable of dash when an iOS client is used until we implement HLS. |
I'll take another crack at this issue because with the IOS client, Google straight gives a manifest URL that works out of the box with video.js on browsers that support HLS like Safari on MacOS. It is available under But the issues:
But on the upside, here are the advantages:
|
This issue has been automatically marked as stale and will be closed in 30 days because it has not had recent activity and is much likely outdated. If you think this issue is still relevant and applicable, you just have to post a comment and it will be unmarked. |
This is still an issue. |
Describe the bug
This has already been reported here and here and fixed in this PR but I still have the issue, it just loads at 144p and there's no gear icon to change the quality.
Steps to Reproduce
Play any video with dash quality enabled on and iOS device (not iPadOS though since it seems like dash in supported on there).
Additional context
According to this answer, dash isn't supported on iOS and must be replaced with fmp4 in HLS.
The text was updated successfully, but these errors were encountered: