Migrating Content to Vimeo OTT

I have existing content that I would like to include on my new Vimeo OTT channel, will I need to upload each individually?

No, not unless you would like to! Vimeo OTT supports batch-uploading videos from your computer or via our Dropbox integration. While these methods work for most, some customer may have 4K or UHD videos that exceed the 120GB upload limit, or large content libraries that they need to ingest as they migrate from another service provider. 

The Vimeo Solutions team can help you seamlessly migrate your content from an existing storage library to your new OTT channel. We will work with you to coordinate the ingestion of your content, depending on how your existing library is stored.

1) I already use Vimeo to store my content, how do we kick-off the migration?

If your content is already on Vimeo.com, you may not need a migration at all. You can follow these guides to easily add Vimeo Videos to your OTT Site: 

If you have a large Video Library in Vimeo, your Implementation Manager can help you with a Bulk Content Migration. In order to migrate, we'll need a few things from your team: 

  1. The current Vimeo Account ID where your videos are stored
  2. The email address for the primary account owner used to log in to the account
  3. The total number of videos currently stored within your existing Vimeo account.
  4. The estimated amount of content total in hours
    1. Note: This is necessary for our team to add the appropriate transcoding time to support the migration

Once the above information is received, your Implementation Manager will schedule the migration. Completion timing is based on how many files are being ingested.

When a Bulk Content Migration is performed from Vimeo, please be aware of the following:

  1. Existing videos within your account will be copied into your OTT CMS using the largest source-file video bitrate available. This will not impact your current Vimeo account and videos will continue to be located within your existing account.
  2. All videos located within your Vimeo account will be copied over into your OTT Site. We cannot migrate a specific selection of videos.
  3. The migrated videos will retain any titles and video descriptions that may have been set within your Vimeo account.
  4. Any video categorization set within your Vimeo account will not be included.

2) What if I don’t have a Vimeo account?

No problem! The Vimeo Solutions Team can help you bulk ingest large, existing libraries of content and metadata. You will work with your Implementation Manager to map out a plan for a content ingestion during onboarding. This will allow you to launch your service with as much of your content as possible!

Overview 

To conduct a bulk content ingestion, we will require that all video content and associated metadata is outlined in a .csv spreadsheet similar to this template. This .csv will be shared with your Implementation Manager as we progress through the process. Your files will need to be named per the required file naming convention listed below. Then, once you are ready and your files are verified, your content will be transferred into your OTT CMS via an Amazon Web Services S3 location.

Details

1) First, you will need an Amazon S3 location (aka an S3 'bucket'). If you don't have one already, Vimeo can provision a location for you.

  • If you would like to create your own Amazon Web Services S3 location:
    • Follow Amazon's handy guide found here and follow along to the next bullet point to ensure your S3 location region is set properly.
    • NOTE - Your created S3 location needs to be set in region US-EAST-1 (N. Virginia). Any other region will not work with the Vimeo OTT platform.
  • If you have your own S3 bucket, follow these instructions to grant access to Vimeo.
  • If you do not have an AWS Account or existing S3 Bucket, your Implementation Manager can provision a temporary location for you. These buckets are configured to automatically wipe every 90 days and should not be treated as permanent storage.

2) Once your S3 location is defined, you will need to upload your content into it. Before you begin uploading, please ensure that your videos follow our recommended compression settings

  • NOTE: We only support ingest from a single folder with all files on the root level of that folder. 

Here are a few applications that support uploading content to S3:

  1. Cyberduck (Our recommendation)
  2. Transmit

