Using YouTube Android Api to show videos - youtube-api

I have an app with list of videos from youtube and the user can choose one and play it using YoutubePlayer (of the official api). My question is : it is legal to play any video from YouTube in my app ?
Should I ask the owners of the videos for permission to play their videos in my app ?
I read the terms of service of YouTube and I did not understand that.
Thanks.

If you're using the API, then you needn't worry about asking any permission to play others' videos. Uploaders also have a terms of service, whereby they grant access to play their videos through any official means unless they note it somewhere ... so, for example, they'd have to set videos as private, or set various parameters that forbid embedding, mobile playback, etc. If the video owner hasn't set those, then their use of the YouTube platform enables you to use the API to play them. This comes not from the API terms of service but from the general terms of service:
https://www.youtube.com/static?template=terms
Specifically, 6-C which states that when users upload content to YouTube, they grant YouTube a
worldwide, non-exclusive, royalty-free, sublicenseable and
transferable license to use, reproduce, distribute, prepare derivative
works of, display, and perform the Content in connection with the
Service and YouTube's (and its successors' and affiliates') business,
including without limitation for promoting and redistributing part or
all of the Service (and derivative works thereof) in any media formats
and through any media channels. You also hereby grant each user of the
Service a non-exclusive license to access your Content through the
Service, and to use, reproduce, distribute, display and perform such
Content as permitted through the functionality of the Service and
under these Terms of Service.
Since YouTube, with those licenses, allows them to be accessed via the API, they are in a sense covering you with their license. Of course, if you ever implement something without the official API, or if you break the API terms of service in some other way, then you wouldn't be covered by this.

Related

Violating the Device and Network Abuse policy when add YouTube

My application has been removed from google play and I do not understand the problem or how to solve it. I use the YouTube API to display videos and follow all the guidelines to do so.
First, an email came with the text: "Your app shouldn't access or use the service or API in a manner that violates its terms of service. For example, your app shouldn't download, monetize, or access YouTube videos in a way that violates the YouTube Terms of Service. "
Upon appeal, I received the following response: "For example, your app currently contains copyrighted contents from YouTube without consent from the contents' owners. You can refer to the attached screenshot for additional information."
The screenshot is just one of the videos in my application. But wait, I have added everything according to the YouTube guidelines, and there is also a direct quote from the rules.
License to YouTube
By providing Content to the Service, you grant to YouTube a worldwide,
non-exclusive, royalty-free, transferable, sublicensable license to
use that Content (including to reproduce, distribute, modify, display
and perform it) for the purpose of operating, promoting, improving the
Service.
License to Other Users
You also grant each other user of the Service a worldwide,
non-exclusive, royalty-free license to access your Content through the
Service, and to use that Content (including to reproduce, distribute,
modify, display, and perform it) only as enabled by a feature of the
Service.
Which means that if embedding is enabled by the author of the channel, then I can embed his videos in my application. So what's the problem then?
Has anyone encountered this? I use the official YouTube player, maybe I didn't notice something and now any embedding is prohibited? But the rules say you can!

Does YouTube Data API v3 provide video stream URLs?

Using the YouTube Data API v3, is it actually able to return to me the URL for a video (by ID) of all the available video and audio streams? I have the YouTube video ID. I want to choose a video stream to play in a client app. I've read all the YouTube Data API documentation on this site:
https://developers.google.com/youtube/v3
And this question is not answered; in fact it seems to intentionally avoid this whole topic.
Sorry for having to give you a negative response:
As far as I know, the answer to your question is no, there's no such API (and API endpoint for that matter) that will provide the URLs of the streams that YouTube does yield to its video players (embedded or not).
Of course, one may scrape this kind of info out of the YouTube's Web UI (like many tools available on the Internet do), but, if one does observe the DTOS specifications, will eventually come across the paragraph E.6 of section III. General Developer Policies, that explicitly forbids this activity.
An argument against the existence of such a API can also be derived from the DTOS document, same section III. General Developer Policies, but, in this case, from paragraph E.1:
E. Handling YouTube Data and Content
Aside from the permissions and rights granted in this section, you and your API Clients have no further permissions or rights to API Data, including to temporarily stored API Data.
Audiovisual Content
You and your API Clients must not, and must not encourage, enable, or require others to:
a. download, import, backup, cache, or store copies of YouTube audiovisual content without YouTube's prior written approval,
b. make content available for offline playback
c. [...]
Since is illegal to download video content from YouTube, it follows by simple formal logic, that it cannot exist an API that would provide URLs to the video content itself (under the assumption that the official APIs are formally consistent with the DTOS specifications).
No the YouTube API doesn't give you the video url, otherwise it would be too easy to copy the file.
Also, YouTube videos can only be played inside the YouTube iFrame player and you can't have access to the HTML5 video object (to retrieve the video url) because of cross-domain policy.

Is it legal to use Youtube Data API to create youtube-like app that aggregrate youtube videos from any channel?

