Distributed Recording

From iPi Docs
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 (Kinect for Xbox One) 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 (Kinect for Xbox One) 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 that purpose.
    Important.png
    Important! For incoming connections, iPi Recorder uses TCP ports 31415 and 31416 if they are available. Otherwise, the program automatically switches to a random port number instead.
    Tip.png
    Tip: If there is no existing network at the stage area, you can easily create one with most modern smartphones. A phone usually has an option in settings to act as Wi-Fi access point (intended primarily for sharing a mobile internet connection). Turn this option on (iPhone, Android, Windows Phone) and connect all PCs to the phone's Wi-Fi network with regular Windows means. Be aware that acting as Wi-Fi access point drains phone's battery quickly, so take care of it.
    Note.png
    Note: Internet connection is not required for Distributed Recording. Using a smartphone for the purpose of distributed recording does not drain your mobile Internet traffic.
    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.