amplify-video.js
v1.0.3
Published
amplify-video javascript client library
Downloads
4
Maintainers
Readme
amplify-video.js
amplify-video.js is an unofficial client library that is purpose built for Amplify Video managed resources. It's a superset of the existing amplify.js libraries for video asset.
Installation
$ npm install --save amplify-video.js
import Video from 'amplify-video.js';
Local development setup
$ npm install -g
$ npm run dev
and then
import Video from 'amplify-video.js/dist';
*npm run dev
will watch for changes in your file compile your project based on tsconfig.json
file
Tests
Unit-tests are located in unit-tests/
directory, all unit-tests must go here.
End-to-end tests are located in e2e/
directory, it contains a React Application and Cypress allowing us to test real use cases with the library simulating user interaction in a browser.
You can run unit-tests and end-to-end tests independently
Unit-tests only
$ npm run unit-test
If you want to watch changes in your files you can pass --watch to previous command.
$ npm run unit-test -- --watch
End-to-end tests only (no GUI)
$ npm run cypress
Both (unit & end-to-end tests)
$ npm test
For more information about end-to-end testing check README.md in e2e
directory.
How to use
Configuration and registration
import Amplify from 'aws-amplify';
import Video from 'amplify-video.js/dist';
import awsconfig from './aws-exports';
import awsvideoconfig from 'aws-video-exports';
Amplify.configure(awsconfig);
Amplify.register(Video);
Video Upload
import Video from 'amplify-video.js';
import awsvideoconfig from 'aws-video-exports';
const params = {
bucket: awsvideoconfig.awsInputVideo,
};
const metadata = {
title: 'amplify-video.js rocks!',
description: 'Awesome description',
};
const { data } = await Video.upload(file, metadata, params);
Playback URL generation
import Video from 'amplify-video.js';
import awsVideoConfig from './aws-video-exports';
const vodAssetId = 'rand-uuid-4242-4242-4242';
const params = {
awsOutputVideo: awsVideoConfig.awsOutputVideo,
};
const { data } = await Video.playback(vodAssetId, params);
Metadata fetch
import Video from 'amplify-video.js';
import awsVideoConfig from './aws-video-exports';
const vodAssetId = 'rand-uuid-4242-4242-4242';
const { data } = await Video.metadata(vodAssetId);
Metadata update
import Video from 'amplify-video.js';
import awsVideoConfig from './aws-video-exports';
const vodAssetId = 'rand-uuid-4242-4242-4242';
const metadata = {
title: 'This is a new title',
description: 'And a new awesome description',
};
const { data } = await Video.metadata(vodAssetId, metadata);
Delete
import Video from 'amplify-video.js';
import awsVideoConfig from './aws-video-exports';
const params = {
bucket: awsvideoconfig.awsInputVideo,
};
const vodAssetId = 'rand-uuid-4242-4242-4242';
const { data } = await Video.delete(vodAssetId, params);