aws / amazon-chime-sdk-js

A JavaScript client library for integrating multi-party communications powered by the Amazon Chime service.
Apache License 2.0
701 stars 473 forks source link

Allow an account resource to be sink for Live Connector #2727

Closed ModalityZ closed 11 months ago

ModalityZ commented 1 year ago

Community Note

The supported sink addresses for a Live Connector are only external to AWS: https://docs.aws.amazon.com/chime-sdk/latest/dg/connector-pipe-config.html Please allow an account resource such as an EC2 behind ElasticIP or Route53 domain to be a sink.

Tell us about your request

What do you want us to build?

Which Amazon Chime SDK or feature area is this request for? Live Connector

Tell us about the problem you are trying to solve and why is it hard?

The more details you provide us, the better we will be able to help you.

It should be possible to apply ML in realtime to any media track from the server side.

How are you currently solving a problem?

Are there any workarounds or mitigations you have used? Why is it not working for you?

Currently possible only by self-hosting the WebRTC service.

Additional context

Anything else we should know?

If Chime were built on KVS, it seems this would already be available via a GetMedia api.

MingcongQi commented 1 year ago

You can use Amazon Interactive Video Service for the sink. If you want to get the media file chunks, you can try media capture. If you want to receive rtmp or rtmps stream in EC2, you need to build your own rtmp endpoint in the ec2 instance.

ModalityZ commented 1 year ago

You can use Amazon Interactive Video Service for the sink. If you want to get the media file chunks, you can try media capture.

I'm aware of that option, but it's not what we need. Instead, we need the sink to be one of our own servers.

If you want to receive rtmp or rtmps stream in EC2, you need to build your own rtmp endpoint in the ec2 instance.

How can we direct Chime to stream to the rtmp endpoint on our EC2?

MingcongQi commented 1 year ago

There are some public resources like gstreamer or ngnix to help build your own rtmp server

ModalityZ commented 1 year ago

No, that has not been the problem. We're asking if it's possible to point Chime to one's own AWS resources, not how to configure those resources. Please give a sample RTMP url to, say, an Elastic IP.

On Sun, Aug 27, 2023 at 7:50 AM MingcongQi @.***> wrote:

There are some public resources like gstreamer or ngnix to help build your own rtmp server

— Reply to this email directly, view it on GitHub https://github.com/aws/amazon-chime-sdk-js/issues/2727#issuecomment-1694569327, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKJXV3BILLTGQCYEK5DOOQLXXLGZLANCNFSM6AAAAAA3MWKBGY . You are receiving this because you authored the thread.Message ID: @.***>

-- David Pautler Founder and CTO https://modality.ai

ModalityZ commented 1 year ago

Also, is there a way to protect one's ElasticIP endpoint for RTMP against DoS, such as by allow-listing some standard IP address range for the Chime sender?

On Sun, Aug 27, 2023, 12:24 PM David Pautler @.***> wrote:

No, that has not been the problem. We're asking if it's possible to point Chime to one's own AWS resources, not how to configure those resources. Please give a sample RTMP url to, say, an Elastic IP.

On Sun, Aug 27, 2023 at 7:50 AM MingcongQi @.***> wrote:

There are some public resources like gstreamer or ngnix to help build your own rtmp server

— Reply to this email directly, view it on GitHub https://github.com/aws/amazon-chime-sdk-js/issues/2727#issuecomment-1694569327, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKJXV3BILLTGQCYEK5DOOQLXXLGZLANCNFSM6AAAAAA3MWKBGY . You are receiving this because you authored the thread.Message ID: @.***>

-- David Pautler Founder and CTO https://modality.ai

MingcongQi commented 1 year ago

For security protection, you can refer how IVS does. there is no need to configure a allow-list for the chime in all RTMP platforms. If you want to use ip, you can try rtmp(s):///stream-key

ModalityZ commented 1 year ago

you can try rtmp(s):///stream-key

Thanks!

there is no need to configure a allow-list for the chime in all RTMP platforms

For the specific use-case of pointing Chime RTMP at our own IP address, our IP address must be public, correct? If that is correct, we want to protect our public IP from Denial of Service attacks. So we're asking for sender IP addresses of Chime so we can create an allow-list.

MingcongQi commented 11 months ago

Yes, your ip address must be public. There is no dedicate public ip for our RTMP source.

ModalityZ commented 11 months ago

Thank you for all this essential information!