GStreamer extractor doesn't read Ogg Vorbis metadata

Hello!

I’m getting very different output when running

  • tracker info (from Tracker 2.3.6) and
  • tracker3 info (from Tracker 3.1.2)

against any of my Ogg Vorbis files.

I have created a test file which this site is unfortunately not allowing me to attach here. The metadata fields inside the file, as reported by vorbiscomment -l, are:

COMMENTS=Audacity 2.2.2
DATE=2022
TRACKNUMBER=10
TITLE=Ten Seconds of Silence
ALBUM=Some Album
ARTIST=Some Artist

I have tested these versions:

  • Ubuntu 20.04 (Focal) - Tracker 2.3.6, tracker-extract 2.3.3-2
  • Ubuntu 21.10 (Impish) - Tracker 3.1.2, tracker-extract 3.1.3-1

Full output from 2.3.6:

Querying information for entity: '/home/me/tracker3/test/silence-10s.ogg'
  'urn:uuid:a5032946-f668-42d8-911a-b32e62536674'
Results:
  'rdf:type' = 'http://www.w3.org/2000/01/rdf-schema#Resource'
  'rdf:type' = 'http://www.semanticdesktop.org/ontologies/2007/01/19/nie#DataObject'
  'rdf:type' = 'http://www.semanticdesktop.org/ontologies/2007/01/19/nie#InformationElement'
  'rdf:type' = 'http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject'
  'rdf:type' = 'http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Media'
  'rdf:type' = 'http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#Audio'
  'rdf:type' = 'http://www.tracker-project.org/temp/nmm#MusicPiece'
  'nmm:trackNumber' = '10'
  'nmm:performer' = 'urn:artist:Some%20Artist'
  'nmm:musicAlbumDisc' = 'urn:album-disc:Some%20Album:2022-01-01T00:00:00Z:Disc1'
  'nmm:musicAlbum' = 'urn:album:Some%20Album:2022-01-01T00:00:00Z'
  'tracker:modified' = '38'
  'tracker:available' = 'true'
  'tracker:added' = '2022-02-20T12:35:37Z'
  'nfo:fileSize' = '5131'
  'nfo:fileName' = 'silence-10s.ogg'
  'nfo:fileLastModified' = '2022-02-20T12:33:20Z'
  'nfo:fileLastAccessed' = '2022-02-20T12:35:18Z'
  'nfo:duration' = '10'
  'nfo:belongsToContainer' = 'urn:uuid:7f39a22e-731d-4809-872f-c78bc1f9da3f'
  'nfo:averageBitrate' = '320.0'
  'nco:contributor' = 'urn:artist:Some%20Artist'
  'nie:url' = 'file:///home/me/tracker3/test/silence-10s.ogg'
  'nie:title' = 'Ten Seconds of Silence'
  'nie:mimeType' = 'audio/x-vorbis+ogg'
  'nie:isStoredAs' = 'urn:uuid:a5032946-f668-42d8-911a-b32e62536674'
  'nie:isPartOf' = 'urn:uuid:7f39a22e-731d-4809-872f-c78bc1f9da3f'
  'nie:isLogicalPartOf' = 'urn:album:Some%20Album:2022-01-01T00:00:00Z'
  'nie:isLogicalPartOf' = 'urn:album-disc:Some%20Album:2022-01-01T00:00:00Z:Disc1'
  'nie:informationElementDate' = '2022-01-01T00:00:00Z'
  'nie:dataSource' = 'http://www.tracker-project.org/ontologies/tracker#extractor-data-source'
  'nie:dataSource' = 'urn:nepomuk:datasource:9291a450-1d49-11de-8c30-0800200c9a66'
  'nie:contentCreated' = '2022-01-01T00:00:00Z'
  'nie:byteSize' = '5131'
  'http://purl.org/dc/elements/1.1/title' = 'Ten Seconds of Silence'
  'http://purl.org/dc/elements/1.1/source' = 'http://www.tracker-project.org/ontologies/tracker#extractor-data-source'
  'http://purl.org/dc/elements/1.1/source' = 'urn:nepomuk:datasource:9291a450-1d49-11de-8c30-0800200c9a66'
  'http://purl.org/dc/elements/1.1/date' = '2022-01-01T00:00:00Z'
  'http://purl.org/dc/elements/1.1/date' = '2022-02-20T12:33:20Z'
  'http://purl.org/dc/elements/1.1/date' = '2022-02-20T12:35:18Z'
  'http://purl.org/dc/elements/1.1/contributor' = 'urn:artist:Some%20Artist'
  'maemo:relevance' = '1000000.0'

Full output from 3.1.2:

Querying information for entity: '/home/me/tracker3/test/silence-10s.ogg'
  'file:///home/me/tracker3/test/silence-10s.ogg'