3) Then, we will work together to ensure that all content and metadata are formatted properly within your S3 location and ingestion .csv. When configuring your .csv spreadsheet to support bulk content ingestion, please be aware of the following requirements:

  1. File Naming Convention
    • Vimeo OTT supports the ingestion of the following types of files:
      • Video
      • Images (thumbnails)
      • Text tracks (subtitles/captions)
    • Master Requirements for File Naming:
      • The file name can contain letters, numbers, and underscores. No spacing, symbols, or unicode characters are accepted.
      • The file name cannot be over 50 characters.
      • The file name must be unique per type of file located in the S3 location (more on this below!).
    • Video
      • The file name of the video will be its 'Migration ID'. The 'Migration ID' will be located within Column A of the .csv bulk ingestion spreadsheet
        • Example: The_Martian.mp4
      • As long as you adhere to the master requirements above, you're all set and can name your file however you'd like!
      • .mp4 or .mov files are preferred
        • Note: .mkv or .m4v are not supported encoding profiles within Vimeo OTT. Any video encoded with this profile will not upload into your CMS.
    • Video Trailer
      • The file name will need to share the same 'Migration ID' of the source video and have -trailer before the file extension.
        • Example: The_Martian-trailer.mp4
      • Your video trailers do not need to be explicitly listed within the bulk ingestion .csv but they do need to be located within the same S3 location as the video it is paired with.
    • Image (Thumbnail)
      • .jpg, .jpeg, and .png files are supported
      • Recommended resolution is 3840x2160
      • If you would like to use a custom thumbnail for any of your video files:
        • The file name will need to share the same 'Migration ID' of the source video but no additional suffix is needed before the file extension
          • Example: The_Martian.jpg
        • Your video thumbnails will never be explicitly listed within the bulk ingestion .csv but they do need to be located within the same S3 location as the video it is paired with.
      • If you would like to use a custom thumbnail for any category or collection you will create:
        • The file name will need to match the 'Migration ID' of the category or collection you list within the bulk ingestion .csv
          • Example: Let's say you have a new series collection listed within your .csv with a 'Migration ID' as 'Game_of_Thrones'. Your custom thumbnail file for this series collection will be listed within your S3 location as 'Game_of_Thrones.jpg'
    • Text-tracks (Subtitles/Captions)
      • The file name will need to share the same Migration ID of the source video and must contain the two-character country ISO language code before the file extension.
        • Example: The_Martian-en.vtt  / The_Martian-sp.srt
      • The files must be either .srt or .vtt format
      • Text-tracks will never be explicitly listed within the bulk ingestion .csv but they do need to be located within the same S3 location as the video it is paired with.
  2. Content Types
    • Each 'Content Type' that you define will have an associated 'Migration ID'. This ‘Migration ID’ value is critical in associating content to specific collections and needs to match our file naming convention exactly.
    • Content Type Explanations:
      • Category
        • A high-level grouping of individual videos and/or collections
        • The Content Type ‘Category’ will have a ‘Migration ID’ value that will never be associated to a specific source-file within your S3 location. You can have the 'Migration ID' be whatever value you'd like as long as it's a value that you haven't used yet!
      • Movie
        • A type of collection that refers to a stand-alone release of a featured film, short film, documentary, or educational title. 
        • The Content Type 'Movie' will have a 'Migration ID' that needs to match a corresponding video file within your S3 location
          • A movie collection can also optionally have supporting videos, which would utilize the Content Type ‘Video’. These supporting videos will also need to be available within your S3 location.
      • Playlist
        • A type of collection that will feature videos in a pre-defined sequenced
        • The Content Type 'Playlist' will have a ‘Migration ID’ value that will never be associated to a specific source-file within your S3 location. You can have the 'Migration ID' be whatever value you'd like as long as it's a value that you haven't used yet!
      • Series
        • A type of collection that refers to a high-level representation of a show. An example of this is the show 'Game of Thrones'
        • The Content Type ‘Series’ will have a ‘Migration ID’ value that will never be associated to a specific source-file within your S3 location. You can have the 'Migration ID' be whatever you'd like as long as it's a value that you haven't used yet!
      • Season
        • A collection of individual episodes that would be listed under an associated ‘Series’. An example of this would be ‘Season 1’ or ‘Season 2’
        • The Content Type ‘Season’ will have a ‘Migration ID’ value that will never be associated to a specific source-file within your S3 location. You can have the 'Migration ID' be whatever you'd like as long as it's a value that you haven't used yet!
        • Associating your 'Season' to a 'Series' will require you to input a corresponding value in the 'Season ID' (Column E) and 'Sequence Number' column (Column I)
          • If you plan on delivering an additional batch of content after the first ingestion has completed, an existing ‘Series’ does not need to be re-listed to add a new associated ‘Season’. Simply including the relevant Series ID value defined in the original .CSV spreadsheet delivery will connect this ‘Season’
      • Episode
        • The individual video source-file that is sequenced within a ‘Season’ and, ultimately, a part of a ‘Series’
        • The Content Type 'Episode' will have a 'Migration ID' that needs to match a corresponding video file within your S3 location.
        • Associating your 'Episode' to a 'Season' and a 'Series' will require you to input a corresponding value in the 'Series ID' (Column D), 'Season ID' (Column E) and 'Sequence Number' column (Column I)
          • If you plan on delivering an additional batch of content after the first ingestion has completed, an existing ‘Series’ and 'Season' does not need to be re-listed to add a new associated ‘Episode’. Simply including the relevant Series ID and Season ID value defined in the original .CSV spreadsheet delivery will connect your videos appropriately
      • Video
        • Individual videos that may not have an association to a specific category or affiliated collection and would need to be manually organized within your CMS; OR
        • Source-files that would be considered supporting videos for the Content Type ‘Movie’; OR
        • Source-files that would be associated to the Content Type 'Playlist'. 
        • Any additional custom metadata and advertising key/values can be added as columns to the spreadsheet and named accordingly (replacing “[KEY]” with a custom key name):

3. Custom Metadata

  • Though our .csv provides multiple columns for you to include metadata, you have the ability to insert custom values. Any additional custom metadata and advertising key/values can be added as columns (starting with Column AF) to the spreadsheet and named accordingly (replacing “[KEY]” with a custom key name):
    • Metadata_Array: [KEY]
      • For lists of values, which must be separated by pipe symbols (“|”). E.g. “dog|cat”
    • Metadata_Integer: [KEY]
      • For integer values, e.g. 2007
    • Metadata_String: [KEY]
      • For any string values, e.g. “example