Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added assets/youtubeplayersetup.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
53 changes: 53 additions & 0 deletions workflows/ovp/add_kaltura_sub_accounts/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
<!--METADATA
{
"summary": "Ensure customers privacy, security and control with sub accounts"
}
-->

# Add Kaltura Sub-Accounts
The best way to ensure your customers privacy, security and control is to separate different business users to individual accounts. That way customers can customize and control their accounts and content libraries without being dependent on other customers settings and workflows.

## Multi-Account Permission Admin KS
To create sub accounts, your Kaltura parent account should be configured as a parent level multi-account. If you're unsure if you have a parent level multi-account, please contact VPaaS@kaltura.com for further details.

If you have a parent level multi-account, create a Kaltura Session of type ADMIN ([learn more](https://developer.kaltura.com/workflows/Generate_API_Sessions/Authentication)).

In the next step we will use the ADMIN KS to call the [Partner service](https://developer.kaltura.com/api-docs/service/partner) to add a new sub-account.

## Add a new Sub-Account
In this step we will use the [partner.register](https://developer.kaltura.com/api-docs/service/partner/action/register/) action, passing an instance of KalturaPartner with the required basic fields.

> The KalturaPartner object defines many fields that can be utilized as metadata to manage your many sub-accounts. We encourage you to review the docs ([KalturaPartner](https://developer.kaltura.com/api-docs/General_Objects/Objects/KalturaPartner)) to learn more.



### API Call
```json
{
"method": "post",
"path": "/service/partner/action/register",
"parameters": [
{
"name": "body",
"schema": {
"type": "object",
"properties": {
"partner": {
"type": "object",
"properties": {
"adminEmail": {},
"adminName": {}
}
}
}
}
},
{
"name": "ks"
},
{
"name": "clientTag"
}
]
}
```
200 changes: 200 additions & 0 deletions workflows/ovp/youtube_ingestion/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,200 @@
<!--METADATA
{
"icon": "columns",
"sortOrder": 550,
"tags": [
"youtube",
"externalMedia",
"ingestion"
],
"keywords": [],
"summary": "Learn how to use the externalMedia service to upload and manage YouTube hosted videos"
}
-->

# Upload YouTube videos


## Add a YouTube Video Entry
This workflow will guide you on how to use the [externalMedia](https://developer.kaltura.com/api-docs/service/externalMedia) service to manage YouTube hosted videos as native Kaltura videos that benefit from the same workflows, experience and analytics available for Kaltura hosted video entries.

To add a YouTube hosted video as a Kaltura media, you will need the YouTube video ID:
To find your YouTube video ID:

1. Visit the YouTube video page.
2. Look at the URL of that page, and at the end of it, you should see a URL param `v`. The value of `v` is the ID of your YouTube video.
For example: in this YouTube video; `https://www.youtube.com/watch?v=ioY-Cp58zkY` , the ID is `ioY-Cp58zkY`.

That ID will be set as the value of the `referenceId` field in Kaltura when creating the `ExternalMediaEntry` object.

> Important: Make sure that the YouTube video visibility is set to either `Public` or `Unlisted`.
> Private YouTube videos will not play outside YouTube, and as such are not supported as Kaltura external entries.

In order to get the title and description of the YouTube video, we recommend using the [YouTube Data API](https://developers.google.com/youtube/v3/getting-started).

### API Call
```json
{
"method": "post",
"path": "/service/externalmedia_externalmedia/action/add",
"parameters": [
{
"name": "body",
"schema": {
"type": "object",
"properties": {
"entry": {
"type": "object",
"properties": {
"mediaType": {
"name": "body.entry.mediaType",
"consoleDefault": 1
},
"externalSourceType": {
"name": "body.entry.externalSourceType",
"consoleDefault": "YouTube"
},
"referenceId": {
"name": "body.entry.referenceId",
"consoleDefault": "ioY-Cp58zkY"
},
"name": {
"name": "body.entry.name",
"consoleDefault": "Try Not To Laugh or Grin STER WURS (BEST OF) - Star Wars parody"
},
"description": {
"name": "body.entry.description",
"consoleDefault": "Star Wars parody video"
}
},
"name": "body.entry"
}
}
},
"consoleDefault": "{}"
}
]
}
```

## Create a Thumbnail for the Entry
First, create a ThumbAsset that will hold the thumbnail image for the video in Kaltura. In the next step we will import the Thumbnail from YouTube to that ThumbAsset object.

### API Call
```json
{
"method": "post",
"path": "/service/thumbasset/action/add",
"parameters": [
{
"name": "body",
"schema": {
"type": "object",
"properties": {
"entryId": {
"dynamicValue": {
"fromStep": 0,
"value": "id"
}
},
"thumbAsset": {
"type": "object",
"properties": {
"objectType": {
"consoleDefault": "KalturaThumbAsset"
}
}
}
}
},
"consoleDefault": "{}"
}
]
}
```

## Import the YouTube Thumbnail
To import the YouTube thumbnail, use the following URL structure:
`http://img.youtube.com/vi/[VIDEO_ID]/maxresdefault.jpg`
Replace [VIDEO_ID] with the YouTube ID of the video you'd like to use.

For example: in this YouTube video; `https://www.youtube.com/watch?v=ioY-Cp58zkY` , the ID is `ioY-Cp58zkY`.
And the Thumbnail URL is: `http://img.youtube.com/vi/ioY-Cp58zkY/maxresdefault.jpg` .

### API Call
```json
{
"method": "post",
"path": "/service/thumbasset/action/setContent",
"parameters": [
{
"name": "body",
"schema": {
"type": "object",
"properties": {
"id": {
"dynamicValue": {
"fromStep": 1,
"value": "id"
}
},
"contentResource": {
"type": "object",
"properties": {
"objectType": {
"consoleDefault": "KalturaUrlResource"
},
"url": {
"dynamicValue": null,
"consoleDefault": "http://img.youtube.com/vi/ioY-Cp58zkY/maxresdefault.jpg"
}
}
}
}
},
"consoleDefault": "{}"
}
]
}
```

## Set the thumbnail as default
In this step we will set the thumbnail imported from YouTube as the default thumbnail of the entry.
After this step, when embedding the Kaltura player with that entry ID, the player will present this thumbnail before the user clicks the play button.

### API Call
```json
{
"method": "post",
"path": "/service/thumbasset/action/setAsDefault",
"parameters": [
{
"name": "body",
"schema": {
"type": "object",
"properties": {
"thumbAssetId": {
"dynamicValue": {
"fromStep": 2,
"value": "id"
}
}
}
},
"consoleDefault": "{}"
}
]
}
```

## Configure a YouTube enabled Player
To create a player that has YouTube chromeless player enabled, follow these steps:

1. Visit the [Player Studio](https://kmc.kaltura.com/index.php/kmcng/studio/v3).
2. Create a new player (or edit an existing one).
3. Click on "Playback Options" in the side bar (the round play button icon).
4. Enable the "Support Youtube playback" check mark.
5. Save the player.

## Finish
Note: If you're using the PlayKit Player (aka Player v7), make sure to enable the YouTube plugin in the KMC > TV Platform Studio.