In Amazon's S3 dashboard, create a bucket that matches the subdomain you want to use.
For example, videos.domain.com sub domain would need a matching bucket, videos.domain.com. Make sure the created bucket is set to PUBLIC.
Left click on the bucket to open it. Go to Permissions and CORS configuration.
Inside CORS configuration, you will need to add this information configured for your subdomain:
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>http://videos.domain.com</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<ExposeHeader>x-amz-server-side-encryption</ExposeHeader>
<ExposeHeader>x-amz-request-id</ExposeHeader>
<ExposeHeader>x-amz-id-2</ExposeHeader>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
You will need to create a CNAME record. Set the name as the subdomain, in our example, this is video.
The Value would be: video.domain.com.s3.amazonaws.com