ant-media / Ant-Media-Server

Ant Media Server is a live streaming engine software that provides adaptive, ultra low latency streaming by using WebRTC technology with ~0.5 seconds latency. Ant Media Server is auto-scalable and it can run on-premise or on-cloud.
https://antmedia.io
Other
4.19k stars 619 forks source link

Face Identification Before Publishing Stream #4080

Open rahul7827 opened 2 years ago

rahul7827 commented 2 years ago

Is your feature request related to a problem? Please describe.

Can a feature be developed which identify user identity before publishing the stream.

Before publishing the stream I want to verify the publisher identity via the tensor plugin ( Can I use it as face identification ?) or any.

Scenario : Publisher is registered in my own application, where I have his/her profile picture. When streaming page gets loaded and camera feed populate at publisher screen, There is a button which capture image from video area (can say snapshot capture in base64 format).

Now I want to verify that image with publisher's profile picture (Consider profile picture is on S3). If both image accuracy threshold is OK ( lets say >70). Only then I want to enable publish stream button.

@mekya will you guide me if you have its solution. I can try some workaround.

Thank you.

mekya commented 2 years ago

Hi @rahul7827 ,

I think you can use webhook authentication for the server side. You can let the AMS ask your backend if the stream id should be allowed or not. https://github.com/ant-media/Ant-Media-Server/wiki/Webhook-Authentication-for-Publishing-Streams I mean you need to protect the server for publishing no matter button is enabled on the client side.

For the client side, enabling publish button is something you can easily do integrating your frontend and backend.

rahul7827 commented 2 years ago

Hi @mekya , Sorry I could not make you understand the issue.

I just wanted to know the way how I can achieve the facial identification

I am able to handle the frontend and backend things.

The point where I got stuck is : How to compare two pictures similarity.

Scenario is :

Publisher opened the publish page, and his video starts playing (Means he is able to view his face in the video).

At this time I need to have a face identification system which can compare the publisher profile picture (saved in application db and S3) with the video playing on publish page (I can capture the image from video area using canvas and base64).

I mentioned "tensor plugin" in my issue. Since I found this on "Media server Dashboard (Inside application setting)". I thought there would be any way to achieve the face identification using Tensor.

Hope I am clear at this time. If something more needs to be elaborated. We can connect in a meeting.

Thank you for your response.

mekya commented 2 years ago

Hi @rahul7827 ,

I see your point. Thank you.

The "tensor plugin" is just a pre-trained object detection plugin and we plan to remove it from the core of the media server. We'll maintain it via plugin in here

TBH, I'm not good at Tensorflow or these things, you may need to implement this feature as a plugin and deploy it to your media server as a plugin. You can check this out as well

If you would like to discuss furhter, yes sure we can connect in a meeting. You can book a meeting here -> https://calendly.com/mekya

Regards, A. Oguz

rahul7827 commented 2 years ago

Hello @mekya

Thank you for letting me know about tensor plugin. Also I don't think connecting in a meeting would be productive for us after getting info about tensor. You can help me by sharing the plugin development tutorial so that I can try to develop this. Face recognition is an useful feature, which I think broadly used in dating sites.

mekya commented 2 years ago

Hi @rahul7827 ,

The documentation about the plugin development is this one https://antmedia.io/plugins-will-make-ant-media-server-more-powerful/

We plan to provide a better documentation for that.