Upload video to an external storage provider ie. Amazon S3.
npm i @nexrender/action-upload -g
When creating your render job provide this module as one of the postrender
actions:
// job.json
{
"actions": {
"postrender": [
{
"module": "@nexrender/action-upload",
"input": "output.mp4",
"provider": "s3",
"params": {
"region": "us-east-1",
"bucket": "name-of-your-bucket",
"key": "folder/output.mp4",
"acl": "public-read"
}
}
]
}
}
input
optional argument, path of the file you want to upload, can be either relative or absulte path. If skipped, defaults to current job output video file.provider
required argument, object containing the name of the providerparams
required argument, object containing parameters for the upload (provider-specific)
Refer to AWS SDK Documentation for information on setting credentials.
{
'region': 'us-east-1',
'bucket': 'name-of-your-bucket',
'key': 'folder/output.mp4',
'acl': 'public-read'
}
region
required argument, the S3 bucket regionbucket
required argument, the S3 bucketkey
required argument, the object keyacl
required argument, the ACL
Refer to mscdex/node-ftp for information regarding params and usage.
Basic params info:
host
- string - The hostname or IP address of the FTP server. Default: 'localhost'port
- integer - The port of the FTP server. Default: 21user
- string - Username for authentication. Default: 'anonymous'password
- string - Password for authentication. Default: 'anonymous@'
Example:
{
'host': 'ftp.example.com',
'port': 21,
'user': 'myuser',
'password': 'mypassword123',
'output': '/var/temp/myfile.mp4'
}
You most likely need to authenticate to interact with a GCS bucket. This is done using Application Default Credentials. Refer to the Google Cloud Documentation for more information on authentication.
The upload params are given as part of the action:
bucket
(required)item
(required)contentType
(optional)cacheControl
(optional)
Example:
// job.json
{
"actions": {
"postrender": [
{
"module": "@nexrender/action-upload",
"input": "output.mp4",
"provider": "gs",
"params": {
"bucket": "name-of-your-bucket",
"item": "folder/uploaded.mp4",
"contentType": "video/mp4",
"cacheControl": "public, max-age=3600"
}
}
]
}
}