Youtube api player for android copyright issue - youtube-api

The new android youtube api allows developer to embed and play videos in the third party app. I made android app that shows list of youtube videos and show video in the app (not using youtube official app).
I want to know if there will be any copyright issues for the same.
Do I need any permissions or something?
Posting this question here because youtube has mentioned to use stack-overflow with tag "youtube-api" as the official support group. See this link
https://youtube-eng.googleblog.com/2012/09/the-youtube-api-on-stack-overflow_14.html

If you are using the official API to show videos, either on Android or for a Web App, then this should not be a concern as the API will only give you videos that haven't been restricted by the content owners (or if there is a concern over content, the videos will be removed, and hence your apps will no longer be displaying them).
When it comes to uploading, if you utilize oAuth authentication with v3 of the API then users who upload videos will be responsible for whatever is uploaded to their YouTube account through your app. That is, you won't have to worry about doing copyright checks yourself, as that will happen once the video ends up on the YouTube servers (this is the best reason to utilize this authentication method; if an app instead were to forego oAuth authentication and have uploads go into the app owner's account, then the app owner could be liable for copyright infringing videos sent through the app).
Note that this isn't legal advice or an official YouTube perspective; just my interpretation of reading the terms of service (which you should read as well).

Related

YouTube Content ID API Manual Claims

I’ve been doing some research on the YouTube Content ID api and researching about making claims, there is a “manual claim” property, but it’s noted as restricted with semi-minimal information about it.
params.isManualClaim - restricted
https://gist.github.com/esvit/27bc8f26c09c7a3a0c18
My question is, what does restricted actually mean? Is it restricted to only partners that have access to perform manual claims, or is it restricted to everyone and only available to internal YouTube processes?
Anyone have any ideas?
Thank you!
Here is the reason from the documentation.
Note: The YouTube Content ID API is intended for use by YouTube
content partners and is not accessible to all developers or to all
YouTube users. If you do not see the YouTube Content ID API as one of
the services listed in the Google Developers Console, see
www.youtube.com/partner to learn more about the YouTube Partner
Program.
The YouTube Content ID API lets developers build applications that
interact directly with YouTube's rights management system. The system,
which has an online interface at www.youtube.com/content_id ,
enables content owners and administrators to provide YouTube with
metadata, ownership information, and policy information for their
assets.
As a YouTube partner, you can use the API to create new assets and
manage existing assets. You can also retrieve information about your
Content Manager account, including a list of saved policies that you
can apply to your claimed content.
In addition, by combining the YouTube Content ID API with the YouTube
Data API and YouTube Player APIs, you can enable your application to
also upload, manage, and play YouTube videos.

Permissions to access someone's private videos on YouTube

We're working on an integration with youtube channels (using Youtube Data Api v3). We need to access the videos (private also) on our user's channels.
The flow is the following:
User authorizes his/her youtube account on our site using OAuth.
We show user the list of videos on user's youtube channel.
User selects some of them (they can be private) and sends us for processing.
We need to somehow access the actual video files which the user asks us to process.
The issue is that youtube does not give any streaming URLs or download links.
Looks like, the API provides only iframe embedded code, which works ONLY for the browser, where the user is actually logged into youtube.
How can we access(can we?!) the private video, if we have the OAuth access-token of the video owner?
The YouTube Data API lets you incorporate functions normally executed on the YouTube website into your own website or application. The lists below identify the different types of resources that you can retrieve using the API. The API also supports methods to insert, update, or delete many of these resources. This in a sense means that you can see most of what you can see on the YouTube website including uploading new videos.
Downloading Youtube videos is against their Terms of Service, so the API does not support that.
Page linked above refers to Youtube ToS that states:
You shall not download any Content unless you see a “download” or similar link displayed by YouTube on the Service for that Content.
YouTube partners may have access to this feature in their API (no idea i have never seen the api), if you have access to this i suggest you contact your manager directly they should be able to instruct you on how to access it assuming the feature exists.

Is it possible to host videos uploaded to my website on youtube?

I have Java based website. I would like users to log into my website and then upload videos to youtube using my youtube account. Users should not be required to have their own youtube account since videos will be uploaded using my youtube account.
Does youtube support this scenario?
If so, is there a sample code that shows me how to do this in Java?
I have used UploadVideo.java sample provided by google (https://developers.google.com/youtube/v3/code_samples/java#upload_a_video), but it requires users to log into youtube account using their id and password. That is not my use case.
Please study the terms and conditions of the Youtube service ; I think they do not allow this:
https://www.youtube.com/static?gl=GB&template=terms
YouTube accounts
4.1 In order to access some features of the Website or other elements of the Service, you will have to create a YouTube account. When
creating your account, you must provide accurate and complete
information. It is important that you must keep your YouTube account
password secure and confidential.
4.2 You must notify YouTube immediately of any breach of security or unauthorised use of your YouTube account that you become aware of.
4.3 You agree that you will be solely responsible (to YouTube, and to others) for all activity that occurs under your YouTube account.
and
5.1.L: 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.
You can not let other people use your YouTube account/channel. The way to do is using YouTube Direct Lite
You basically add a ytdl with playlist tag while uploading videos.
You can check Android Client for how to do it in Java.
As to whether it is technically possible, yes, see https://developers.google.com/youtube/v3/guides/using_resumable_upload_protocol
The technical problem here is users will be able to delete videos too if they have your access token with full permissions. basically you need to:
load your html page with the upload interface.
add to the onclick event of the upload button to send an ajax request to a script on your server which will:
return the access token of your account to the client
soon thereafter change the access token using the refresh token
Its still technically vulnerable though. a possible solution is to obtain the access token ONLY with the scope:
https://www.googleapis.com/auth/youtube.upload
There is a very good chance it will not be vulnerable then. You should test it.

YouTube API v3, iOS App authentication for company YouTube account

What I want to do in a nutshell:
In our app I want to be able to upload videos to our company YouTube account. Our app has 'host' users and 'guest' users. The host can upload videos for a guest. The video will be unlisted so they're not available publicly and the guest will get a message in the app telling them that a new video is available. We'll then play the video in the app using the YouTube link.
I've downloaded the google-api-objectivec-client source and integrated it in the project. I've studied the YouTube example application that comes along with it. In this example application the user logs into her own account using OAuth 2.0 which is not our use case. The app should have authorization to upload videos to our company account without bothering the user.
I've read a lot of documentation and searched the web to see if someone else has solved this but I was not able to find the right solution.
My Question:
How should our app get authorization to upload videos? Using API keys, using Google+, using a service account? If someone can point me in the right direction, I would really appreciate it!
Unfortunately this is not possible at the moment.

Accessibility of YouTube live-streaming API

I am working on an Android project that needs to stream live video feed to YouTube. From the official YouTube data API 2.0:
Prerequisites
Please note the following prerequisites for using the API functionality described
in this section:
1. Developers need to sign an API Testing Agreement before their applications can
successfully issue requests to manage live events. Please contact the YouTube
developer relations team via a post to the YouTube APIs Developer Forum if you
are interested in incorporating this functionality into your application.
2. The ability to create, update, and delete live events is only available to some
YouTube users. The Determining whether a user can create live events section
explains how to check a user's profile entry to see whether a user has access
to these features.
The Developer Forum mentioned above is closed already and stackflow is recommended instead, so I post my question here:
Where do I apply for the licence so that my Android application can successfully manage the live streaming?
How could I get an YouTube account that is live-streaming capable so I can test my application with?
Update: Livestreaming and API is available to all verified channels.
Livestreaming capabilities and API are only for selected partners for now. You can get more information on "http://www.youtube.com/yt/partners/"

Resources