Hi !
I often use my 4 cams setup to take pictures for Mapillary/Osm. One tedious task is to copy all the pictures from the multiple sdcards, group them, create the sequence, and rename them with a timestamp in the filename.
Some scripts already exist to do this, but for only one source. With this one you can use up to 6 sources, and the script will copy the images in parallel to speed up the copy process. I reached 290 MBytes/s from 4 sources to one SSD.
It should work on Windows, Linux and OsX.
If you find some bugs, create an issue on Github, but beware, I’m not a dev, only a Python newbie
copy/paste of the doc:
Script for simultaneously copying the pictures from up to 6 cameras.
The primary goal is to copy the pictures from 4 action-cams, make groups of pictures with a cutoff time, create
a subfolder for each cam and copy the renamed pictures (timestamp added to the filename).
Let’s say you have two cams, with sd cards named “front” and “back”.
front sdcard : ROOT/DCIM/YDXJ0025.jpg (timestamp is 2017-02-01_11h21mn10s) ROOT/DCIM/YDXJ0026.jpg (timestamp is 2017-02-01_11h21mn11s) ROOT/DCIM/YDXJ0027.jpg (timestamp is 2017-02-01_11h21mn12s) ROOT/DCIM/YDXJ0028.jpg (timestamp is 2017-02-01_11h26mn42s) ROOT/DCIM/YDXJ0029.jpg (timestamp is 2017-02-01_11h26mn43s)
back sdcard : ROOT/DCIM/YDXJ0112.jpg (timestamp is 2017-02-01_11h21mn10s) ROOT/DCIM/YDXJ0113.jpg (timestamp is 2017-02-01_11h21mn11s) ROOT/DCIM/YDXJ0114.jpg (timestamp is 2017-02-01_11h21mn12s) ROOT/DCIM/YDXJ0115.jpg (timestamp is 2017-02-01_11h26mn42s) ROOT/DCIM/YDXJ0116.jpg (timestamp is 2017-02-01_11h26mn43s)
with the command:
python copy_pic.py ~/test -s front,back -c 60
In your test folder you will get:
2017-02-01_11h21mn10s| |front| |2017-02-01_11h21mn10s-Cam_front-YDXJ0025.jpg |2017-02-01_11h21mn11s-Cam_front-YDXJ0026.jpg |2017-02-01_11h21mn12s-Cam_front-YDXJ0027.jpg |back | |2017-02-01_11h21mn10s-Cam_back-YDXJ0112.jpg |2017-02-01_11h21mn11s-Cam_back-YDXJ0113.jpg |2017-02-01_11h21mn12s-Cam_back-YDXJ0114.jpg
2017-02-01_11h26mn42s| |front| |2017-02-01_11h26mn42s-Cam_front-YDXJ0028.jpg |2017-02-01_11h26mn43s-Cam_front-YDXJ0029.jpg |back | |2017-02-01_11h26mn42s-Cam_back-YDXJ0115.jpg |2017-02-01_11h26mn43s-Cam_back-YDXJ0116.jpg