awslabs / amplify-video

An open source Category Plugin for the AWS Amplify-CLI that makes it easy to deploy live and file based streaming video services and integrate them into your Amplify applications.
https://www.npmjs.com/package/amplify-category-video
Apache License 2.0
267 stars 56 forks source link

VOD - Generates an event bridge when the MediaConvert has been finished or failed #160

Open yudao opened 3 years ago

yudao commented 3 years ago

Is your feature request related to a problem? Please describe. When we upload a video, we don't know when the transcoding has been finished or failed. Amplify is great due to his connection with AppSync to realise Pub/Sub live events. So it will be great to perform an event bridge connected to AppSync which we could rely on a custom function.

Describe the solution you'd like amplify add video ? Please select from one of the below mentioned services: Video On Demand ? Provide a friendly name for your resource to be used as a label for this category in the project: myvodstreams ? Select a system-provided encoding template, specify an already-created template name: Default HLS Adaptive Bitrate ? Do you need and EventBridge notification on transcoding job? Y/n <--- Yes ? Which function do you want to associate with the EventBridge? -> Function -> Function2 ... Describe alternatives you've considered For now we have to trick a little bit to have this functionality. It will be nice to have this workflow automatic.

Thanks for this great plugin!

Yu.

wizage commented 3 years ago

Thanks @yudao for the feature request.

I am curious, we been looking at storing the state of the transcode job to the DynamoDB table, and then use appsync subscriptions to send an update saying that the field transcoded went from "submitted", "job in progress" to "finished". What benefits would you think EventBridge would provide as this is for sure something I haven't thought about but brings up some really cool ideas so I am interested in this!

yudao commented 3 years ago

Hi @wizage!

Thanks for your reply.

In fact, storing informations about assets (input and output) in a DynamoDB store to perform AppSync graphql Pub/Sub is ok. My goal was to have a way to trigger event on asynchrone job. I prefer to separate concern (back, front, ...) and choose myself where I want to receive event, that's the point of the EventBridger. Actually I already have a DynamoDB store to CRUD my video assets (not the CRM one into the plugin) and It's redundant to create an asset table only to store informations that will should be in my video table. But I'm possibility wrong with a misunderstood about your DynamoDB assets workflow.

Thanks for this great plugin!

Yu.

git-goblin commented 3 years ago

Hi,

Has there been any further feedback on this?

Would be a great feature for knowing we have the videos to work with once successfully uploaded