Distributed Recording

From iPi Docs
Revision as of 13:51, 13 January 2015 by Vmaslov (Talk | contribs)

Jump to: navigation, search
DistributedRecording.png

Introduction

Distributed Recording is a feature of iPi Recorder which provides the ability to record synchronized video from multiple devices connected to several computers.

This feature allows to overcome the following restrictions and limitations:

  • Only single MS Kinect 2 sensor is supported by drivers and libraries from Microsoft (Microsoft Kinect SDK 2.0)
    This is why multiple computers are required to record from multiple MS Kinect 2 sensors. And Distributed Recording allows to obtain one synchronized video in this case.
  • Each MS Kinect 1 / ASUS Xtion / PrimeSense depth sensor should be connected to a separate USB controller
    That is to record from two such depth sensors at least two USB controllers are required. For three depth sensors — three USB controllers. Many laptops and some desktop PCs don't have three USB controllers. By using Distributed Recording one can split the sensors between several computers.
  • Not more than two Sony PS3 Eye cameras can be connected to the same USB controller
    As a result, to record from six PS3 Eye cameras three USB controllers are required; to record from eight PS3 Eye cameras four USB controllers are required; etc. And now there is an option: add controllers to one PC or use several computers to record.
  • To record from large amount of cameras fast CPU and HDD are required
    Even if one has enough USB controllers to record using one PC, all data from all cameras should be processed and stored on disk drive in real time. This is why we recommend to use modern 4+ cores CPUs and fast disk drives like SSD or/and RAID 0. However, Distributed Recording allows to record even on low-end laptops distributing overall load on multiple computers having lower performance.

Preparations

  • Prepare as many computers as you need to record from all desired devices (cameras, sensors, controllers).
  • Install iPi Recorder on each computer.
    Note.png
    Note: iPi Recorder is free thus you can install it on any number of computers independent on license of iPi Mocap Studio.
  • All computers should be connected to one and the same local network (LAN). In most cases it's most convenient to use Wi-Fi router for it.
    Important.png
    Important! iPi Recorder uses TCP ports 31415 and 31416 for incoming connections. Ensure that no other programs use these ports.
    Tip.png
    Tip: You can use modern smart phone to provide Wi-Fi access point.
    Note.png
    Note: Internet connection is not required for Distributed Recording.
    Note.png
    Note: During distributed recording, it is recommended to shutdown other programs producing constant network traffic like BitTorrent clients, instant messengers etc.
  • For each computer:
    • Attach all designated devices to the computer
    • Run iPi Recorder
    • Prepare for recording as usual including devices selection, devices setup, background evaluation
  • Now you should be on the tab RECORD on each of the computers

Recording

  • One computer will control other(s). This computer is called Master. Other(s) are called Slave(s).
  • You can choose any computer as master. On other computer(s) click Enter Slave Mode button. After that these iPi Recorders are slaves and will be controlled from master iPi Recorder as soon as it connects to them.
    distributed-recording-enter-slave-mode.png
  • If slave computer is connected to several networks, choose appropriate one in the Network Adapter drop-down list.
    distributed-recording-slave-network-selection.png
  • On master computer click Connect to Slaves button. In the Select Slaves for Distributed Recording dialog you should see all your slave computers. Select slave computers to be used for recording and click OK.
    distributed-recording-connect-to-slaves.png

    distributed-recording-select-slaves-dlg.png
  • At the bottom of iPi Recorder window you'll see a panel with the information about connected slaves.
    distributed-recording-slave-statuses.png
  • Now you can start and stop recording on master computer as usual. In this case recording will be synchronously started and stopped on all computers involved in Distributed Recording.
  • During recording each computer records to its own iPiVideo file on its own disk drive to the folder specified in the field Path on the RECORD tab. File names will be as follows:
    • name.master.iPiVideo — on the master computer
    • name.slave0.iPiVideo — on the first slave computer
    • name.slave1.iPiVideo — on the second slave computer
    • etc.

Merging

All iPiVideo files produced during Distributed Recording should be collected to one computer and merged to a single final iPiVideo file which includes data from all cameras, sensors, controllers. This combined iPiVideo file should be processed in iPi Mocap Studio to obtain animation.

distributed-recording-downloading.png

When recording has been stopped, master iPi Recorder automatically starts downloading of iPiVideo files from all slaves. After successful downloading of all the parts, it then merges them to a final video file.

Note.png
Note: If you're using Wi-Fi as a local network, download speed should be about 2 — 2.7 MBytes/sec. For more information about actual speed in wireless networks please see http://www.speedguide.net/faq/what-is-the-actual-real-life-speed-of-wireless-374

Also you can perform manual merging. This can be helpful in the following cases:

  • Automatic downloading is too slow and you prefer to use external HDD or something similar to collect all iPiVideo files in one place.
  • Automatic downloading has crashed or has been cancelled.

To perform manual merging click Merge Videos button on the home screen of iPi Recorder. Select all iPiVideo files to combine and click the MERGE button.

distributed-recording-merge-videos.png

distributed-recording-manual-merge.png
Note.png
Note: Manual merging can be performed only for iPiVideo files produced by one Distributed Recording session. If you're selecting iPiVideo files from different recording sessions, you'll get an error message.