How to manage quality in video HLS in iOS/Safari? - ios

I have made a player with hls.js in web but when integrating it in a webview in flutter I have problems to handle the different qualities of the video in safari iOS. This is because Hls.isSupported() is false. So I have to use the native browser to play the .m3u8 file with the video tag.
The issue is that I can't handle the different qualities that I have in the playlist (.m3u8). There must be some way to handle such qualities in safari or iOS because youtube does allow it.

I believe this is not possible.
See this comment which I think suggests that it is not possible to have manual quality selection and access to metadata and manifest tag attributes when using the browser's native HLS implementation (i.e. without HLS.js).
Also see this GitHub issue.
Also see this answer to a similar question.
For reference, also see Embedding HLS.js in the official docs.

Related

How do YouTube downloaders access the videos?

I did find this answer but it uses YouTube's APIv2, and is now outdated as stated in the answer.
YouTube's terms of use state that you can't use another player or download videos, so it makes sense they've excluded it from the API.
Knowing that, how do online YouTube downloaders, or third party Android apps (that allow to turn the screen off while they keep playing music for example) access those videos?
I'm trying to access a video to stream it inside unity for example (by the way there's a couple of unity assets that do it too), and I'd like to learn how they do it.

Unusual issue: Youtube iOS player helper "restricted from playback on certain sites." message, but works on Android

I know this question seems to have been asked before, but it apparently hasn't (at least on stack overflow). I get the following error using Youtube iOS helper api for certain videos when I attempt to embed them in my iOS app.
"This video contains content from VEVO. It is restricted from playback on certain sites."
The error below is fairly self explanatory... and it appears that there is nothing you can do about it. I can live with that. But there is more to it.
The reason I am puzzled by this message (and it refers to any VEVO music video on Youtube) is that the videos play on Android. Someone else has also had this problem... stated here: https://github.com/youtube/youtube-ios-player-helper/issues/52
If there is a restriction on other sites - and there may well be - it should be restricted on both iOS and Android devices. I find it highly odd that the restriction applies to only iOS.
Can someone advise?
Cheers!
add this in your playerVars #"origin" :#"http://www.youtube.com" it will work. I had the same problem.. i solved it using playvars
According to this answer,
...iOS devices use iframe so they basically embed. Android devices that
use player API can check syndicated.
From the documentation: if a video is embeddable, it can be embedded into a webpage, and if it is syndicated, it can be played outside of youtube.com.
A video that is embeddable but not syndicatable will play on YouTube.com or on other sites that embed the YouTube player, but may not play on devices such as mobile phones or TVs (source). Therefore, if a video plays on Android but not on iOS, it's possible that it's syndicateable but not embeddable, in which case it's working as intended.

Embedded youtube Playlists do not work on iPad (iOS)

I am embedding a Youtube playlist and it works fine on normal desktop browsers, but on iPad it is not working. From the various questions here and some other info I read that Youtube is capable of detecting the client and serve an HTML5 version of the video instead. However, it seems that it works only for a single video URL. When I am using a playlist URL instead it does not work. I am using the <frame> embedding approach.
Is there any way to go around this? I can't seem to find any settings on the Youtube playlist to make it 'html5 friendly'.
There few bugs on YT iFrame player on iOS. Hopefully, they are all going to be resolved soon. You can track them all in issue tracker. Here's the main one.
https://code.google.com/p/gdata-issues/issues/detail?id=5204&q=API%3DYouTube%20iOS&colspec=API%20ID%20Type%20Status%20Priority%20Stars%20Summary
I couldn't add a comment so had to add an answer.
It appears they have fixed the issue at their end, see latest updates here:
https://productforums.google.com/forum/#!msg/youtube/_crm-T7BFvM/_V2xDBrV0HcJ

youtube player in blackberry

I have the url video on youtube and I want to play the video in the youtube default application on the blackberry without invoking the browser to play
enter code here
I've never found a way to do this. The BlackBerry Invoke class does not have a constant defined for the Youtube app, which is what you can use to open other built-in apps.
I know this isn't what you'd prefer to do, but a couple other alternatives are:
open Youtube videos in the Browser, like this:
Browser.getDefaultSession().displayPage("http://www.youtube.com/watch?v=ciB6ExQa5SM");
take a look at the BlackBerry Youtube Client sample, which would allow you to build an embedded Youtube player. A companion blog post can also be found here. Note: the sample probably won't display video in a simulator, as I think you need to have a valid cellular carrier setup (APN settings, etc.) for the network to allow youtube streaming.

Phonegap Video player plugin for iOS [duplicate]

I am using a Phonegap plugin for playing a video in my iOS app. I'm able to play a video with the URL format like http://easyhtml5video.com/images/happyfit2.mp4.
How do I play Youtube videos using the phonegap-videoplayer-plugin?
YouTube Terms of Service: "You agree not to access Content
through any technology or means other than the video playback pages of
the Service itself, the Embeddable Player, or other explicitly
authorized means YouTube may designate."
There are some methods that will give you direct link to youtube videos. Use "gdata" option to find all possible video formats.
Then parse the result to get desired link. Hope this might be useful
But everywhere I found the code to be edited in .m and .h files. None have explained how to use it.
That's because you can only directly use MPMoviePlayerController from native apps (written in Objective-C). For any other technology you'll have to have an intermediary layer in between.
From googling, I found this plugin for PhoneGap that claims to integrate with MPMoviePlayerController. I've no idea if it's any good, but it might do as a starting point.
try to give the youtube url in this format.
http://www.youtube.com/embed/jxXukpxNSx4
You will get the desired result. But Autoplay is not enabled, as Apple stopped supporting autoplay to save user's bandwidth

Resources