# Reading GEOB?

**URL:** <https://community.mp3tag.de/t/reading-geob/17072>\
**Category:** Support\
**Created:** [July 20, 2015, 8:11am UTC](https://community.mp3tag.de/t/reading-geob/17072 "2015-07-20T08:11:14Z")\
**Posts on this page:** 18\
**Page:** 1

<div class="post-metadata">

**Author:** ![Etz](https://community.mp3tag.de/user_avatar/community.mp3tag.de/etz/32/7648_2.png) [@Etz](https://community.mp3tag.de/u/Etz)\
**Post date:** [July 20, 2015, 8:11am UTC](https://community.mp3tag.de/t/reading-geob/17072/1 "2015-07-20T08:11:14Z")

</div>

Is there any way to display specific GEOB fields in "Columns view"?

```
GEOB size=361 MIME="application/octet-stream" File="" Descr="Serato Markers_" Binary data size=318 Content: ".......................0........P............2.......`...............L.....:N............3..............................................................
................................................................................
.
................................................................................
.
...." (02 05 00 00 00 0e 00 00 00 12 10 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 06 30 00 00 01 00 00 00 01 05 50 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 06 32 10 00 01 00 00 00 03 60 0f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 00 00 01 4c 01 00 00 00 06 3a 4e 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 06 33 18 00 01 00 00 00 07 2e 0e 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 00 03 18 00 01 00 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 00 00 00 00 03 00 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 00 00 00 00 03 00 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 00 00 00 00 03 00 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 00 00 00 00 03 00 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 00 00 00 00 03 00 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 00 00 00 00 03 00 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 00 00 00 00 03 00 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 00 00 00 00 03 00 7f 7f 7f 7f 7f 7f 7f 7f 7f 7f 00 7f 7f 7f 7f 7f 00 00 00 00 03 00 00 00 00 00), GEOB size=357 MIME="application/octet-stream" File="" Descr="Serato Markers2" Binary data size=314 Content: "..AQFDVUUAAAAAFQAAAAAJEADMAAAAAEVuZXJneSAzAENVRQAAAAAVAAEAAELQAMyIAAAARW5lcm
d5IDUAQ1VFAAAAABUAAgAA8A8AAADMAABFbmVyZ3kgNwBDVUUAAAAAFQADAAGdTgDMzAAAAEVuZXJneS
A
0AENVRQAAAAAVAAQAAdcOAADMAAAARW5lcmd5IDcAQ1VFAAAAABUABQACEM4AzADMAABFbmVyZ3kgNQB
D
VUUAAAAAFQAGAAJKjQAAzMwAAEVuZXJneSA3AENVRQAAAAAVAAcAAvfMAIgAzAAARW5lcmd5IDcA" (01 01 41 51 46 44 56 55 55 41 41 41 41 41 46 51 41 41 41 41 41 4a 45 41 44 4d 41 41 41 41 41 45 56 75 5a 58 4a 6e 65 53 41 7a 41 45 4e 56 52 51 41 41 41 41 41 56 41 41 45 41 41 45 4c 51 41 4d 79 49 41 41 41 41 52 57 35 6c 63 6d 64 35 49 44 55 41 51 31 56 46 41 41 41 41 41 42 55 41 41 67 41 41 38 41 38 41 41 41 44 4d 41 41 42 46 62 6d 56 79 5a 33 6b 67 4e 77 42 44 56 55 55 41 41 41 41 41 46 51 41 44 41 41 47 64 54 67 44 4d 7a 41 41 41 41 45 56 75 5a 58 4a 6e 65 53 41 30 41 45 4e 56 52 51 41 41 41 41 41 56 41 41 51 41 41 64 63 4f 41 41 44 4d 41 41 41 41 52 57 35 6c 63 6d 64 35 49 44 63 41 51 31 56 46 41 41 41 41 41 42 55 41 42 51 41 43 45 4d 34 41 7a 41 44 4d 41 41 42 46 62 6d 56 79 5a 33 6b 67 4e 51 42 44 56 55 55 41 41 41 41 41 46 51 41 47 41 41 4a 4b 6a 51 41 41 7a 4d 77 41 41 45 56 75 5a 58 4a 6e 65 53 41 33 41 45 4e 56 52 51 41 41 41 41 41 56 41 41 63 41 41 76 66 4d 41 49 67 41 7a 41 41 41 52 57 35 6c 63 6d 64 35 49 44 63 41)

```

Specifically fields with description: Descr="Serato Markers\_ and Descr="Serato Markers2"  
Both include binary data (base64 encoded)...no wish to actually decode it, but just show it.  
Also, somehow export it if needed?

If it is not possible to show it, how to indicate if it is present in file, or not?

Would it be even possible with MP3Tag?

---

<div class="post-metadata">

**Author:** ![DetlevD](https://community.mp3tag.de/user_avatar/community.mp3tag.de/detlevd/32/123_2.png) [@DetlevD](https://community.mp3tag.de/u/DetlevD)\
**Post date:** [July 20, 2015, 8:54am UTC](https://community.mp3tag.de/t/reading-geob/17072/2 "2015-07-20T08:54:03Z")

</div>

> [@Etz](#):
>
> Is there any way to display specific GEOB fields in "Columns view"? ... If it is not possible to show it, how to indicate if it is present in file, or not? Would it be even possible with MP3Tag?

This question is directed to the Mp3tag developer himself.

You may find and read some informations about the ID3 frame GEOB ...  
[http://id3.org/id3v2.3.0](http://id3.org/id3v2.3.0)  
... search for "4.16. General encapsulated object".

You may find and read some informations about the ID3 frame GEOB within the Mp3tag forum ...  
[https://www.google.de/search?q=site%3Aforums.mp3tag.de+GEOB](https://www.google.de/search?q=site%3Aforums.mp3tag.de+GEOB)

As I understand ... the ID3 frame GEOB is not supported by Mp3tag.

You may try out "FFmpeg" ...  
[https://www.ffmpeg.org/](https://www.ffmpeg.org/)  
[http://ffmpeg.zeranoe.com/builds/](http://ffmpeg.zeranoe.com/builds/)  
[http://jonhall.info/how\_to/setup\_and\_use\_ffmpeg\_on\_windows](http://jonhall.info/how_to/setup_and_use_ffmpeg_on_windows)  
[http://jonhall.info/how\_to/dump\_and\_load\_m...ata\_with\_ffmpeg](http://jonhall.info/how_to/dump_and_load_metadata_with_ffmpeg)

DD.20150720.1324.CEST

---

<div class="post-metadata">

**Author:** ![Etz](https://community.mp3tag.de/user_avatar/community.mp3tag.de/etz/32/7648_2.png) [@Etz](https://community.mp3tag.de/u/Etz)\
**Post date:** [July 20, 2015, 9:27am UTC](https://community.mp3tag.de/t/reading-geob/17072/3 "2015-07-20T09:27:38Z")

</div>

> [@DetlevD](#):
>
> As I understand ... the ID3 frame GEOB is not supported by Mp3tag.

Then it does not modify it either?  
Even if \_TAG or \_ALL (bad practice, not reccomended, I know) is used in Actions processing? ![:rolleyes:](https://community.mp3tag.de/uploads/default/original/1X/3a79e8b0b7d169b30216785521d7c6f4f895c421.gif ":rolleyes:")

---

<div class="post-metadata">

**Author:** ![DetlevD](https://community.mp3tag.de/user_avatar/community.mp3tag.de/detlevd/32/123_2.png) [@DetlevD](https://community.mp3tag.de/u/DetlevD)\
**Post date:** [July 20, 2015, 9:36am UTC](https://community.mp3tag.de/t/reading-geob/17072/4 "2015-07-20T09:36:55Z")

</div>

> [@Etz](#):
>
> Then it does not modify it either? Even if \_TAG or \_ALL ... is used in tag processing?

As I understand ... the pseudo tagfields \_TAG and \_ALL ...  
are defined by the Mp3tag developer himself for the usage within Mp3tag, ...  
and you can expect and rely on, ...  
that these special placeholders support only those tag fields, ...  
which Mp3tag is able to handle.

DD.20150720.1336.CEST

---

<div class="post-metadata">

**Author:** ![Etz](https://community.mp3tag.de/user_avatar/community.mp3tag.de/etz/32/7648_2.png) [@Etz](https://community.mp3tag.de/u/Etz)\
**Post date:** [July 20, 2015, 9:50am UTC](https://community.mp3tag.de/t/reading-geob/17072/5 "2015-07-20T09:50:44Z")

</div>

> [@DetlevD](#):
>
> As I understand ... the pseudo tagfields \_TAG and \_ALL ...  
> are defined by the Mp3tag developer himself for the usage within Mp3tag, ...  
> and you can expect and rely on, ...  
> that these special placeholders support only those tag fields, ...  
> which Mp3tag is able to handle.
> 
> DD.20150720.1336.CEST

This can be actually tested, you can dump that info with [mp3diag](http://mp3diags.sourceforge.net/),  
do some pseudo field action (or even remove all tags) and after that dump contents with mp3diag again and compare results.

Will try that later...just for interest and report here, what would actually happen, as a backlog.

---

<div class="post-metadata">

**Author:** ![Etz](https://community.mp3tag.de/user_avatar/community.mp3tag.de/etz/32/7648_2.png) [@Etz](https://community.mp3tag.de/u/Etz)\
**Post date:** [July 20, 2015, 10:02am UTC](https://community.mp3tag.de/t/reading-geob/17072/6 "2015-07-20T10:02:12Z")

</div>

OK, removing Tag`s will definately delete those GEOB fields as well (it removes absolutely everything).

Case conversion (using pseoudo tag \_TAG) for example, seems to have no effect at all on those. (which is actually good and desirable behaviour).

So IMHO we can conclude, that pseudotag \_TAG at least does not include any GEOB fields.

---

<div class="post-metadata">

**Author:** ![Oblio](https://community.mp3tag.de/user_avatar/community.mp3tag.de/oblio/32/4828_2.png) [@Oblio](https://community.mp3tag.de/u/Oblio)\
**Post date:** [July 23, 2015, 7:57am UTC](https://community.mp3tag.de/t/reading-geob/17072/7 "2015-07-23T07:57:27Z")

</div>

Exiftool can read and extract binary tags from mp3 files and has some process control built in e.g.

> [@](#):
>
> -if EXPR
> 
> ```
> Specify a condition to be evaluated before processing each FILE. EXPR is a Perl-like logic expression containing tag names prefixed by $ symbols. It is evaluated with the tags from each FILE in turn, and the file is processed only if the expression returns true. Unlike Perl variable names, tag names are not case sensitive and may contain a hyphen. As well, tag names may have a leading group names separated by colons, and/or a trailing # character to disable print conversion. The expression $GROUP:all evaluates to 1 if any tag exists in the specified GROUP, or 0 otherwise (see note 2 below). When multiple -if options are used, all conditions must be satisfied to process the file. Returns an exit status of 1 if all files fail the condition. Below are a few examples:
> 
> # extract shutterspeed from all Canon images in a directory
> exiftool -shutterspeed -if '$make eq "Canon"' dir
> 
> # add one hour to all images created on or after Apr. 2, 2006
> exiftool -alldates+=1 -if '$CreateDate ge "2006:04:02"' dir
> 
> # set EXIF ISO value if possible, unless it is set already
> exiftool '-exif:iso<iso' -if 'not $exif:iso' dir
> 
> # find images containing a specific keyword (case insensitive)
> exiftool -if '$keywords =~ /harvey/i' -filename dir<!--sizec--></span><!--/sizec-->
> 
> ```

You may be able to make it do what you want.

[http://www.sno.phy.queensu.ca/~phil/exifto...cessing\_control](http://www.sno.phy.queensu.ca/~phil/exiftool/exiftool_pod.html#processing_control)

---

<div class="post-metadata">

**Author:** ![Oblio](https://community.mp3tag.de/user_avatar/community.mp3tag.de/oblio/32/4828_2.png) [@Oblio](https://community.mp3tag.de/u/Oblio)\
**Post date:** [July 24, 2015, 12:01pm UTC](https://community.mp3tag.de/t/reading-geob/17072/8 "2015-07-24T12:01:51Z")

</div>

This will output the GEOB frame to a similarly named text file for each mp3 file in MyDir matching the condition

```
exiftool -ID3_GEOB -if "$ID3_GEOB =~ /Serato Markers/" -b -U -ext mp3 -w .txt -r MyDir .

```

Many more things are possible with Exiftool. 🙂

---

<div class="post-metadata">

**Author:** ![ryerman](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ryerman/32/5285_2.png) [@ryerman](https://community.mp3tag.de/u/ryerman)\
**Post date:** [July 24, 2015, 1:43pm UTC](https://community.mp3tag.de/t/reading-geob/17072/9 "2015-07-24T13:43:13Z")

</div>

> [@Oblio](#):
>
> Many more things are possible with Exiftool. 🙂

But editing tags for audio files is not one of them.

---

<div class="post-metadata">

**Author:** ![Etz](https://community.mp3tag.de/user_avatar/community.mp3tag.de/etz/32/7648_2.png) [@Etz](https://community.mp3tag.de/u/Etz)\
**Post date:** [July 26, 2016, 4:57am UTC](https://community.mp3tag.de/t/reading-geob/17072/10 "2016-07-26T04:57:18Z")

</div>

Still, maybe Florian could make it possible to display somehow in columns view that file has GEOB data?  
For example "GEOB" True/False style... ![:rolleyes:](https://community.mp3tag.de/uploads/default/original/1X/3a79e8b0b7d169b30216785521d7c6f4f895c421.gif ":rolleyes:")

---

<div class="post-metadata">

**Author:** ![Etz](https://community.mp3tag.de/user_avatar/community.mp3tag.de/etz/32/7648_2.png) [@Etz](https://community.mp3tag.de/u/Etz)\
**Post date:** [March 9, 2018, 7:14pm UTC](https://community.mp3tag.de/t/reading-geob/17072/11 "2018-03-09T19:14:14Z")

</div>

Does removing id3v1 only removes GEOB too?

I discovered interesting issue, I have some files which cannot be played back with Sennheiser Captune: [https://play.google.com/store/apps/details?id=com.sennheiser.captune](https://play.google.com/store/apps/details?id=com.sennheiser.captune)

They play back fine on every other player/device.  
Removing id3v1 with mp3tag somehow fixes the issue, still investigating the reason.

Only Captune and this batch of files seem to have the issue, when files are checked with MP3Diag, it says: "invalid characters in id3v1 tag".

---

<div class="post-metadata">

**Author:** ![Etz](https://community.mp3tag.de/user_avatar/community.mp3tag.de/etz/32/7648_2.png) [@Etz](https://community.mp3tag.de/u/Etz)\
**Post date:** [April 20, 2018, 7:07pm UTC](https://community.mp3tag.de/t/reading-geob/17072/12 "2018-04-20T19:07:03Z")

</div>

Maybe @Florian can comment on this?

---

<div class="post-metadata">

**Author:** ![Florian](https://community.mp3tag.de/user_avatar/community.mp3tag.de/florian/32/5759_2.png) [@Florian](https://community.mp3tag.de/u/Florian)\
**Post date:** [April 21, 2018, 9:22am UTC](https://community.mp3tag.de/t/reading-geob/17072/13 "2018-04-21T09:22:45Z")

</div>

Not sure what the question is, but removing ID3v1 doesn't remove ID3v2 GEOB frames. This only happens if you remove ID3v2.

---

<div class="post-metadata">

**Author:** ![Etz](https://community.mp3tag.de/user_avatar/community.mp3tag.de/etz/32/7648_2.png) [@Etz](https://community.mp3tag.de/u/Etz)\
**Post date:** [April 21, 2018, 9:39am UTC](https://community.mp3tag.de/t/reading-geob/17072/14 "2018-04-21T09:39:28Z")

</div>

Thx @Florian, that actually was the question.  
How to get rid GEOB, if needed, using Mp3Tag.

---

<div class="post-metadata">

**Author:** ![Florian](https://community.mp3tag.de/user_avatar/community.mp3tag.de/florian/32/5759_2.png) [@Florian](https://community.mp3tag.de/u/Florian)\
**Post date:** [April 21, 2018, 10:13am UTC](https://community.mp3tag.de/t/reading-geob/17072/15 "2018-04-21T10:13:56Z")

</div>

> [@Etz](#):
>
> How to get rid GEOB, if needed, using Mp3Tag.

You could cut the whole tag from the file using Ctrl + X and paste it back using Ctrl + V.

Background: Mp3tag omits unsupported fields when writing fresh tags — if you simply update an existing tag, also unsupported fields are preserved.

---

<div class="post-metadata">

**Author:** ![Oblio](https://community.mp3tag.de/user_avatar/community.mp3tag.de/oblio/32/4828_2.png) [@Oblio](https://community.mp3tag.de/u/Oblio)\
**Post date:** [May 18, 2018, 8:40am UTC](https://community.mp3tag.de/t/reading-geob/17072/17 "2018-05-18T08:40:33Z")

</div>

@Florian  
It would be useful to have this `Ctrl+X` + `Ctrl+V` combination available as an action, so it can be performed on many files, _one file at a time_.

For a large file set that would be much safer than cutting all tags at once and pasting them all back separately i.e. if anything goes wrong during the paste you will lose information!

Please accept this as a feature request.  
▫ ▫ ▫

---

<div class="post-metadata">

**Author:** ![incifinci](https://community.mp3tag.de/user_avatar/community.mp3tag.de/incifinci/32/6526_2.png) [@incifinci](https://community.mp3tag.de/u/incifinci)\
**Post date:** [October 14, 2022, 1:03pm UTC](https://community.mp3tag.de/t/reading-geob/17072/18 "2022-10-14T13:03:00Z")

</div>

> [@Oblio](#):
>
> Please accept this as a feature request.

This is also very important, when we want to change the tag type or encoding, using this method. So **+1 vote**.

---

<div class="post-metadata">

**Author:** ![Florian](https://community.mp3tag.de/user_avatar/community.mp3tag.de/florian/32/5759_2.png) [@Florian](https://community.mp3tag.de/u/Florian)\
**Post date:** [February 3, 2024, 2:51pm UTC](https://community.mp3tag.de/t/reading-geob/17072/20 "2024-02-03T14:51:37Z")

</div>


