Using Cloud Object Storage
Oracle Cloud’s Object Storage Amazon S3 Compatible API can easily integrate with your Unified Origin VOD workflow by accessing your media files in a similar way to AWS, Google Cloud and Azure.
Note
The Amazon S3 Compatibility API supports only path style URLs. V2 (virtual hosted) styled URLs aren't supported.
Go ahead and create a oracle cloud customer secret key
by navigating to Identity > Domains > YOUR_DOMAIN > Users > YOUR_USER >
Customer Secret Keys > Generate Secret Key
Copy the Secret Key (It won't be shown again). This will be used as your
S3SecretKey
& then copy the Access Key (which is always available via the
user interface) and this will be used as your S3AccessKey
.
Create an oracle cloud object storage bucket in your chosen Compartment and Region, then you can configure Apache to access the bucket with or without Apache Configuration.
Obtain the oracle cloud object storage namespace from Tenancy Details >
Object storage settings
. This must then be used alongside the Region
Identifier and Bucket name to for the Proxy URL used.
https://{object-storage-namespace}.compat.objectstorage.{region}.oraclecloud.com/{bucket}
<VirtualHost *:80>
ServerName www.example.com
DocumentRoot /var/www/yoursite
# Enable just in time packaging for VOD and using subrequests for I/O backend requests.
<Location "/">
UspHandleIsm on
UspEnableSubreq on
</Location>
# Separate Location directive for remote storage
<Location "/usp-eu-west-bucket/">
IsmProxyPass "https://usp-oci-storage.compat.objectstorage.eu-amsterdam-1.oraclecloud.com/usp-eu-west-bucket"
</Location>
# If proxying to SSL hosts is desired, you must turn on SSLProxyEngine.
SSLProxyEngine on
<Proxy "https://usp-oci-storage.compat.objectstorage.eu-amsterdam-1.oraclecloud.com/usp-eu-west-bucket">
S3AccessKey 0c012086a285498ba51e64b7f30b9f5f
S3SecretKey VGhpc19Jc250X2FfcmVhbF9zZWNyZXQK==
S3Region eu-west-1
S3UseHeaders on
ProxySet connectiontimeout=5 enablereuse=on keepalive=on retry=0 timeout=30 ttl=300
</Proxy>
</VirtualHost>
Request to stream content can be made via the remote location as normal, for example:
% curl -I http://localhost/usp-eu-west-bucket/tears-of-steel-avc1.ism/.m3u8
HTTP/1.1 200 OK
Date: Mon, 02 Dec 2024 15:40:33 GMT
Server: Apache/2.4.62 (Unix)
X-USP: version=1.14.4 (30793)
Content-Length: 2449
Accept-Ranges: bytes
Last-Modified: Mon, 02 Dec 2024 15:32:47 GMT
ETag: "usp-2E809478"
Access-Control-Allow-Headers: origin, range
Access-Control-Allow-Methods: GET, HEAD, OPTIONS
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: Server,range
Content-Type: application/vnd.apple.mpegurl