FLVio provides video transcoding as a web-service to web-sites using a specially designed API, FLVio MediaKit
The FLVio MediaKit provides a RESTful API for integrating with the FLVio Media Farm. The MediaKit API aims to solve the common problems with integrating user-generated video content with a web application. The API is designed for B2B integration. That is, web site developers will use the API to add user-generated video content to their web application. The use of the FLVio service is transparent to end users of the web application.
A Flash video (FLV) file and a JPEG thumbnail image are automatically generated for each video file that is uploaded to FLVio. These "video assets" are served to the public from the FLVio servers via progressive HTTP download and, optionally, cached by a CDN for optimal delivery to browsers. Other web-optimised video formats besides FLV/JPEG are available on request, contact FLVio for more information.
The FLVio MediaKit API exposes the following functionality:
- Transfer video content uploaded by your users to the FLVio Media Farm. Uploaded videos are automatically transcoded into web-optimised video assets. All uploaded video content is stored and managed by the FLVio Media Farm and does not have to be stored locally by your web application.
- Control important aspects of the video transcoding process (for example, the output video dimensions).
- Retrieve a list of all video content that FLVio is managing for your web application.
- Retrieve metadata about a video, such as the transcoding status or published flag.
- Instantly unpublish video content to prevent it from being served to the Internet (useful if a video is deemed to be unsavoury or in violation of copyright). Video content can be published again at any time.
- Delete video content.
- Fetch details about the encoded video assets that have been generated by the Media Farm (i.e. the FLV/JPEG files).
The MediaKit API is designed around REST principles, meaning that all API calls are made using standard HTTP requests. Here are some examples to demonstrate how simple they are:
Upload a video to FLVio:
PUT https://mediakit.flvio.com/api/v1/media/123
Retrieve the uploaded video file back from FLVio:
GET https://mediakit.flvio.com/api/v1/media/123
Fetch metadata about a video:
HEAD https://mediakit.flvio.com/api/v1/media/123
Delete a video from FLVio:
DELETE https://mediakit.flvio.com/api/v1/media/123
Fetch a list of all videos:
GET https://mediakit.flvio.com/api/v1/media
Some calls return binary data (i.e. video files) while other calls return data representations in standard XHTML format.
Note that, even though the URLs look like standard website addresses that you may type into a browser, they are actually designed to be called programmatically from your web application. They aren't designed to be viewed in a web browser by a user (although doing so is possible and can actually be useful for testing purposes). This is one of the principles of REST.