Giter VIP home page Giter VIP logo

gitmatih / recsync-android Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mobileroboticsskoltech/recsync-android

0.0 0.0 0.0 1.05 MB

Video recording app with sub-millisecond synchronization accuracy for multiple Android smartphones, useful for creating affordable and easy-to-setup multi-view camera systems for robotics, SLAM, 3D-reconstruction, panorama stitching

License: Apache License 2.0

Shell 2.01% Python 5.51% Java 92.48%

recsync-android's Introduction

Logo

If you use this application, please cite Sub-millisecond Video Synchronization of Multiple Android Smartphones:

@misc{akhmetyanov2021submillisecond,
      title={Sub-millisecond Video Synchronization of Multiple Android Smartphones}, 
      author={Azat Akhmetyanov and Anastasiia Kornilova and Marsel Faizullin and David Pozo and Gonzalo Ferrer},
      year={2021},
      eprint={2107.00987},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

Usage:

Leader smartphone setup

  1. Start a Wi-Fi hotspot.
  2. The app should display connected clients and buttons for recording control

Client smartphones setup

  1. Enable WiFi and connect to the Wi-Fi hotspot.

Recording video

  1. [Optional step] Press the calculate period button. The app will analyze frame stream and use the calculated frame period in further synchronization steps.
  2. Adjust exposure and ISO to your needs.
  3. Press the phase align button.
  4. Press the record video button to start synchronized video recording.
  5. Get videos from RecSync folder in smartphone root directory.

Extraction and matching of the frames

Requirements:

- Python
- ffmpeg
  1. Navigate to utils directory in the repository.
  2. Run ./match.sh <VIDEO_1> <VIDEO_2>.
  3. Frames will be extracted to directories output/1 and output/2 with timestamps in filenames, output directory will also contain match.csv file in the following format:
    timestamp_1(ns) timestamp_2(ns)
    

Our contribution:

  • Integrated synchronized video recording
  • Scripts for extraction, alignment and processing of video frames
  • Experiment with flash blinking to evaluate video frames synchronization accuracy
  • Panoramic video demo with automated Hugin stitching

Panoramic video stitching demo

  • We provide scripts to stitch 2 syncronized smatphone videos with Hujin panorama CLI tools
  • Usage:
    • Run ./make_demo.sh {VIDEO_LEFT} {VIDEO_RIGHT}

This work is based on "Wireless Software Synchronization of Multiple Distributed Cameras"

Reference code for the paper Wireless Software Synchronization of Multiple Distributed Cameras. Sameer Ansari, Neal Wadhwa, Rahul Garg, Jiawen Chen, ICCP 2019.

recsync-android's People

Contributors

azaat avatar timpushkin avatar elucidation avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.