I'm trying to figure out exactly what causes the "licensedContent" flag from the "contentDetails" info of a video listing to be set to true.
It seems to be any video uploaded to a channel that has content tracking on.
Basically my end goal here is to be able to discern whether or not a YouTube video has been claimed by a content owner / license issuer to detect both re-hosted content, and content that is "Licensed" by third party companies like Jukin Media or similar.
I'd also like to get the "Suggested by 'Jukin Media' : url of other video" part from an API call, but that doesn't seem to be exposed anywhere that I've seen.
contentDetails.licensedContent - Indicates whether the video represents licensed content, which means that the content was uploaded to a channel linked to a YouTube content partner and then claimed by that partner.
https://developers.google.com/youtube/v3/docs/videos#contentDetails.licensedContent
Related
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.
When a video on Youtube was Includes copyrighted content flag in the video manager. I want get list that videos with some information such as "CONTENT","CLAIMANT","POLICY". What i would like to know is if Youtube's or Google's API can give us this same information?
Thanks,
You can check the contentDetails.licensedContent:
Indicates whether the video represents licensed content, which means that the content was uploaded to a channel linked to a YouTube content partner and then claimed by that partner.
It is also provided in this related SO post, there is also no parameters who the claimant is or policy.
Hope this helps.
I use Yt gem to work with Youtube API and upload video using Yt::Account class.
The problem is that I need to allow user to choose channel to upload to – for example, one user has a second channel related to Google Plus page and this user should be able to upload video to that Youtube channel, not user's default one.
It seems like Yt misses the ability to specify channel (or I missed something).
I found also examples from Google https://developers.google.com/youtube/v3/code_samples/ruby but all it says is "upload a video to the channel associated with the request" – and nothing about how to associate different channel.
Any help is appreciated
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.
I have a content management server application written in Java. A background process goes through a list of video ids and fetches the details for those video ids using Youtube API.
I would like to check if a particular video entry is available for mobile or not.
I checked syndicate allowed like
String videoEntryUrl = "http://gdata.youtube.com/feeds/api/videos/"+videoID;
VideoEntry videoEntry = service.getEntry(new URL(videoEntryUrl), VideoEntry.class);
if(!videoEntry.getXmlBlob().getBlob().contains("yt:accessControl permission='denied' action='syndicate'")){
System.out.println("The video is syndicatable");
}
Checking for syndicate still not solved the problem and the server still lets in videos that cannot play on Android phone.
What is the right way to filter only the videos that can be played on mobile?
There's no single check to see whether a video is playable "on mobile".
There are a variety of different reasons why a particular video might not be playable on a particular platform, and unfortunately the only way to be absolutely sure whether a particular video will play in a particular player is to attempt to play it.
That being said, this blog post goes into more details about the types of common playback restrictions that crop up: http://apiblog.youtube.com/2011/12/understanding-playback-restrictions.html