Open jmkeyes opened 8 months ago
For my tests so far, I set up a FreeBSD jail with two mount points -- the library (/mnt/library
) and an import folder (/mnt/import
).
The initial setup step seems to work correctly. I ran goprox --setup --library "/mnt/library/" --source /mnt/import/
and it created a ~/.goprox
configuration file like this:
source=/mnt/import/
library="/mnt/library/"
copyright=""
geonamesacct=""
mountoptions=(--archive --import --clean --firmware)
I notice that both the source and library paths have trailing slashes and the library path preserved the double-quotes.
When I ran the import step (goprox --import
) it ran without any visible error, but I did have to stop the import process a few times with ^C (SIGINT). Exiting the script this way may have had some unexpected consequences: the media being imported at the time of the ^C appears to have been corrupted somehow (more details below) and subsequent imports did not detect this nor display any errors.
When I ran the processing step (goprox --process
) a number of errors appeared:
GoProX started...
Starting media processing...
_process_media:28: no matches found: /mnt/library//processed/**/*(.om[1])
First pass: 1/4 - All files but mp4 and 360
======== [1/3]
Error: No file specified -
======== [2/3]
Error: No file specified -
======== [3/3]
Error: No file specified -
Warning: First pass: exiftool reported one or more errors. Please check output.
Second pass: 2/4 - Only mp4 files
Error: File not found -
Error: File not found -
Error: File not found -
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010426.MP4 [1/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010426.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010426.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030437.MP4 [2/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030437.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030437.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030438.MP4 [3/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030438.MP4' --> '/mnt/library//processed/NODATE/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030438.mp4'
Error: Truncated mdat atom - /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030438.MP4
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020438.MP4 [4/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020438.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020438.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020437.MP4 [5/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020437.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020437.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020439.MP4 [6/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020439.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020439.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX040438.MP4 [7/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX040438.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX040438.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010439.MP4 [8/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010439.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010439.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010437.MP4 [9/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010437.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010437.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010438.MP4 [10/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010438.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010438.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020440.MP4 [11/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020440.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020440.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX060440.MP4 [12/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX060440.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX060440.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010441.MP4 [13/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010441.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010441.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030440.MP4 [14/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030440.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030440.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX070440.MP4 [15/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX070440.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX070440.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010440.MP4 [16/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010440.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010440.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX050440.MP4 [17/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX050440.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX050440.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX040440.MP4 [18/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX040440.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX040440.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020409.MP4 [19/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020409.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020409.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030409.MP4 [20/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030409.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030409.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010409.MP4 [21/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010409.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010409.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020434.MP4 [22/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020434.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020434.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020435.MP4 [23/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020435.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020435.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010431.MP4 [24/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010431.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010431.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010433.MP4 [25/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010433.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010433.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030434.MP4 [26/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030434.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030434.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010434.MP4 [27/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010434.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010434.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010435.MP4 [28/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010435.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010435.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX040434.MP4 [29/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX040434.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX040434.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010432.MP4 [30/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010432.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010432.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020431.MP4 [31/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020431.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020431.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010420.MP4 [32/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010420.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010420.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020420.MP4 [33/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020420.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020420.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX040415.MP4 [34/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX040415.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX040415.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX050415.MP4 [35/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX050415.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX050415.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010415.MP4 [36/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010415.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010415.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030415.MP4 [37/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030415.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030415.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX060415.MP4 [38/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX060415.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX060415.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020415.MP4 [39/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020415.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020415.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010428.MP4 [40/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010428.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010428.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010429.MP4 [41/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010429.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010429.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010416.MP4 [42/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010416.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010416.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010417.MP4 [43/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010417.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010417.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010418.MP4 [44/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010418.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010418.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010419.MP4 [45/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010419.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010419.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX040411.MP4 [46/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX040411.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX040411.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010410.MP4 [47/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010410.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010410.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010411.MP4 [48/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010411.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010411.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020410.MP4 [49/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020410.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020410.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030411.MP4 [50/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030411.MP4' --> '/mnt/library//processed/NODATE/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030411.mp4'
Error: Truncated mdat atom - /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030411.MP4
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020411.MP4 [51/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020411.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020411.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010430.MP4 [52/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010430.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010430.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX050430.MP4 [53/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX050430.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX050430.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX040430.MP4 [54/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX040430.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX040430.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX080430.MP4 [55/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX080430.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX080430.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020430.MP4 [56/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020430.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020430.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX060430.MP4 [57/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX060430.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX060430.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030430.MP4 [58/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030430.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030430.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX070430.MP4 [59/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX070430.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX070430.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010412.MP4 [60/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010412.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010412.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010414.MP4 [61/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010414.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010414.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010413.MP4 [62/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010413.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010413.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020412.MP4 [63/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020412.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020412.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020424.MP4 [64/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020424.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020424.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX060424.MP4 [65/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX060424.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX060424.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030424.MP4 [66/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030424.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030424.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX070424.MP4 [67/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX070424.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX070424.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010424.MP4 [68/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010424.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010424.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX050424.MP4 [69/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX050424.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX050424.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX040424.MP4 [70/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX040424.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX040424.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010425.MP4 [71/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010425.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010425.mp4'
======== /mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020425.MP4 [72/72]
'/mnt/library//imported/YYYY/YYYYMMDD/YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020425.MP4' --> '/mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020425.mp4'
Warning: Second pass: exiftool reported one or more errors. Please check output.
Third pass: 3/4 - Only 360 files
Error: File not found -
Error: File not found -
Error: File not found -
Warning: Third pass: exiftool reported one or more errors. Please check output.
Forth pass: 4/4 - Only mp4 & 360 files - timeshift QuickTime to UTC
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010413.mp4 [1/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020412.mp4 [2/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010412.mp4 [3/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010414.mp4 [4/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX040430.mp4 [5/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX080430.mp4 [6/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010430.mp4 [7/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX050430.mp4 [8/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030430.mp4 [9/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX070430.mp4 [10/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020430.mp4 [11/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX060430.mp4 [12/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020425.mp4 [13/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010425.mp4 [14/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010424.mp4 [15/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX050424.mp4 [16/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX040424.mp4 [17/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020424.mp4 [18/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX060424.mp4 [19/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030424.mp4 [20/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX070424.mp4 [21/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020410.mp4 [22/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020411.mp4 [23/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010410.mp4 [24/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX040411.mp4 [25/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010411.mp4 [26/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030409.mp4 [27/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020409.mp4 [28/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010409.mp4 [29/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010426.mp4 [30/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030437.mp4 [31/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020437.mp4 [32/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020439.mp4 [33/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020438.mp4 [34/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX040438.mp4 [35/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010438.mp4 [36/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010439.mp4 [37/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010437.mp4 [38/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX070440.mp4 [39/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030440.mp4 [40/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010441.mp4 [41/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX060440.mp4 [42/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020440.mp4 [43/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX040440.mp4 [44/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX050440.mp4 [45/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010440.mp4 [46/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010417.mp4 [47/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010416.mp4 [48/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010418.mp4 [49/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010419.mp4 [50/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010428.mp4 [51/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010429.mp4 [52/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010420.mp4 [53/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020420.mp4 [54/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020415.mp4 [55/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX060415.mp4 [56/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030415.mp4 [57/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010415.mp4 [58/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX050415.mp4 [59/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX040415.mp4 [60/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010433.mp4 [61/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010431.mp4 [62/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX030434.mp4 [63/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020435.mp4 [64/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020434.mp4 [65/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX040434.mp4 [66/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX020431.mp4 [67/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010432.mp4 [68/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010435.mp4 [69/70]
======== /mnt/library//processed/MP4/YYYY/YYYYMMDD/P_YYYYMMDDHHMMSS_GoPro_Hero9_XXXX_GX010434.mp4 [70/70]
Finished media processing
Warning: exiftool reported one or more errors during this goprox run. Please check output.
GoProX processing finished.
The Error: Truncated mdat atom - [path]
corresponds with the files being imported when I issued a ^C to cancel the import process earlier.
I still have the original media available, so I'll try to import those again and see if the error persists.
Importing fresh copies of the original media fixed the problem; this means that exiting abruptly from the import process will truncate/corrupt the imported media. If someone was to miss the Truncated mdat atom
error message, they'd be importing corrupt media into their library.
Very much appreciate your work and testing!
I have not had a chance to look at the issues you mentioned. If you identify anything that requires a fix or change, please do submit a PR. Would be great to add FreeBSD to the list of supported platforms.
As for the repo size: Yeah I agree that is an issue. For the packages and homebrew builds I therefor remove any outdated firmware. The reason they are included here is because GoPro has really no stable links for them. They move around and disappear from time to time.
The abort corrupted files are most likely due to exiftool being aborted while writing a file. Not sure yet how we could prevent or detect automatically.
I wanted to run this within a FreeBSD jail to reorganize a bunch of media already on a TrueNAS appliance.
Since macOS and *BSD share some heritage this was actually much easier than I thought it would be.
I have some remaining questions: