Difference between revisions of "Multi camera system operation"
From ElphelWiki
(→scripts for downloading from internal SSD (via eSATA)) |
|||
(4 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
Example for 2 cameras (2 X-Cams) - list comma-separated addresses in the GET line: | Example for 2 cameras (2 X-Cams) - list comma-separated addresses in the GET line: | ||
http://192.168.0.39/multicam/?ip=192.168.0.39,192.168.0.38 | http://192.168.0.39/multicam/?ip=192.168.0.39,192.168.0.38 | ||
+ | * tests button to get some diagnostics | ||
+ | * record button - starts recording on raw paritions (camera internal) | ||
+ | * snapshot button - saves a zip archive to host pc | ||
+ | |||
+ | ===Howto=== | ||
+ | ====Basic==== | ||
+ | # Power on | ||
+ | # Refresh multicam gui to get camogm started | ||
+ | # Record-button the recording will be started from the '''Current LBA''' (in /mnt/sda1/camogm.disk) | ||
+ | |||
+ | ====Start from the beginning of raw partition==== | ||
+ | # Power on | ||
+ | # Remove /mnt/sda1/camogm.disk on each camera (a new one is created by camogm on recording start) | ||
+ | # Refresh multicam gui to get camogm started | ||
+ | # Record-button | ||
+ | |||
+ | Note: Steps 2 and 3 can be swapped. Camogms will recreate camogm.disks on recording start. The free space in the multicam gui will also update to correct value on recording start. | ||
+ | |||
==Download footage== | ==Download footage== | ||
Line 10: | Line 28: | ||
Device Start LBA Current LBA End LBA | Device Start LBA Current LBA End LBA | ||
/dev/sda2 12500992 38196200 250068992 | /dev/sda2 12500992 38196200 250068992 | ||
− | ===scripts for downloading=== | + | |
+ | How much is written: | ||
+ | ''(Current - Start)*512/2^30'' GB | ||
+ | |||
+ | ===scripts for downloading from internal SSD (via eSATA)=== | ||
+ | * Get [https://git.elphel.com/Elphel/elphel-tools-x393 int_ssd_download.py]: | ||
+ | ~$ ssh-copy-id root@192.168.0.39 | ||
+ | ~$ ssh-copy-id root@192.168.0.38 | ||
+ | ~$ python3 int_ssd_download.py -h | ||
+ | # Download 100GB from each | ||
+ | ~$ python3 int_ssd_download.py -c root@192.168.0.39 -n 10 /path | ||
+ | ~$ python3 int_ssd_download.py -c root@192.168.0.38 -n 10 /path | ||
+ | This script: | ||
+ | * creates a UID (/path/UID) directory, where UID - ID of the SSD | ||
+ | * switched the SSD to eSATA port | ||
+ | Note: Essentially the script does ''dd''. If there is no eSATA cable it's possible to run dd over network. | ||
+ | |||
+ | ===scripts for extraction=== | ||
+ | * Get [https://git.elphel.com/Elphel/eyesis4pi-393-gui/blob/master/footage_downloader/split_mov_jp4.php split_mov_jp4.php]. It takes channel shift as argv[1] when splitting. Example: | ||
+ | ~$ cd /path/UID-of-192.168.0.39 | ||
+ | ~$ /path-to-script/split_mov_jp4.php 0 | ||
+ | ~$ cd /path/UID-of-192.168.0.38 | ||
+ | ~$ /path-to-script/split_mov_jp4.php 4 | ||
[[Category:393]] | [[Category:393]] |
Revision as of 15:45, 10 August 2018
Contents
Recording
Example for 2 cameras (2 X-Cams) - list comma-separated addresses in the GET line:
http://192.168.0.39/multicam/?ip=192.168.0.39,192.168.0.38
- tests button to get some diagnostics
- record button - starts recording on raw paritions (camera internal)
- snapshot button - saves a zip archive to host pc
Howto
Basic
- Power on
- Refresh multicam gui to get camogm started
- Record-button the recording will be started from the Current LBA (in /mnt/sda1/camogm.disk)
Start from the beginning of raw partition
- Power on
- Remove /mnt/sda1/camogm.disk on each camera (a new one is created by camogm on recording start)
- Refresh multicam gui to get camogm started
- Record-button
Note: Steps 2 and 3 can be swapped. Camogms will recreate camogm.disks on recording start. The free space in the multicam gui will also update to correct value on recording start.
Download footage
- /dev/sda1 - ext4
- /dev/sda2 - raw
raw partition write pointer position
root@elphel393:~# cat /mnt/sda1/camogm.disk Device Start LBA Current LBA End LBA /dev/sda2 12500992 38196200 250068992
How much is written:
(Current - Start)*512/2^30 GB
scripts for downloading from internal SSD (via eSATA)
- Get int_ssd_download.py:
~$ ssh-copy-id root@192.168.0.39 ~$ ssh-copy-id root@192.168.0.38 ~$ python3 int_ssd_download.py -h # Download 100GB from each ~$ python3 int_ssd_download.py -c root@192.168.0.39 -n 10 /path ~$ python3 int_ssd_download.py -c root@192.168.0.38 -n 10 /path
This script:
- creates a UID (/path/UID) directory, where UID - ID of the SSD
- switched the SSD to eSATA port
Note: Essentially the script does dd. If there is no eSATA cable it's possible to run dd over network.
scripts for extraction
- Get split_mov_jp4.php. It takes channel shift as argv[1] when splitting. Example:
~$ cd /path/UID-of-192.168.0.39 ~$ /path-to-script/split_mov_jp4.php 0 ~$ cd /path/UID-of-192.168.0.38 ~$ /path-to-script/split_mov_jp4.php 4