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
- Start a Wi-Fi hotspot.
- The app should display connected clients and buttons for recording control
Client smartphones setup
- Enable WiFi and connect to the Wi-Fi hotspot.
Recording video
- [Optional step] Press the
calculate period
button. 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 align
button. - Press the
record video
button to start synchronized video recording. - Get videos from RecSync folder in smartphone root directory.
Extraction and matching of the frames
Requirements:
- Python
- ffmpeg
- Navigate to
utils
directory in the repository. - Run
./match.sh <VIDEO_1> <VIDEO_2>
. - Frames will be extracted to directories
output/1
andoutput/2
with timestamps in filenames, output directory will also containmatch.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
Link to youtube demo video
- We provide scripts to stitch 2 syncronized smatphone videos with Hujin panorama CLI tools
- Usage:
- Run
./make_demo.sh {VIDEO_LEFT} {VIDEO_RIGHT}
- Run
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.