P2P Streaming with 9 participants * 2 camera each on RPI with recording capabilities

This project received 10 bids from talented freelancers with an average bid price of $3219 USD.

Get free quotes for a project like this
Project Budget
$1500 - $3000 USD
Total Bids
Project Description

I need a 'peer to peer' video stream on raspberry pi 3. The stream would have maximum of 9 participants and every participant would have maximum 2 cameras to publish except 1 participant which will be explained further. The stream would be based on turns and with every turn 1 participant would stream video from maximum 2 cameras, maximum 7 participants would listen the stream of maximum 2 cameras and 1 participant that will be server would listen and record all the content streamed through turns weather participants stream 2 cameras or 1 or none per turn. When participants agree to start turn based streaming the stream would be initialized as fast as possible (under 10 seconds) and the first participants would start providing the stream from his 2/1/none cameras depending on properties and the server would listen and record content if its set in properties. After first participant clicks next button which would be under 10 seconds of turn, next turn starts and another participant is listened by other participants and servers depending of properties (all participants are able to chose whether to stream when their turn to stream is/whether to listen the stream when they are not on turn ). The switch between participants streaming would be under 1 sec if everything is good with connection. Also to connect between participants would be via STUN/TURN servers. Another feature we need is to have compatibility with 'phoneRTC' (phoneRTC is modified to work with 8 participants with no record participant and uses 1 camera per participant). The view of cameras should be on player view (like UV4L) with 320*240 - 640*480 that would appear where You specify in settings (for example 1 camera in left corner and 1 camera in right corner). All the streaming process should be controllable via java script (client or server control).

So to summarize:

-- maximum 9 participants

-- 2 cameras or 1 camera or none

-- recording server as participant

-- STUN/TURN server

-- switch between cameras under 1 second

-- compatibility with phoneRTC

-- view in media player like UV4L

Looking to make some money?

  • Set your budget and the timeframe
  • Outline your proposal
  • Get paid for your work

Hire Freelancers who also bid on this project

    • Forbes
    • The New York Times
    • Time
    • Wall Street Journal
    • Times Online