Read GCM_TAG from MOV Video

Started by alex_eichler, May 16, 2024, 08:55:48 AM

Previous topic - Next topic

alex_eichler

Hi,

we using exiftool for some time to decode tags from jpgs from RICOH G900SE camera.
It can scan barcodes and put other tags into pictures. We use it to put pictures into corresponding folders for our documentation. Works fine...

But the camera also can record movies in MOV format and i found the tags are also into the mov file.
But i canĀ“t get efixtool to reads this values.

I see it behind an "GCM_TAG" when opening the file with notepad++

Can you help me out to find a way to read this tags?

Thanks in advance!

StarGeek

Can you provide a sample video?

You might be able to see the location of the tag with the -u (-unknown) option.
* Did you read FAQ #3 and use the command listed there?
* Please use the Code button for exiftool code/output.
 
* Please include your OS, Exiftool version, and type of file you're processing (MP4, JPG, etc).

alex_eichler

Hi,

no problem. I send an short video in some minutes.

Here is al litte text from the file with my tags:

  GCM_TAG Testdaten Technik Demontage 

These are the tags for sorting my files into the right folders. The tag "Testdaten" is normaly a barcode number from an project.

I test the -u option also..

alex_eichler

Here is the video file:

Video Download

exiftool.exe R0010007.MOV -u

ExifTool Version Number        : 12.84
File Name                      : R0010007.MOV
Directory                      : .
File Size                      : 2.8 MB
File Modification Date/Time    : 2024:05:17 09:39:47+02:00
File Access Date/Time          : 2024:05:17 10:53:18+02:00
File Creation Date/Time        : 2024:05:17 10:53:18+02:00
File Permissions                : -rw-rw-rw-
File Type                      : MOV
File Type Extension            : mov
MIME Type                      : video/quicktime
Major Brand                    : Apple QuickTime (.MOV/QT)
Minor Version                  : 2007.9.0
Compatible Brands              : qt
Media Data Size                : 2741080
Media Data Offset              : 28
Media Data                      : (Binary data 2741080 bytes, use -b option to extract)
Free                            : (Binary data 11396 bytes, use -b option to extract)
Movie Header Version            : 0
Create Date                    : 2024:05:17 09:39:11
Modify Date                    : 2024:05:17 09:39:11
Time Scale                      : 30000
Duration                        : 1.00 s
Preferred Rate                  : 1
Preferred Volume                : 100.00%
Preview Time                    : 0 s
Preview Duration                : 0 s
Poster Time                    : 0 s
Selection Time                  : 0 s
Selection Duration              : 0 s
Current Time                    : 0 s
Next Track ID                  : 3
Track Header Version            : 0
Track Create Date              : 2024:05:17 09:39:11
Track Modify Date              : 2024:05:17 09:39:11
Track ID                        : 1
Track Duration                  : 1.00 s
Track Layer                    : 0
Track Volume                    : 0.00%
Image Width                    : 1280
Image Height                    : 720
Chapter List Track ID          : 3
Graphics Mode                  : srcCopy
Op Color                        : 0 0 0
Compressor ID                  : avc1
Source Image Width              : 1280
Source Image Height            : 720
X Resolution                    : 72
Y Resolution                    : 72
Bit Depth                      : 24
AVC Configuration              : (Binary data 43 bytes, use -b option to extract)
Video Frame Rate                : 29.97
Sync Sample Table              : (Binary data 12 bytes, use -b option to extract)
Matrix Structure                : 1 0 0 0 1 0 0 0 1
Unknown edts                    : (Binary data 28 bytes, use -b option to extract)
Media Header Version            : 0
Media Create Date              : 2024:05:17 09:39:11
Media Modify Date              : 2024:05:17 09:39:11
Media Time Scale                : 32000
Media Duration                  : 1.00 s
Balance                        : 0
Handler Class                  : Data Handler
Handler Type                    : Alias Data
Unknown alis                    : (Binary data 4 bytes, use -b option to extract)
Audio Format                    : sowt
Audio Channels                  : 2
Audio Bits Per Sample          : 16
Audio Sample Rate              : 32000
Time To Sample Table            : (Binary data 16 bytes, use -b option to extract)
Sample To Chunk                : (Binary data 20 bytes, use -b option to extract)
Sample Sizes                    : (Binary data 12 bytes, use -b option to extract)
Chunk Offset                    : (Binary data 12 bytes, use -b option to extract)
Unknown RICO                    : (Binary data 16627 bytes, use -b option to extract)
Image Size                      : 1280x720
Megapixels                      : 0.922
Avg Bitrate                    : 21.9 Mbps
Rotation                        : 0

