Using S3 storage

First setup the AWS CLI interface.

The cli interface allows to list available buckets:


aws s3api list-buckets --region eu-central-1

as well as create buckets


aws s3 mb s3://your-bucket --region eu-central-1

copy content to the bucket:


aws s3 cp tears-of-steel s3://your-bucket/tears-of-steel --recursive --region eu-central-1

or delete content from the bucket:


aws s3 rm s3://your-bucket/tears-of-steel --recursive --region eu-central-1

The endpoint then is the following:

Please note that permissons should be set on content before it can be accessed.

One way is setting an ACL on the bucket, the following makes the bucket world readable:

  "Version": "2012-10-17",
  "Statement": [
      "Sid": "MakeItPublic",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::your-bucket/*"

But Using S3 with Authentication can be followed as well.

For further options and possibilities please refer to the AWS documentation.

Following the storage proxy Installation documentation, the just created bucket and uploaded content can be streamed by adding the UspEnableSubreq directive and defining <Proxy> sections for each remote storage server used.

<Location "/">
  UspHandleIsm on
  UspEnableSubreq on

SSLProxyEngine on

<Proxy "">
  ProxySet connectiontimeout=5 enablereuse=on keepalive=on retry=0 timeout=30 ttl=300


Regions can also be appended explicitly, e.g. adding -eu-central-1 after s3 so the URL becomes

The URL to the content then becomes the following, for instance for MPEG-DASH:

where is the webserver running USP and has the previous vhost snippet (and the tears-of-steel content in 'your-bucket' used with both IsmProxPass and Proxy directives.


For guidelines on howto use Unified Packager with Amazon S3 see How to write directly to Amazon S3.