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}
}
- Start a Wi-Fi hotspot.
- The app should display connected clients and buttons for recording control
- Enable WiFi and connect to the Wi-Fi hotspot.
- [Optional step] Press the calculate periodbutton. The app will analyze frame stream and use the calculated frame period in further synchronization steps.
- Adjust exposure and ISO to your needs.
- Press the phase alignbutton.
- Press the record videobutton to start synchronized video recording.
- Get videos from RecSync folder in smartphone root directory.
Requirements:
- Python
- ffmpeg
- Navigate to utilsdirectory in the repository.
- Run ./match.sh <VIDEO_1> <VIDEO_2>.
- Frames will be extracted to directories output/1andoutput/2with timestamps in filenames, output directory will also containmatch.csvfile in the following format:timestamp_1(ns) timestamp_2(ns)
- 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
- We provide scripts to stitch 2 syncronized smatphone videos with Hujin panorama CLI tools
- Usage:
- Run ./make_demo.sh {VIDEO_LEFT} {VIDEO_RIGHT}
 
- Run 
Reference code for the paper Wireless Software Synchronization of Multiple Distributed Cameras. Sameer Ansari, Neal Wadhwa, Rahul Garg, Jiawen Chen, ICCP 2019.
