Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: remove beta notice

An update to the movingimage Platform is now available to any customer who wishes to try out some new features in our file system. The features described below effect any type of file asset available in the Platform (i.e. videos, thumbnails, chapter thumbnails, attachments, subtitles, etc). If you would like to try this beta, please contact our Professional Services team.

Note

As this is a beta update, we ask that you be aware of the possibility of encountering bugs. Please do let us know if you experience any problems.

The information below details the changes you can explore if you decide to try out the beta update.

Panel
bgColor#f2f2f2
borderWidth0

Dynamic File Downloading


Files can now be downloaded using dynamic URLs. The benefit to using dynamic URLs is that you don't need to use the API to look up the exact download URL for every file when a file is not protected (as described in the next section). It is possible to locate the file if you know the asset type's URL scheme and have information about the asset (i.e. IDs). If the file is protected, you would need to look up the download URL to have a valid token. Additionally, you would need to re-check the URL every time the token expires (they are valid for 10 minutes).

The following table provides the dynamic URL scheme for each asset type:

Dynamic File Downloading SchemeNotes
Video Source Files
{DOMAIN}/public/videos/{VIDEO_ID}/source

Video Format Files
{DOMAIN}/public/videos/{VIDEO_ID}/formats/{PROFILE_KEY}

Thumbnails
{DOMAIN}/public/videos/{VIDEO_ID}/thumbnails/active?quality={QUALITY(e.g. 720p)}


{DOMAIN}/public/videos/{VIDEO_ID}/thumbnails/{THUMBNAIL_ID}?quality={QUALITY(e.g. 720p)}

Note the options here: you can specify either the active thumbnail, or specify the thumbnail ID.


The quality parameter is optional (it defaults to 360p).

Chapter Thumbnails
{DOMAIN}/public/videos/{VIDEO_ID}/chapters/{CHAPTER_ID}/thumbnails?quality={QUALITY(e.g. 720p)}
The quality parameter is optional (it defaults to 360p).
Subtitles
{DOMAIN}/public/videos/{VIDEO_ID}/subtitles/{SUBTITLE_ID}?source=VTT
The "source" value indicates the subtitle file format. Possible values include: "SRT" or "VTT".
Video Attachments
{DOMAIN}/public/videos/{VIDEO_ID}/attachments/{TYPE_NAME}/{FILENAME}
The attachment types are set up in the admin area of VideoManager Pro. Use the name of the type here, not the ID. The filename is the name of the file that was uploaded. If these values contain special characters or spaces, they should be URL encoded.
Channel Attachments
{DOMAIN}/public/channels/{CHANNEL_ID}/attachments/{TYPE_NAME}/{FILENAME}
The The attachment types are set up in the admin area of VideoManager Pro. Use the name of the type here, not the ID. The filename is the name of the file that was uploaded. If these values contain special characters or spaces, they should be URL encoded.
Info

Files on the general instance of the movingimage Platform use the following domain: "https://asset-out-cdn.video-cdn.net".


Panel
bgColor#f2f2f2
borderWidth0

File Protection


File protection refers to a user's ability to access files on the movingimage PlatformWhen the user is logged into the Platform, the ownership features of VideoManager Pro control this. The logged in user can access files according to their rights. The new feature in this beta, however, concerns the protection of files from users who are not logged into the Platform.

By default, files are protected from non-logged-in users via the use of tokens provided in the file's download URL (tokens are valid for 10 minutes). The download URLs can be acquired from the movingimage Platform API. The following is an example download URL for a protected/private video thumbnail file:

Code Block
languagetext
https://asset-out-cdn.video-cdn.net/private/videos/-civ9qE3JUjntKQM1HnGtU/thumbnails/78912?quality=360p&__token__=exp=1519826701~acl=***~hmac=***


File protection of this variety can now be disabled if desired. This would allow the file to be accessible on the public domain, without a token:

