Whether you’re a medium sized video publisher or if you’re a media giant, “Bulk Upload” is an option that you should consider.
What is Bulk Upload?
Bulk Upload (via CSV or XML) enables you to ingest multiple entries and files to the Kaltura server in a single action using a single file. The greatest benefit for bulking your upload is the ability to edit and add entry metadata offline and not directly through the KMC.
Bulk upload streamlines publishing, providing the basis for automated bulk ingestion of files and metadata and overcomes browser and client upload limitations allowing for larger file size ingestion.
There are two methods to upload bulk content: the legacy method where you use a CSV file (Comma Separated Value) and the newer method where you use an XML file, which has many extensive bulk upload features. Using the XML file bulk upload is the recommended method due to its structured hierarchy, allowing for nested objects and metadata. In addition XML Bulk Upload is less error prone and easily extended.
CSV or XML, which should I use?
CSV Bulk Upload
CSV bulk upload supports ingestion of new entries based on the CSV format, and has been supported on Kaltura from its first release, Andromeda. The CSV bulk upload method has had 3 major revisions and is now surpassed by the enhanced XML bulk upload. Although CSV bulk uploads are less structured and have fewer features than the XML bulk upload, CSV bulk upload is easy to use for simply ingesting video files and their related metadata.
CSV files are easy to edit using Microsoft Excel, Google Docs or similar spreadsheet applications.
Let’s go over the latest version of the CSV format.
To specify the fields and their order in the CSV file, the first line in the CSV file should start with an ‘*’ (asterisk sign) followed by the list of field names, separated by a commas. Lines with a ‘#’ (hash sign) will not be processed, as these are essentially comment lines.
Each line after the fields definition line (which starts with an ‘*’ sign) represents an entry to be ingested and should include the values of every field. Every line is a new entry. All entry fields are processed according to the definition line and according to the order of the fields.
A full list of fields and example CSV file can be found here (or downloaded from the KMC Upload menu).
XML Bulk Upload
XML Bulk Upload supports full CRUD (Create, Read, Update, and Delete) operations, allowing for ingestion of entries, updates to existing entries and deletion of bulk entries using an XML format. XML Bulk Upload is the recommended bulk upload option.
The XML format is more readable than its CSV counterpart, you don’t have to remember the order the fields appear in, and empty fields should be skipped.
In addition, XML supports a hierarchical structure while CSV does not. You can define a complete content package using the XML Bulk Upload feature, that includes the video source file, its metadata, its custom metadata profiles, distribution profiles, set of transcoding flavors, thumbnails and other additional relevant data.
The advantages of using XML Bulk Upload are:
- Simplified integration with other systems (for example, migrating media files including their complete metadata from one server to another).
- A streamlined ingestion mechanism, by using XML it is easy to create automated processes to ingest content.
- More comprehensive ingestion models that allow you to manipulate all of the media entry object attributes and their related objects (such as flavors, custom metadata, access control and distribution profiles, etc.).
The full set of features supported by the XML Bulk Upload are described in the XSD (the XML template).
An example XML file can be found here (or downloaded from the KMC Upload menu).
There is a lot to expand on about the bulk upload process and the XML Bulk Upload feature. Let us know if you’d like to learn more or have specific usage questions by leaving a comment below.
In conclusion, every publisher should leverage the XML based bulk upload mechanism in their publishing workflows. Try it out yourself!