Google Cloud Platform (GCP) Storage
GCP allows using credentials specifically in the
Interoperability mode. To be able to use this feature you need to first
enable Interoperability Access for your Google cloud storage.
Obtain interoperable keys for GCP storage authentication
- Go to https://console.cloud.google.com/storage/settings
- Select the "Interoperability" tab
- If you haven't enabled it already, click on "Interoperable Access"
Create a new service account:
Under Access keys for service accounts, click on +Create a key for another service account, then CREATE NEW ACCOUNT.
- Give the account a name (for example "Red5Prostorage") and description; click on CREATE.
- Give the service account
Storage Adminpermissions, then click on CONTINUE.
- You can skip the optional steps, and click on DONE
- Copy the
Secretvalues that are displayed with the "New service account HMAC key" popup on account creation. IMPORTANT: copy these values; you will need these for the cloudstorage configuration, and you can't retrieve them after you've closed this window.
Select your project & navigate to Storage in GCP console.
- Select Browser from the left-hand pane
Click on Create Bucket to bring up the bucket creation UI
- Enter a bucket name for your bucket (click CONTINUE)
- Set storage class to Multi-Regional or Regional (Other storage classes are not currently supported)
- If you choose Multi-Regional, select appropriate location from the dropdown list and if choosing Regional, select an appropriate
Standardas the default storage class for your data (click CONTINUE)
Fine-grainedaccess to objects (click CONTINUE)
- You can leave the Advanced settings as default. Click on CREATE.
- After the bucket is created, click on the Permissions tab to verify that the account you created above is listed.
If you are going to be using HLS recordings, then you must add a crossdomain.xml file to the root of your storage bucket. Create the following crossdomain.xml file locally and then copy it up to the bucket:
<cross-domain-policy> <allow-access-from domain="*"/> </cross-domain-policy>