Results:
  'tracker:extractorHash' = 'be97d94d017e16ac0cea5d823ac1e8a904f68f4566b1c4a629319fb5b3e104bc'
  'nfo:fileLastModified' = '2022-02-20T12:33:20Z'
  'nfo:fileLastModified' = '2022-02-20T12:33:20Z'
  'nfo:fileName' = 'silence-10s.ogg'
  'nfo:fileName' = 'silence-10s.ogg'
  'nfo:fileSize' = '5131'
  'nfo:belongsToContainer' = 'urn:bnode:11587791-8ec5-45d9-8d0c-6ca92261eaa9'
  'nfo:fileLastAccessed' = '2022-02-20T12:40:21Z'
  'nie:isPartOf' = 'urn:bnode:11587791-8ec5-45d9-8d0c-6ca92261eaa9'
  'nie:interpretedAs' = 'urn:bnode:931c05db-304e-4797-aa13-b606d7ae0d69'
  'nie:dataSource' = 'urn:bnode:62d37494-906d-416c-972e-b9e8f31075f8'
  'nie:byteSize' = '5131'
  'nie:url' = 'file:///home/me/tracker3/test/silence-10s.ogg'
  'http://purl.org/dc/elements/1.1/source' = 'urn:bnode:62d37494-906d-416c-972e-b9e8f31075f8'
  'http://purl.org/dc/elements/1.1/date' = '2022-02-20T12:33:20Z'
  'http://purl.org/dc/elements/1.1/date' = '2022-02-20T12:33:20Z'
  'http://purl.org/dc/elements/1.1/date' = '2022-02-20T12:40:21Z'
  'nrl:modified' = '6'
  'nrl:modified' = '6'
  'nrl:added' = '2022-02-20T12:40:21Z'
  'nrl:added' = '2022-02-20T12:40:21Z'
  'rdf:type' = 'http://www.w3.org/2000/01/rdf-schema#Resource'
  'rdf:type' = 'http://tracker.api.gnome.org/ontology/v3/nie#DataObject'
  'rdf:type' = 'http://tracker.api.gnome.org/ontology/v3/nfo#FileDataObject'
  'rdf:type' = 'http://www.w3.org/2000/01/rdf-schema#Resource'
  'rdf:type' = 'http://tracker.api.gnome.org/ontology/v3/nie#DataObject'
  'rdf:type' = 'http://tracker.api.gnome.org/ontology/v3/nfo#FileDataObject'

TL;DR - The output from 2.x contains fields such as nmm:trackNumber, nmm:performer and nie:title, all of which are missing from the output of 3.x. Is that the intended behaviour?

It seems to me that because the metadata is not being parsed, media player software that relies on Tracker fails to display song titles. At least that’s the symptom seen in Sailfish OS.

The obvious difference between the two versions is that the dedicated extractors for Vorbis and Flac file formats were removed in 2.99.2 and the GStreamer extractor is supposed to work fine. I’m thinking either it doesn’t, or the default configuration is somehow lacking.

Please let me know what further input you need from me to debug the issue. Thank you!

I don’t think that your issue is related to the removal of the vorbis and flac extractors.
There has been an important change with Tracker 3. It now separates a file (called DataObject) from its content (an InformationElement).

If you want to see the extracted tags, you need to call tracker3 info on the nie:interpretedAs property (ie its content). Based on your example, it would be:

tracker3 info urn:bnode:931c05db-304e-4797-aa13-b606d7ae0d69
1 Like

I see. Thanks very much! I was hoping for a simple reason like that. :+1:

I wonder if this bit in the CLI reference of tracker3 info (emphasis by me) should be rephrased? It can cause confusion if taken literally.

DESCRIPTION

tracker3 info asks for all the known metadata available for the given file.

FWIW, later versions of Tracker Miners added back the support to show information for files+content in the tracker3 info cli tool (starting with 3.2.0). That explains the documentation wording, since docs and website are built from git.

1 Like

Instead of starting a new thread, allow me to ask in this one.

Tracker 3.1.2 which runs on my phone fails to index the TITLE and DATE metadata tags in my Ogg Vorbis files (which is what prompted my original question). On Ubuntu 21.10 LTS the same version of Tracker indexes the same file just fine; meaning, when I run tracker3 extract I see the correct nie:title and nie:contentCreated. Those don’t appear in the output of the same command on my Sailfish OS phone. So far no one on the Sailfish OS forum has been able to explain that.

EDIT: Boy, I must have been tired yesterday when I typed that. Apologies. Here’s what I meant. nie:title does appear in both outputs, but on Sailfish OS it contains the file name without the .ogg suffix, instead of the real title. On Ubuntu the song title is shown correctly as nie:title.

I was wondering if anyone here had a theory about what could cause Tracker to ignore/miss those two tags on one system and see them on another. What’s weird is that ALBUM, ARTIST and TRACKNUMBER tags in my files seem to be indexed without any issue on both OS’s, but TITLE and DATE aren’t.

Oh, and when I said they are the same version, actually the binary package names and versions differ a bit. Sailfish OS has (assuming I’m interpreting pkcon output correctly):

  • tracker 3.1.2
  • tracker-miners 3.1.2

Ubuntu 21.10 LTS has:

  • tracker 3.1.2-3
  • tracker-miner-fs 3.1.3-1
  • tracker-extract 3.1.3-1

Was there some major change in tracker-miners between 3.1.2 and 3.1.3? Or should I look into some configuration options that might have an effect?

Thank you in advance.

It’s not clear what could cause this. The fallback to suffix-less file name seems clearly effect of the guarantee_metadata tracker-miners build time configuration option. But that should only happen if no title is found in the file metadata in the first place.

Perhaps you can check the metadata from the gstreamer side of things with gst-discoverer-1.0 -v $FILE, this command is available in a separate gstreamer1-plugins-base-tools package in Fedora, hopefully it’s also available in Sailfish OS repositories. That should at least point somewhere up or down GStreamer.

Cheers,
Carlos

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.