i'm planning to create some app that use youtube-api.
Is it legal to use Youtube Data API to create youtube-like app that aggregrate youtube videos from any channel? even it is not my channel or my video? Can I (legally) monetize those app with Admob?
Your question is answered in the first paragraph of the YouTube API Terms of Service.
1. Is it legal to use Youtube Data API to create youtube-like app that aggregrate youtube videos from any channel?
The terms don't prohibit it, as long as the client is compliant with the ToS. So, yes, it is legal.
2. Can I (legally) monetize those app with Admob?
It depends.
You agree not to use the YouTube API for any of the following commercial uses unless You obtain YouTube's prior written approval: [...] the sale of advertising, sponsorships, or promotions on any page of the API Client containing YouTube audiovisual content, unless other content not obtained from YouTube appears on the same page and is of sufficient value to be the basis for such sales.
I'm not an expert in law questions, but what this says (imho) is that you may advertise your application if it does not solely contain YouTube content. In other words, your application has to extend the functionality of https://youtube.com, not recreate it.
In any case, you may not block or in any way alter in-player ads.
Conclusion
Based on the short concept of your app you posted in the question, I would say:
You may build "youtube-like app that aggregrate youtube videos from any channel", but
you may not advertise it, since it does not feature original content.
if you plan to publish this on app store please review the IOS Guide Lines
5.2.3 Audio/Video Downloading: Apps should not facilitate illegal file sharing or include the ability to save, convert, or download media
from third-party sources (e.g. Apple Music, YouTube, SoundCloud,
Vimeo, etc.) without explicit authorization from those sources.
Streaming of audio/video content may also violate Terms of Use, so be
sure to check before your app accesses those services. Documentation
must be provided upon request.
And this SO question

Is there limit to access youtube's get_video_info from single IP

i am developing a online youtube video downloader in php . but i am afraid of blocking my Server Ip by youtube.
is there such restrictions by youtube ?
and if yes thenn how much requests i can do to youtube in single day ?
This information is available here:
https://developers.google.com/youtube/v3/getting-started#quota
If you are downloading/re-distributing YouTube audio-visual content you are directly in violation of YouTube's Terms of Service. No matter the number of requests, take a look at these points mentioned in the YouTube Terms of Service:
access any portion of any YouTube audiovisual content by any means other than use of a YouTube player or other video player expressly
authorized by YouTube;
store copies of YouTube audiovisual content;
In any case, downloading YouTube videos or developing a tool to do so are definitely counted as Copyright infringement. To make it more clear, read this under Section III of the link provided above:
Compliance with Laws. You are responsible for complying with all applicable laws, rules and regulations, all third-party rights and
all YouTube policies. You shall not use the YouTube API in a manner
that violates such laws, rules and regulations, third parties' rights
or any YouTube policies or in a manner that is deceptive, unethical,
false or misleading. For avoidance of doubt, You shall not distribute
or provide access to applications You develop in contravention of U.S.
export control or trade laws.
Hence, developing such a tool will hold you in violation of the YouTube ToS and (action including but not limited to) definitely get your IP blocked.
However, if you plan on making a different tool that provides legal usage of the API, here is a Quota cost calculator that can be used to determine what kind of requests can be made and how much they'll cost. And the link provided by Mike shows the daily allowance of the YouTube API.

Downloading Videos from YouTube - Terms & Conditions

I am a bit confused about the YouTube API's term & conditions. If I create an app for users to download only their own videos. Is that against the terms and conditions?
I know downloading other people content is definitely prohibited, but is it the same for your own videos? Since user can go to their video manager and download their own videosm this would be only a short-cut?
Anyone knows can/cannot do this? I was thinking of using this library http://ytdownloadextension.codeplex.com/
Any guidance would be appreciated,
Covo
Seems like YouTube already allows you to do that, so I'd say it's legal:
Download your videos
You can’t download other people’s YouTube videos, but ...
You can download MP4 files of videos that you’ve uploaded to YouTube in either 720p or 360p, depending on the video size.
See Download videos that you've uploaded.
I don't think so the Terms of Service of Youtube or the Terms of Service of the API allows you to do so:
Excerpt of Youtube ToS (5. K):
you agree not to access Content or any reason other than your personal, non-commercial use solely as intended through and permitted by the normal functionality of the Service, and solely for Streaming. "Streaming" means a contemporaneous digital transmission of the material by YouTube via the Internet to a user operated Internet enabled device in such a manner that the data is intended for real-time viewing and not intended to be downloaded (either permanently or temporarily), copied, stored, or redistributed by the user.
Excerpt of the API ToS (II. 11):
store copies of YouTube audiovisual content;
Both, state in a very clear way that neither the user nor applications built using the API can "store" content, which is a very direct statement that disallows you from giving such an option in your app. Now, whether Youtube does give its users an interface to download their content or not is an argument out of sequence here as Youtube don't need to follow their own ToS, in other words, it's up to them to give their users such an option, but you can't give it to the users of your app.
I suppose you need a special permission from Youtube to give such an option in your app.
Yes. You can definitely download your own videos from YouTube as it is your own content so you have full rights to it as the creator of the videos.

Resources