how to play youtube videos in half and full screen (iOS 6,7) - ios

I have already posted two questions
Question 1 Question 2
last week, but no answer worked. I am working on an app(I have completed the UI),
I have to show the youtube videos in the app, just like the youtube app. that is to show youtube videos in the full mode and in half screen too.
Some Body told me to use MPMoviePlayerViewController , but the problem with this player is, that it takes the url of videos like "www.xyz.com/videos.mov". It doesn't play youtube videos. I went to Youtube Developer site. There is lot of information, but all that is for some scripting(javascript using iframe) language, that I don't understand.
Its been a week, and am stuck with this youtube API(I tried to read each and every thing on youtube developer blog, but most of the stuff is related to javascript, which I don't know).
There are few codes available over stackoverflow and Github, which are very old, and are not working now.
If any body know anything then please help. Thanks in advance

I've managed to play YouTube videos with MPMoviePlayerController using LBYouTubeView Library.
Which is a good and upto date library. Basically it extract "www.xyz.com/videos.mov" kind of URL from YouTube and plays in a MPMoviePlayerController. You can also set the quality of the video (low,medium,high) etc. This library comes with a sample project you can test.

Related

YouTube Video Embed iFrame Failing On Membership Videos

I've posted on YouTubes community page and I've heard nothing back from them so I'm going to see if someone here can help me figure this out.
A few days ago the embedded videos on my website just stopped working: https://enlighten-university.com/course.html.php?active=3
At first, I thought it was maybe a problem with my iFrames or an API on the website but when I visited YouTube I discovered the same problem on their website:
So I figured maybe YouTube itself was down but when I checked my other videos, videos that are not a part of my membership program, the embed function seems to work fine.
So then I hit f12 and there I've discovered the problem. The YouTube embed function relies on a header, a Google header, that lets the server know that the person trying to watch the video is in fact a member. Their Google account has to follow them, but for some reason, that header is no longer working.

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.

How to get youtube to continuously play on iOS?

I'd just like to have an embeded youtube player that runs the user's playlist on iPhone/iPad.
Whatever I've tried so far the player just stops after one song.
The place to start is the Google YouTube Dev page.
That said, it is not the place to end - they try to provide instruction for both iOS and Android in the same breath/docs, and the examples are a tad on the obsolete side. Perhaps I or someone else could provide a more helpful answer if you could you provide more detail on what you have tried so far?

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

JavaFX project play youtube videos

I work on an automatically music player. To be short, i use the Last.fm api to get a lot of tracks names and tags. Using these tags and some intelligence computing algorithms, once you play a track, the player sets another track (with tags very appropriate to the tags of the track listened before).
I used the youtube API to search for the URL's of the movies, and I managed to make it work. Now I want to make the videos play on my music player. I have tried to place the youtube player on WebView. It works, but not as intended. I want to control that player. I want it to start playing automatically, and I want to get noticed when the video ended so I can start the next one.
Any clues of what should I do to play the videos from youtube based on the search that uses the Youtube API, and to have control over the youtube player that I place on my GUI(make it play and stop from command line)? Or is there any possible way do download the youtube movie and play it using the JavaFX API? I searched google and noticed I cannot download youtube movie into a format that can be played by JavaFX api.
Update Dec 4th, 2015
Some versions of JavaFX 8 are unable to play back youtube video content. Currently, for instance, Java 8u66 cannot playback youtube video content, but Java 8u72 early access release can.
Also note some of the videos referenced in the sample solution are no longer available or are protected from play in embedded video players. So ensure that you perform any tests using available and videos that have not been distribution restricted. Refer to the youtube documentation for information on distribution restriction if need be.
Any clues of what should I do to play the videos from youtube
As a hints to get you started, see code playing YouTube videos in JavaFX and the YouTube HTML5 api.
Here is the sample code I linked running and playing YouTube videos back within a JavaFX WebView with some (very minimal) control over the video playback via interaction with a JavaFX "New Song" button.
Or is there any possible way do download the youtube movie and play it using the JavaFX API? I searched google and noticed I cannot download youtube movie into a format that can be played by JavaFX api.
I think such a usage would violate YouTube's terms of service. I believe YouTube requires you to play the video back using the YouTube video player (let's them insert ads in the video player etc).
5.1 A
you agree not to distribute any part of or parts of the Website or the
Service, including but not limited to any Content, in any medium
without YouTube's prior written authorisation, unless YouTube makes
available the means for such distribution through functionality
offered by the Service (such as the YouTube Player);
5.1 C
you agree not to access Content through any technology
or means other than the video playback pages of the Website itself,
the YouTube Player, or such other means as YouTube may explicitly
designate for this purpose;
I advanced little, but I got stuck to other problems.
First of all, the code from jewelsea was great. Now I could embed the player into a secondary window of my player and it shows the movie based on the URL that i got using the youtube api. But it looks like JavaFX cannot show most of the movies. It shows me the youtube player and an error message saying that I need to install latest version of Adobe Flashplayer. From my research, I noticed that the webView can only show movies with quality set at 240p, not higher.
I have searched a lot on Google how to make my webView to play the 240p quality video. First of all, i tried to set the youtube query parameters (https://developers.google.com/youtube/2.0/developers_guide_protocol_api_query_parameters#formatsp). I tried all the parameters from there: 1,5 and 6. But yet, I did not get the URL of movie with format that can be viewed on the webView of the JavaFX.
I also tried to embed the video quality in the URL of the movie like this:
http:/www.youtube.com/watch?v=og2YZlLhjKs&vq=small:240p ; but it does not work at all. I also wrote that URL in the browser and it looks like the youtube automatically sets the video to the highest quality, no matter what parameter I write in the URL.
The youtube api code that I used is the same like in this webpage: http://www.javacodegeeks.com/2010/05/getting-started-with-youtube-java-api.html
I just moved the main class code to a method that returns the URL of the first video that is in the list, and I changed the " query.setOrderBy(YouTubeQuery.OrderBy.VIEW_COUNT); "
to " query.setOrderBy(YouTubeQuery.OrderBy.RELEVANCE);". And this works fine, it shows the url to proper music videos that I search.
I am sorry for not showing the code of my project but it is big and it contains 2-3 api keys, and if you tell me how to change the video URL http:/www.youtube.com/watch?v=og2YZlLhjKs to work on the code from this website: https:/gist.github.com/jewelsea/1437374 , then I will know that to do to make it work on my project as well;
And the thing about YouTube playback API also enlightened me. I see that API has a lot of functions that could help me to play a lot easier with the video content (make it play, make it stop) but the problem is that I do not have knowledge about javascript programming and it is very sad that I do not have those methods in Java API as well. Maybe I will give it a try and insert javascript code into my webview. But, if I edit the webview using javascript... Is it going to play higher quality movies on the JavaFX webView?

Resources