Perhaps it is in the "Unknown RICO" part.

StarGeek

Quote from: alex_eichler on May 17, 2024, 04:59:12 AMPerhaps it is in the "Unknown RICO" part.

Yes, using the -v3 (-verbose3) option, you can see it's part of that tag.  But is is mostly nulls after the GCM_TAG

  | + [UserData directory]
  | | Unknown_RICO = ..=mExifMM*............................(....1....2...........!..i......RICOHRICORICOH G900SEH.H.RICOH G900SE Ver. 1.062024:05:17 09:39:11                                ....0231.....@.....T.....h.....p.....x..............................|.$..j..........0100.................................................2024:05:17 09:39:112024:05:17 09:39:11+00:00+00:00+00:00d.id..dGCM_TAGTestdatenTechnikDemontage......Z.....b.(.......*b......H.H.RICOHMM*...........2|...........'........4...............2.................. ...!..."..#...$...%..&..'......2.. 4..A..O...f..i...j....t....y..................).....I......."...........00YS02700618.....1.06#6b#..b.SHCIZBOH..a..(hN...(Nh...0Ht...>.P.............................K.0.T..0..H. lp..P..0..H. l`..P.N................./.........tA..............5..........!..'5....$#..$$` @. ..$+.J.$.uQ.b.........!.V........*.|...7...7.7.............O..................C.2.........).$P..M...E............E.......C.2.......n...x....e.N.r..t..@.&Z..............I.............l...........N......................`............. ..................-.............R...........0..q..EEEE........@. ........%...6................R.......*....q..0............|..$y...%.)...]"9..@e.@..@..@..@d.@,....5s!..js!".....f......................#..P...$. ...V. @@ 5jj5@.].@.................................Q..........#...5................................................*...7.3............................................?.b.Q.....2.C........$.).MP..E...........................E.......n...x..N.e.rzS........G.....!...{.....9..,>.OL.'......'.._.Q........a....m 3EGu&......4;d..........-...3............<.....Q/.?eJ....L>1N.E.1.2.G.IvL.O.S.TCT........6.i.......I...........6...2.u .$.........c.........l.......h...E.o..<.JGO......^...........N.....@.Q.D....9.L.[..........................<.d............B.........`.....X....#.0Gp:zry.......<..... .............b).9.H........................... .......................-.......d.0"2,.Y.^.W...................R.......D......1n9m>...../...=..u.R5.$'*:4.!Z/F(.+.(.)|2.6,..??'.,./~).%."V"...2..[snip]
  | | - Tag 'RICO' (16627 bytes):
  | |   2a0519: ff e1 3d 6d 45 78 69 66 00 00 4d 4d 00 2a 00 00 [..=mExif..MM.*..]
  | |   2a0529: 00 08 00 0b 01 0f 00 02 00 00 00 0c 00 00 00 92 [................]
  | |   2a0539: 01 10 00 02 00 00 00 10 00 00 00 9e 01 12 00 03 [................]
  | |   2a0549: 00 00 00 01 00 01 00 00 01 1a 00 05 00 00 00 01 [................]
  | |   2a0559: 00 00 00 ae 01 1b 00 05 00 00 00 01 00 00 00 b6 [................]
  | |   2a0569: 01 28 00 03 00 00 00 01 00 02 00 00 01 31 00 02 [.(...........1..]
  | |   2a0579: 00 00 00 1a 00 00 00 be 01 32 00 02 00 00 00 14 [.........2......]
  | |   2a0589: 00 00 00 d8 02 13 00 03 00 00 00 01 00 02 00 00 [................]
  | |   2a0599: 82 98 00 02 00 00 00 21 00 00 00 ec 87 69 00 04 [.......!.....i..]
  | |   2a05a9: 00 00 00 01 00 00 01 0e 00 00 05 18 52 49 43 4f [............RICO]
  | |   2a05b9: 48 00 00 00 52 49 43 4f 52 49 43 4f 48 20 47 39 [H...RICORICOH G9]
  | |   2a05c9: 30 30 53 45 00 00 00 00 00 00 00 48 00 00 00 01 [00SE.......H....]
  | |   2a05d9: 00 00 00 48 00 00 00 01 52 49 43 4f 48 20 47 39 [...H....RICOH G9]
  | |   2a05e9: 30 30 53 45 20 56 65 72 2e 20 31 2e 30 36 00 00 [00SE Ver. 1.06..]
  | |   2a05f9: 00 00 32 30 32 34 3a 30 35 3a 31 37 20 30 39 3a [..2024:05:17 09:]
  | |   2a0609: 33 39 3a 31 31 00 20 20 20 20 20 20 20 20 20 20 [39:11.          ]
  | |   2a0619: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 [                ]
  | |   2a0629: 20 20 20 20 20 20 00 00 00 19 90 00 00 07 00 00 [      ..........]
  | |   2a0639: 00 04 30 32 33 31 90 03 00 02 00 00 00 14 00 00 [..0231..........]
  | |   2a0649: 02 40 90 04 00 02 00 00 00 14 00 00 02 54 90 10 [.@...........T..]
  | |   2a0659: 00 02 00 00 00 07 00 00 02 68 90 11 00 02 00 00 [.........h......]
  | |   2a0669: 00 07 00 00 02 70 90 12 00 02 00 00 00 07 00 00 [.....p..........]
  | |   2a0679: 02 78 91 01 00 07 00 00 00 04 01 02 03 00 92 04 [.x..............]
  | |   2a0689: 00 0a 00 00 00 01 00 00 02 80 92 05 00 05 00 00 [................]
  | |   2a0699: 00 01 00 00 02 88 92 08 00 03 00 00 00 01 00 00 [................]
  | |   2a06a9: 00 00 92 0a 00 05 00 00 00 01 00 00 02 90 92 7c [...............|]
  | |   2a06b9: 00 07 00 00 24 f8 00 00 05 6a 92 86 00 07 00 00 [....$....j......]
  | |   2a06c9: 02 80 00 00 02 98 a0 00 00 07 00 00 00 04 30 31 [..............01]
  | |   2a06d9: 30 30 a0 01 00 03 00 00 00 01 00 01 00 00 a0 02 [00..............]
  | |   2a06e9: 00 04 00 00 00 01 00 00 05 00 a0 03 00 04 00 00 [................]
  | |   2a06f9: 00 01 00 00 02 d0 a4 01 00 03 00 00 00 01 00 00 [................]
  | |   2a0709: 00 00 a4 02 00 03 00 00 00 01 00 00 00 00 a4 03 [................]
  | |   2a0719: 00 03 00 00 00 01 00 00 00 00 a4 05 00 03 00 00 [................]
  | |   2a0729: 00 01 00 1c 00 00 a4 06 00 03 00 00 00 01 00 00 [................]
  | |   2a0739: 00 00 a4 08 00 03 00 00 00 01 00 00 00 00 a4 09 [................]
  | |   2a0749: 00 03 00 00 00 01 00 00 00 00 a4 0a 00 03 00 00 [................]
  | |   2a0759: 00 01 00 00 00 00 00 00 00 00 32 30 32 34 3a 30 [..........2024:0]
  | |   2a0769: 35 3a 31 37 20 30 39 3a 33 39 3a 31 31 00 32 30 [5:17 09:39:11.20]
  | |   2a0779: 32 34 3a 30 35 3a 31 37 20 30 39 3a 33 39 3a 31 [24:05:17 09:39:1]
  | |   2a0789: 31 00 2b 30 30 3a 30 30 00 00 2b 30 30 3a 30 30 [1.+00:00..+00:00]
  | |   2a0799: 00 00 2b 30 30 3a 30 30 00 00 00 00 00 00 00 00 [..+00:00........]
  | |   2a07a9: 00 64 00 00 01 69 00 00 00 64 00 00 01 f4 00 00 [.d...i...d......]
  | |   2a07b9: 00 64 00 00 00 00 00 00 00 00 47 43 4d 5f 54 41 [.d........GCM_TA]
  | |   2a07c9: 47 00 54 65 73 74 64 61 74 65 6e 00 54 65 63 68 [G.Testdaten.Tech]
  | |   2a07d9: 6e 69 6b 00 44 65 6d 6f 6e 74 61 67 65 00 00 00 [nik.Demontage...]
  | |   2a07e9: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a07f9: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a0809: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a0819: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a0829: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a0839: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a0849: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a0859: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a0869: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a0879: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a0889: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a0899: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a08a9: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a08b9: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a08c9: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a08d9: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a08e9: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a08f9: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a0909: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a0919: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a0929: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a0939: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a0949: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a0959: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a0969: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a0979: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a0989: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a0999: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a09a9: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a09b9: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a09c9: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a09d9: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a09e9: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a09f9: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a0a09: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a0a19: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a0a29: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [................]
  | |   2a0a39: 00 00 00 05 01 1a 00 05 00 00 00 01 00 00 05 5a [...............Z]
  | |   2a0a49: 01 1b 00 05 00 00 00 01 00 00 05 62 01 28 00 03 [...........b.(..]
  | |   2a0a59: 00 00 00 01 00 02 00 00 02 01 00 04 00 00 00 01 [................]
  | |   2a0a69: 00 00 2a 62 02 02 00 04 00 00 00 01 00 00 13 03 [..*b............]
  | |   2a0a79: 00 00 00 00 00 00 00 48 00 00 00 01 00 00 00 48 [.......H.......H]
  | |   2a0a89: 00 00 00 01 52 49 43 4f 48 00 4d 4d 00 2a 00 00 [....RICOH.MM.*..]

The part just before it, the part that starts Exif..MM/45 78 69 66 00 00 4d 4d, looks like an EXIF block, though I haven't looked into the structure of EXIF data that much to be sure.

Phil is going to have to take a look at this.
* Did you read FAQ #3 and use the command listed there?
* Please use the Code button for exiftool code/output.
 
* Please include your OS, Exiftool version, and type of file you're processing (MP4, JPG, etc).

alex_eichler


Phil Harvey

The video file is no longer available for download. :(

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

alex_eichler


Phil Harvey

#8
Got it, thanks.  ExifTool 12.85 will have the ability to read the EXIF from this video.  I hope to release this version later today.

- Phil

Edit: 12.85 is now available
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

alex_eichler

Ho Phil,

thanks for that. But i have some trouble to work with it.

Here is a example from the pictures from this Ricoh Camera.

exiftool.exe R0010008.JPG -APP5:all
Barcode                        : Testdaten
Prozess                        : Technik
Phase                          : Demontage

The same info is hopefully into the video.

R0010007.MOV -UserComment
User Comment                    : GCM_TAG

The three values are needed to copy the files into the right place.

Our technicans take photos and tag them with the barcode (Testdaten in my example - normaly a number from a project) and the technican has some possible option, for what he is doing with customer devices (Phase: Demontage - Disassembly) and Prozess (Technik or warehouse and so on).

Is all put into a powershell script to extract this data, do some error handling and that build a target path and move the file.

And for some reasons we need videos too, to show some problems with devices from customers.

Link to example picture: Picture

Thanks for your help in advance.

Phil Harvey

Good point. I'm extracting the EXIF information, but the tags you want are in APP5.  This will take more work on my side to extract this, but expect this feature for 12.86.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

Phil Harvey

This was a fair bit of extra work because I had to hack the JPEG processor to read all JPEG-like segments from the RICO metadata, but I have it working now and 12.86 will have this feature:

> exiftool R0010007.MOV -app5:all
Barcode                         : Testdaten
Prozess                         : Technik
Phase                           : Demontage

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

alex_eichler

Hi. This sounds good.

I will test it when the new version is available.

Phil Harvey

Version 12.86 is now available.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

alex_eichler

Hi,

i try it and get back to you.

Alex