mercredi 21 février 2018

Encrypted audio livestream web (UDP, DTLS on web)

First of all, I want to mention that I'm not very experienced in web development, I'm experienced in Java and C-Languages though.

I have a project where a huge interaction between several platform occurs (Embedded System <-> Android <-> Server -> Web Client). However I only have some problems with the web client.

Already achieved: I'll briefly explain what should happen in the android <-> server -> web client part. Android client is already sending live-recorded audio to the server without encryption yet. Aside from that every 5 seconds there is an image file that is uploaded and the location (coordinates) is sent every second. The server is able to get all above mentioned data and save them.

I need ideas how to realize the web client side.

Goal: The most important thing is, that the server has to have all the data which is sent to the client. I've to save all the audio,pictures and location (a pathway of coordinates) of the user for a certain time period before deleting them. On the client side, the web client should be able to see who is "streaming" right now. By choosing one of them the livestream should start (eavesdropping should be prevented by encryption!). The client should picture the image, once the client sends a new one after 5 seconds it should change and also the locations should be shown on a map.

Android -> Audio -> Server -> Web-Client

Android -> Picture -> Server -> Web-Client

Android -> Location -> Server -> Web-Client

Own research: I considered using DTLS since the livestream is not intended for other people. Only logged-in user should be able to hear the livestream. Web-Audio API: I did a lot of things with the web-audio api and I was able to play the received raw-file. After making more researches, I figured out that web-audio API is not able to play realtime audio. It needs a solid source (e.g. a file), so no livestream with web-audio api. WebRTC: It's only p2p so the server is not able to save the data...

And my last knowledge is that DTLS is not possible in web, since the web is only built on TCP and not UDP (according to some information on a blog)... I'm kinda confused..

Questions: On what way can I get live raw audio (encrypted) from the Server and play it on a webpage (what player?, how to send realtime data?)?

How to send the live location and the picture?

What map api can I use to show the live location?

MAIN QUESTION: Since it all is live data, what environment is the best suitable for all these problems (Node with socket.io maybe?)?

I'm open to all techniques and would do some own research and learn once somebody can tell me that all the intended goals are possible with the suggested technique.

Thank you.




Aucun commentaire:

Enregistrer un commentaire