Remote Web Development Job In IT And Programming

Minimal template for minimal multiplayer project but including video feed management

Find more Web Development remote jobs posted recently Worldwide

Big picture
We have several physical rooms with people visually checking objects on an android device.
The device is not using its embedded webcam but a webcam, fixed in the room. The device is just a remote control for the checking process.
Image processing is heavy Thus we wish to use a powerful computer for that and in an asynchronous way.

Installation :
- one fixed webcam and one android device per room
- every webcam is connected to the same PC
PC :
- dispatch videos from webcams to devices
-and process video frames on request
We want Unity on PC and devices (=android devices)

Concepts
Room : a room with a webcam in a fixed transform (position, rotation)
A room has :
- a name
- a camera

Camera : a webcam with some parameters like instrinsic parameters, transform. There could be up to 6 webcams.
A camera has intrinsics and transform (consider its just an xml)

Object : an object, identified by an id. It will be downloaded from a remote server. Objects will be inserted in rooms for validation by an operator.
In this document, object has only an id.

User : a user. Identified by a name. Probably not more than 2 will be connected at the same time. 6 maximum.

Server side (=on PC)
Functionally, there are 2 scenes:
- one to start/stop the server and manage rooms/camera
- one to calibrate a camera/room = finding parameters for this room

Main scene
Allows :
- start/stop the server and see connected rooms
manage cameras and rooms. A menu button displays a simple UI with:
-dropdown cameras (list the connected camera devices)
- dropdown rooms (list the created rooms)
It is possible to create/edit a new room and attach a camera
it is possible to see the video feed from a selected camera (purpose : checking the selected camera is indeed the one we want to use)
a button allows to calibrate a selected room. Opening a new scene : calibration scene
No recommendation for UI.Can be very basic.

Calibration scene
It displays the webcam feed corresponding to the camera of the above selected room
when the user clicks on a button, it freezes the feed
and the user will do some operations. Not included : we will calibrate the camera and find its transform in the room.
the user can go back to live feed
when the user returns to live feed or Main scene, parameters of the camera are saved (make it a dummy xml for now)

Always (if the server is started), in the background
The server :
- streams videos live to rooms given the (cameraId, roomId). So each connected user can see the camera feed corresponding to the room hes in.
- manage requests from users. Could be getObjectPosition(roomId,objectId): transform
->it runs a heavy process. It processes the last frame of corresponding webcam. So it will use the camera parameters and frame to find the object transform. It takes up to a few seconds : make a dummy one in a separate thread (not to block everything).
->once request is processed, the server notifies the room with a transform info. Make it random or based on a simple image feature.
NB : the app on device should not be frozen.

NB : OK if we can calibrate a room only if the server is stopped.

Client side
-A user start the app (android app).
Hes offered to connect to the server. He must specify the room hes in.
ip and port of the server should be editable but persisted (playerpref?)
We consider the device will be attached to a room. So, default room id should be editable (best is dropdown list) but persisted (playerpref?)

Once connected, he can see the video feed of the room hes in.

- By pressing a button he requests the object position (getObjectPosition, see above).
Last Calculated Transform should be displayed on screen = text for instance or placing a dummy object.

A button allows to disconnect.

Constraints
Its an inhouse project. No remote server.
Unity version can be discussed. We use 2017.3.1f1 for now. So : not below this version.

Delivery
Unity project will all sources to deploy app on PC and device
About the recuiter
Member since Mar 14, 2020
Dipankar Goswam
from Illinois, United States

Skills & Expertise Required

Online Multiplayer 

Candidate shortlisted and hiredHiring open till - May 14, 2024

Work from Anywhere

40 hrs / week

Fixed Type

Remote Job

$479.16

Cost

Looking for help? Checkout our video tutorial
How to search and apply for jobs

How to apply? Do you have more questions about the Job?
See frequently asked questions

Similar Projects

Create an online domino game

I want a domino game app (iOS/Android/ pc) that can be mobile, or played on a website.

Needs: The graphics need to be nice and professional. The game should support 1-4 players. There needs to be a way to log in and possible link to Faceb...read more

Turn my board game into an app

I have a board game I designed, and would love to be able to play it as an app. It should be able to do the following things:
Connect with other users so up to five players can play together live
Have bots that users can play against and...read more

Unity developers

Want to a unity developers who can design ludo multiplayer online game. Price will be discuss through chat.

Full-stack Unity Developer to create online multiplayer games

Im looking for a Unity developer with full-stack experience. I will need:

- An instance on Nakama configured and deployed to handle account registrations, stats, messaging, Google/Facebook sign-in, etc.
- A series of simple (either real...read more

UNITY 3D expert needed

Hi Unity 3d Experts :)

We are looking for experts who know C#
to set up
Photon pun2
Photon voice
Photon chat
Ability for user to select their avatar

We are looking for a creative person who is excited about what...read more