API Reference
These docs are for v1.0. Click to read the latest docs for v2.0.

Ingest a Video

Make SafeStream aware of your video files

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

SafeStream Ingest Overview

Ingesting a video allows SafeStream to prepare the video for watermarking. The source of the file is discarded but SafeStream keeps a version of the file in its secure storage for use in watermarking video. Each video only needs to be ingested once.

Ingesting a video requires you to include an http reference to the video file. We recommend you use expiring HMAC signed URLS that expire shortly after ingest.

The initial file ingest can take a few minutes depending on the file duration. You can get the status of the ingested file via a GET request to "https://api.safestream.com/0.1/videos?key={yourkey].

A future version of our SDK's will support ingest by upload, directly from your local system.

Once SafeStream has ingested your video its ready to begin accepting on-demand watermarking requests. This means that you can use the ingested video to watermark videos on the fly in a fraction of the time of traditional watermarking methods. While the video ingest take ~25% of playback time, real-time watermarking can be completed in seconds.

🚧

Enabling Forensic Watermarking

For videos that you'd like to apply a forensic watermark to you need to set the payload property "enableForensic" to true. See above for the full request payload documentation.

Embedding a forensic watermark in videos of less than 5 minutes in duration is not supported.

👍

Next: Learn how to watermark your videos

Watermarking Documentation

Keeping Track of Videos

There is no penalty for trying to ingest the same video file multiple times. In fact, certain integration scenarios may require that you repeatedly attempt to ingest files in order to ensure that all file on a given page are ingested. The service will simply respond with a message indicating that this video has already been submitted.

In order to reference your videos for watermarking downstream, you can use several strategies for tracking video references:

By Source URL:
By default, the Source URL you submit is used as the video key for all subsequent requests. This approach can be helpful if you don't have any other identifiers available, such as an internal asset ID or other key. We do not recommend using the URL as a key as this information could be revealed downstream when a watermarking request is made. Use the generated ID or another KEY instead.

Custom Key
This would most likely be an existing asset ID that is stored in a database. Your MAM or database system likely assigns a unique key which SafeStream can use.

Auto Generated ID
In any event, SafeStream generates its own ID for each ingested video. If storing this key is possible in your integration, use it to reference video every time you request a watermarked stream.

Body Params
string
required
Defaults to http://solarsystem.nasa.gov/docs/video/JPL-20151208-DAWNm-0001-180.mp4

This is where SafeStream will download the video from. This must be globally unique. The same URL cannot be ingested more than once.

string
Defaults to my-space-video

Optional: This field is for you to use to identify the video using your own identifier.

boolean
Defaults to true

Enable end-to-end encryption. Only use this if you are using the SafeStream default video player or if your own player supports AES decryption of HLS segments

boolean
Defaults to true

Ensure that all URL's to watermarked files are HMAC signed. Disabling this means that URL's to watermarked assets will not be HMAC signed and will be accessible to anyone who has them.

boolean
Defaults to false

Allow this video to be forensically watermarked. This does not forensically watermark the video. It prepares it for subsequent forensic watermarking. This requires additional time equivalent to the entire runtime of the video. This is recommend for high-value content on videos over 10 minutes in duration. (NOTE: When enabling forensic watermarking ingest times will increase)

Responses

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json