The main idea of the project is to enable a live video streaming, over an array of smartphones to control and monitor a R33 robot. The implementation should support a star/mesh topology, and a bandwidth to enable good quality video streaming. We tested many methods for implementing the streaming:
Streaming over a shared database – Firebase
- Another reason why this method was not used, was duo to the random delays in read/write times.
- Streaming over a TCP/IP socket – android:
- The idea is to establish a socket connection between two devices and begin the data transfer.
- We took it further and implemented a better algorithm, that uses a multi-threaded buffer for saving frames (to minimize data loss).
- Conclusion:
- The best method was to stream over TCP/IP sockets.
- The algorithm that uses multi-threaded buffers provide better video quality and less frame loss.
- The algorithm could be expanded to star/mesh topologies easily.