gst-plugins-rs/gst-plugin-s3
Sebastian Dröge 833b16def6 Update element/typefind factory ranks
The only None ranks now are:
- cdgdec/cdgparse: Primary
- rav1enc: Primary
- reqwesthttpsrc: Marginal
- s3sink/s3src: Primary
- mccenc/mccparse: Primary
- sccenc/sccparse: Primary

All other ranks are set to None until the elements are ready to replace
the existing C elements, or are otherwise production-ready and of a
element kind that should be autoplugged in one way or another.

For example the sodium elements are production-ready but can't be
autoplugged and as such should stay at a None rank.
2019-07-02 13:14:06 +03:00
..
src Update element/typefind factory ranks 2019-07-02 13:14:06 +03:00
build.rs Add build.rs that provides a version number, release date and other details 2019-06-03 11:11:29 +00:00
Cargo.toml Add build.rs that provides a version number, release date and other details 2019-06-03 11:11:29 +00:00
README.md Add plugin to stream data to AWS S3 bucket 2019-06-26 16:34:56 +01:00

gst-plugin-s3

This is a GStreamer plugin to interact with the Amazon Simple Storage Service (S3).

Currently, a simple source element exists. The eventual plan is to also add a sink, to allow writing out objects directly to S3.

AWS Credentials

AWS credentials are picked up using the mechanism that rusoto's ChainProvider uses. At the moment, that is:

  1. Environment variables: AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY
  2. AWS credentials file. Usually located at ~/.aws/credentials.
  3. 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 bucket. The region parameter is optional, and if not specified, the default parameter will be used (from .aws/config file).

$ gst-launch-1.0 \
    videotestsrc ! \
    theoraenc ! \
    oggmux ! \
    s3sink bucket=example-bucket key=my/file.ogv region=us-west-1