Code Block
languagetext
https://asset-out-cdn.video-cdn.net/public/videos/-civ9qE3JUjntKQM1HnGtU/thumbnails/78912?quality=360p


Note that the unprotected file specifies "/public/" in the URL instead of "/private/", and does not include a token.

All files are protected by default and only a user with admin rights in VideoManager Pro can disable file protection. Unpublished files are only accessible via VideoManager Pro or the movingimage Platform API. File protection can be disabled either for all assets within a VideoManager, channel, or video; or for a video or channel's specific asset type (i.e. thumbnail, chapter thumbnail, attachment, subtitle, etc.). 

Use the following API endpoints to disable file protection: 


VideoManager Level Requests

Endpoint:/v1/vms/{videoManagerId}/security-override

This endpoint allows you to get or modify file protection for all files within a VideoManager.

HTTP MethodRequest HeaderRequest BodyResponse BodyDescription
GETAuthorization: Bearer "{token}"-

Example 1 (all files are protected):

Expand
Code Block
languagetext
{
	 "scope": "private",
	 "videos": {},
	 "channels": {}
 }

Example 2 (the video files for one video have been made public and all of one channel's assets have been made public):

Expand
Code Block
languagetext
{
    "scope": "private",
    "videos": {
        "8TbWUvoW6Pf3rieuLtiozy": {
            "assetTypes": [
                "VIDEO_SOURCE",
                "VIDEO_FORMAT"
            ],
            "scope": "private"
        }
    },
    "channels": {
        "31519": {
            "assetTypes": null,
            "scope": "public"
 }       }
    }
}
Get file protection details for the specified VideoManager. The VideoManager scope (public or private) will be returned along with a list of video and/or channel assets that have been made public (if any). See the example responses to the left for details.
POSTAuthorization: Bearer "{token}"

-

-This request makes all assets within the specified VideoManager public. You do not need to include a request body.
DELETEAuthorization: Bearer "{token}"--This request makes all assets in the VideoManager private/protected again (including all Channel and Video assets).


Channel Level Requests

Endpoint:/v1/vms/{videoManagerId}/channels/{channelId}/security-override

This endpoint allows you to remove file protection for assets at the Channel level. Note that there are two possible POST requests which work differently (see details in the table below) but have the same result at the moment:

HTTP MethodRequest HeaderRequest BodyDescription
POSTAuthorization: Bearer "{token}"
Code Block
languagetext
{
	 "scope": "public"
 }
This request makes all assets within the specified Channel public.
POSTAuthorization: Bearer "{token}"
Code Block
languagetext
{
	 "assetTypes": [
		 "ATTACHMENT"
	 ]
 }

This request can be used to specify which asset types are to be made public within the Channel.

Info

Channels currently only contain attachment asset types.

DELETEAuthorization: Bearer "{token}"-Use this request to make all assets in the specified Channel private/protected again.


Video Level Requests:

Endpoint:/v1/vms/{videoManagerId}/videos/{videoId}/security-override

This endpoint allows you to remove file protection for assets at the Video level. Note that there are two possible POST requests which work differently (see details in the table below):

HTTP MethodRequest HeaderRequest BodyDescription
POSTAuthorization: Bearer "{token}"
Code Block
languagetext
{
	 "scope": "public"
 }
This request makes all assets within the specified Video public.
POSTAuthorization: Bearer "{token}"
Code Block
languagetext
{
	 "assetTypes": [
		 "VIDEO_SOURCE",
		 "VIDEO_FORMAT",
		 "STILL_SOURCE",
		 "STILL_RESOLUTION",
		 "SUBTITLE",
		 "ATTACHMENT"
	 ]
 }

This request can be used to specify which asset types are to be made public within the Video.

Info

All possible asset types are listed in the example. You must specify at least one asset type.

DELETEAuthorization: Bearer "{token}"-Use this request to make all assets in the specified Video private/protected again.