mirror of
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git
synced 2024-11-15 23:01:02 +00:00
249b0ac4c1
Rusoto does not implement timeouts or retries for any of its HTTP requests. This is particularly problematic for the part upload stage of multipart uploads, as a blip in the network could cause part uploads to freeze for a long duration and eventually bail. To avoid this, for part uploads, we add (a) (configurable) timeouts for each request, and (b) retries with exponential backoff, upto a configurable duration. It is not clear if/how we want to do this for other types of requests. The creation of a multipart upload should be relatively quick, but the completion of an upload might take several minutes, so there is no one-size-fits-all configuration, necessarily. It would likely make more sense to implement some sensible hard-coded defaults for these other sorts of requests. |
||
---|---|---|
.. | ||
src | ||
build.rs | ||
Cargo.toml | ||
LICENSE-MPL-2.0 | ||
README.md |
gst-plugin-s3
This is a GStreamer plugin to interact with Amazon Web Services. We currently have elements to interact with S3 and Transcribe.
AWS Credentials
AWS credentials are picked up using the mechanism that rusoto's ChainProvider uses. At the moment, that is:
- Environment variables:
AWS_ACCESS_KEY_ID
andAWS_SECRET_ACCESS_KEY
- AWS credentials file. Usually located at ~/.aws/credentials.
- IAM instance profile. Will only work if running on an EC2 instance with an instance profile/role.
An example credentials file might look like:
[default]
aws_access_key_id = ...
aws_secret_access_key = ...
s3src
Reads from a given S3 (region, bucket, object, version?) tuple. The version may be omitted, in which case the default behaviour of fetching the latest version applies.
$ gst-launch-1.0 \
s3src uri=s3://ap-south-1/my-bucket/my-object-key/which-can-have-slashes?version=my-optional-version !
filesink name=my-object.out
s3sink
Writes data to a specified S3 (region, bucket, object, version?) tuple. The version may be omitted.
$ gst-launch-1.0 \
videotestsrc ! \
theoraenc ! \
oggmux ! \
s3sink uri=s3://us-west-1/example-bucket/my/file.ogv?version=my-optional-version
awstranscriber
Transcribes audio to text.