[FFmpeg-trac] #7988(undetermined:new): Matroska Metadata Missing

FFmpeg trac at avcodec.org
Thu Jul 4 03:22:15 EEST 2019


#7988: Matroska Metadata Missing
-------------------------------------+-------------------------------------
             Reporter:  HomerJau     |                    Owner:
                 Type:  defect       |                   Status:  new
             Priority:  normal       |                Component:
                                     |  undetermined
              Version:  unspecified  |               Resolution:
             Keywords:  mkv          |               Blocked By:
  Metadata                           |
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
Description changed by cehoyos:

Old description:

> Summary of the bug:
>
> ffmpeg does not return a metadata tags for a Matroska file. This is
> causing music library issues in Kodi 18 and 19
>

> How to reproduce:
>
> ffmpeg -i atmos.mka -f ffmetadata test.txt
>
> Returns:
> {{{
> ;FFMETADATA1
> WWW=https://www.discogs.com/INXS-Kick/release/8861619
> DATE_RECORDED=1987
> STYLE=Pop Rock
> ARTIST=INXS
> ARTISTSORT=INXS
> CATALOGID=255080-2, 255080.2
> COMMENT=From 2017 Kick 30 Blu-ray Edition (Atmos)
> COUNTRY=Australia
> DISC TITLE=Original Album Remastered
> TITLE=Need You Tonight
> DISCOGS_RELEASE_ID=8861619
> GENRE=Rock, Pop
> ORIGINAL_MEDIA_TYPE=CD (Album)
> MUSICBRAINZ_ALBUMID=78e3ee2f-90cd-48df-b69a-162a3949c74b
> MUSICBRAINZ_ARTISTID=481bf5f9-2e7c-4c44-b08a-05b32bc7c00d
> MUSICBRAINZ_TRACKID=aa12dc94-77b1-4e9b-990f-b2bae959f5e0
> PUBLISHER=Petrol
> track=4/12
> encoder=Lavf58.20.100
> }}}
>
> Using MKVExtract on the same file with commandline:
>
> mkvextract tags atmos.mka >mkvextract.xml
>
> Returns (xml):
> {{{
> <?xml version="1.0"?>
> <!-- <!DOCTYPE Tags SYSTEM "matroskatags.dtd"> -->
> <Tags>
>   <Tag>
>     <Targets>
>       <TargetTypeValue>50</TargetTypeValue>
>     </Targets>
>     <Simple>
>       <Name>TITLE</Name>
>       <String>Kick 30</String>
>       <TagLanguage>und</TagLanguage>
>       <DefaultLanguage>1</DefaultLanguage>
>     </Simple>
>     <Simple>
>       <Name>ARTIST</Name>
>       <String>INXS</String>
>       <TagLanguage>und</TagLanguage>
>       <DefaultLanguage>1</DefaultLanguage>
>     </Simple>
>   </Tag>
>   <Tag>
>     <Targets>
>       <TargetTypeValue>30</TargetTypeValue>
>     </Targets>
>     <Simple>
>       <Name>ARTIST</Name>
>       <String>INXS</String>
>       <TagLanguage>und</TagLanguage>
>       <DefaultLanguage>1</DefaultLanguage>
>     </Simple>
>     <Simple>
>       <Name>ARTISTSORT</Name>
>       <String>INXS</String>
>       <TagLanguage>und</TagLanguage>
>       <DefaultLanguage>1</DefaultLanguage>
>     </Simple>
>     <Simple>
>       <Name>CATALOGID</Name>
>       <String>255080-2, 255080.2</String>
>       <TagLanguage>und</TagLanguage>
>       <DefaultLanguage>1</DefaultLanguage>
>     </Simple>
>     <Simple>
>       <Name>COMMENT</Name>
>       <String>From 2017 Kick 30 Blu-ray Edition (Atmos)</String>
>       <TagLanguage>und</TagLanguage>
>       <DefaultLanguage>1</DefaultLanguage>
>     </Simple>
>     <Simple>
>       <Name>COUNTRY</Name>
>       <String>Australia</String>
>       <TagLanguage>und</TagLanguage>
>       <DefaultLanguage>1</DefaultLanguage>
>     </Simple>
>     <Simple>
>       <Name>DISC TITLE</Name>
>       <String>Original Album Remastered</String>
>       <TagLanguage>und</TagLanguage>
>       <DefaultLanguage>1</DefaultLanguage>
>     </Simple>
>   </Tag>
>   <Tag>
>     <Targets>
>       <TargetTypeValue>50</TargetTypeValue>
>     </Targets>
>     <Simple>
>       <Name>PART_NUMBER</Name>
>       <String>1/4</String>
>       <TagLanguage>und</TagLanguage>
>       <DefaultLanguage>1</DefaultLanguage>
>     </Simple>
>   </Tag>
>   <Tag>
>     <Targets>
>       <TargetTypeValue>30</TargetTypeValue>
>     </Targets>
>     <Simple>
>       <Name>DISCOGS_RELEASE_ID</Name>
>       <String>8861619</String>
>       <TagLanguage>und</TagLanguage>
>       <DefaultLanguage>1</DefaultLanguage>
>     </Simple>
>     <Simple>
>       <Name>GENRE</Name>
>       <String>Rock, Pop</String>
>       <TagLanguage>und</TagLanguage>
>       <DefaultLanguage>1</DefaultLanguage>
>     </Simple>
>   </Tag>
>   <Tag>
>     <Targets>
>       <TargetTypeValue>50</TargetTypeValue>
>     </Targets>
>     <Simple>
>       <Name>ORIGINAL_MEDIA_TYPE</Name>
>       <String>CD (Album)</String>
>       <TagLanguage>und</TagLanguage>
>       <DefaultLanguage>1</DefaultLanguage>
>     </Simple>
>   </Tag>
>   <Tag>
>     <Targets>
>       <TargetTypeValue>30</TargetTypeValue>
>     </Targets>
>     <Simple>
>       <Name>MUSICBRAINZ_ALBUMID</Name>
>       <String>78e3ee2f-90cd-48df-b69a-162a3949c74b</String>
>       <TagLanguage>und</TagLanguage>
>       <DefaultLanguage>1</DefaultLanguage>
>     </Simple>
>     <Simple>
>       <Name>MUSICBRAINZ_ARTISTID</Name>
>       <String>481bf5f9-2e7c-4c44-b08a-05b32bc7c00d</String>
>       <TagLanguage>und</TagLanguage>
>       <DefaultLanguage>1</DefaultLanguage>
>     </Simple>
>     <Simple>
>       <Name>MUSICBRAINZ_TRACKID</Name>
>       <String>aa12dc94-77b1-4e9b-990f-b2bae959f5e0</String>
>       <TagLanguage>und</TagLanguage>
>       <DefaultLanguage>1</DefaultLanguage>
>     </Simple>
>     <Simple>
>       <Name>PUBLISHER</Name>
>       <String>Petrol</String>
>       <TagLanguage>und</TagLanguage>
>       <DefaultLanguage>1</DefaultLanguage>
>     </Simple>
>     <Simple>
>       <Name>STYLE</Name>
>       <String>Pop Rock</String>
>       <TagLanguage>und</TagLanguage>
>       <DefaultLanguage>1</DefaultLanguage>
>     </Simple>
>     <Simple>
>       <Name>TITLE</Name>
>       <String>Need You Tonight</String>
>       <TagLanguage>und</TagLanguage>
>       <DefaultLanguage>1</DefaultLanguage>
>     </Simple>
>     <Simple>
>       <Name>PART_NUMBER</Name>
>       <String>4/12</String>
>       <TagLanguage>und</TagLanguage>
>       <DefaultLanguage>1</DefaultLanguage>
>     </Simple>
>     <Simple>
>       <Name>WWW</Name>
>       <String>https://www.discogs.com/INXS-Kick/release/8861619</String>
>       <TagLanguage>und</TagLanguage>
>       <DefaultLanguage>1</DefaultLanguage>
>     </Simple>
>   </Tag>
>   <Tag>
>     <Targets>
>       <TargetTypeValue>50</TargetTypeValue>
>     </Targets>
>     <Simple>
>       <Name>DATE_RECORDED</Name>
>       <String>1987</String>
>       <TagLanguage>und</TagLanguage>
>       <DefaultLanguage>1</DefaultLanguage>
>     </Simple>
>   </Tag>
>   <Tag>
>     <Targets>
>       <TargetTypeValue>50</TargetTypeValue>
>       <TrackUID>11523941633358805213</TrackUID>
>       <TargetType>MOVIE</TargetType>
>     </Targets>
>     <Simple>
>       <Name>BPS</Name>
>       <String>8829154</String>
>       <TagLanguage>eng</TagLanguage>
>     </Simple>
>     <Simple>
>       <Name>DURATION</Name>
>       <String>00:00:29.994851040</String>
>       <TagLanguage>eng</TagLanguage>
>     </Simple>
>     <Simple>
>       <Name>NUMBER_OF_FRAMES</Name>
>       <String>35994</String>
>       <TagLanguage>eng</TagLanguage>
>     </Simple>
>     <Simple>
>       <Name>NUMBER_OF_BYTES</Name>
>       <String>33102706</String>
>       <TagLanguage>eng</TagLanguage>
>     </Simple>
>     <Simple>
>       <Name>_STATISTICS_WRITING_APP</Name>
>       <String>mkvmerge v35.0.0 ('All The Love In The World')
> 64-bit</String>
>       <TagLanguage>eng</TagLanguage>
>     </Simple>
>     <Simple>
>       <Name>_STATISTICS_WRITING_DATE_UTC</Name>
>       <String>2019-07-01 01:35:06</String>
>       <TagLanguage>eng</TagLanguage>
>     </Simple>
>     <Simple>
>       <Name>_STATISTICS_TAGS</Name>
>       <String>BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES</String>
>       <TagLanguage>eng</TagLanguage>
>     </Simple>
>   </Tag>
> </Tags>
> }}}
>
> The Matroska Tagging standard uses TargetTypeValue to group metadata tags
> by object:
> 50 = Album object
> 30 = Track object
>
> FFmpeg is only returning TargetTypeValue = 30 (track info)
>
> Kodi 18/19 is using ffmpeg to read Matroska metadata and need the album
> tags (TargetTypeValue = 50) as well as curennt track tags.
>
> Sample Files:
> Small mka (Matroska Audio files) sample files tagged with MP3tag:
> https://drive.google.com/drive/folders/18OXbob8IC_A9pNSPRDxmNc_8NSrDwAQ-?usp=sharing
>

> Matroska Tagging Specification:
> https://www.matroska.org/technical/specs/tagging/index.html

New description:

 Summary of the bug:

 ffmpeg does not return a metadata tags for a Matroska file. This is
 causing music library issues in Kodi 18 and 19


 How to reproduce:

 ffmpeg -i atmos.mka -f ffmetadata test.txt

 Returns:
 {{{
 ;FFMETADATA1
 WWW=https://www.discogs.com/INXS-Kick/release/8861619
 DATE_RECORDED=1987
 STYLE=Pop Rock
 ARTIST=INXS
 ARTISTSORT=INXS
 CATALOGID=255080-2, 255080.2
 COMMENT=From 2017 Kick 30 Blu-ray Edition (Atmos)
 COUNTRY=Australia
 DISC TITLE=Original Album Remastered
 TITLE=Need You Tonight
 DISCOGS_RELEASE_ID=8861619
 GENRE=Rock, Pop
 ORIGINAL_MEDIA_TYPE=CD (Album)
 MUSICBRAINZ_ALBUMID=78e3ee2f-90cd-48df-b69a-162a3949c74b
 MUSICBRAINZ_ARTISTID=481bf5f9-2e7c-4c44-b08a-05b32bc7c00d
 MUSICBRAINZ_TRACKID=aa12dc94-77b1-4e9b-990f-b2bae959f5e0
 PUBLISHER=Petrol
 track=4/12
 encoder=Lavf58.20.100
 }}}

 Using MKVExtract on the same file with commandline:

 mkvextract tags atmos.mka >mkvextract.xml

 Returns (xml):
 {{{
 <?xml version="1.0"?>
 <!-- <!DOCTYPE Tags SYSTEM "matroskatags.dtd"> -->
 <Tags>
   <Tag>
     <Targets>
       <TargetTypeValue>50</TargetTypeValue>
     </Targets>
     <Simple>
       <Name>TITLE</Name>
       <String>Kick 30</String>
       <TagLanguage>und</TagLanguage>
       <DefaultLanguage>1</DefaultLanguage>
     </Simple>
     <Simple>
       <Name>ARTIST</Name>
       <String>INXS</String>
       <TagLanguage>und</TagLanguage>
       <DefaultLanguage>1</DefaultLanguage>
     </Simple>
   </Tag>
   <Tag>
     <Targets>
       <TargetTypeValue>30</TargetTypeValue>
     </Targets>
     <Simple>
       <Name>ARTIST</Name>
       <String>INXS</String>
       <TagLanguage>und</TagLanguage>
       <DefaultLanguage>1</DefaultLanguage>
     </Simple>
     <Simple>
       <Name>ARTISTSORT</Name>
       <String>INXS</String>
       <TagLanguage>und</TagLanguage>
       <DefaultLanguage>1</DefaultLanguage>
     </Simple>
     <Simple>
       <Name>CATALOGID</Name>
       <String>255080-2, 255080.2</String>
       <TagLanguage>und</TagLanguage>
       <DefaultLanguage>1</DefaultLanguage>
     </Simple>
     <Simple>
       <Name>COMMENT</Name>
       <String>From 2017 Kick 30 Blu-ray Edition (Atmos)</String>
       <TagLanguage>und</TagLanguage>
       <DefaultLanguage>1</DefaultLanguage>
     </Simple>
     <Simple>
       <Name>COUNTRY</Name>
       <String>Australia</String>
       <TagLanguage>und</TagLanguage>
       <DefaultLanguage>1</DefaultLanguage>
     </Simple>
     <Simple>
       <Name>DISC TITLE</Name>
       <String>Original Album Remastered</String>
       <TagLanguage>und</TagLanguage>
       <DefaultLanguage>1</DefaultLanguage>
     </Simple>
   </Tag>
   <Tag>
     <Targets>
       <TargetTypeValue>50</TargetTypeValue>
     </Targets>
     <Simple>
       <Name>PART_NUMBER</Name>
       <String>1/4</String>
       <TagLanguage>und</TagLanguage>
       <DefaultLanguage>1</DefaultLanguage>
     </Simple>
   </Tag>
   <Tag>
     <Targets>
       <TargetTypeValue>30</TargetTypeValue>
     </Targets>
     <Simple>
       <Name>DISCOGS_RELEASE_ID</Name>
       <String>8861619</String>
       <TagLanguage>und</TagLanguage>
       <DefaultLanguage>1</DefaultLanguage>
     </Simple>
     <Simple>
       <Name>GENRE</Name>
       <String>Rock, Pop</String>
       <TagLanguage>und</TagLanguage>
       <DefaultLanguage>1</DefaultLanguage>
     </Simple>
   </Tag>
   <Tag>
     <Targets>
       <TargetTypeValue>50</TargetTypeValue>
     </Targets>
     <Simple>
       <Name>ORIGINAL_MEDIA_TYPE</Name>
       <String>CD (Album)</String>
       <TagLanguage>und</TagLanguage>
       <DefaultLanguage>1</DefaultLanguage>
     </Simple>
   </Tag>
   <Tag>
     <Targets>
       <TargetTypeValue>30</TargetTypeValue>
     </Targets>
     <Simple>
       <Name>MUSICBRAINZ_ALBUMID</Name>
       <String>78e3ee2f-90cd-48df-b69a-162a3949c74b</String>
       <TagLanguage>und</TagLanguage>
       <DefaultLanguage>1</DefaultLanguage>
     </Simple>
     <Simple>
       <Name>MUSICBRAINZ_ARTISTID</Name>
       <String>481bf5f9-2e7c-4c44-b08a-05b32bc7c00d</String>
       <TagLanguage>und</TagLanguage>
       <DefaultLanguage>1</DefaultLanguage>
     </Simple>
     <Simple>
       <Name>MUSICBRAINZ_TRACKID</Name>
       <String>aa12dc94-77b1-4e9b-990f-b2bae959f5e0</String>
       <TagLanguage>und</TagLanguage>
       <DefaultLanguage>1</DefaultLanguage>
     </Simple>
     <Simple>
       <Name>PUBLISHER</Name>
       <String>Petrol</String>
       <TagLanguage>und</TagLanguage>
       <DefaultLanguage>1</DefaultLanguage>
     </Simple>
     <Simple>
       <Name>STYLE</Name>
       <String>Pop Rock</String>
       <TagLanguage>und</TagLanguage>
       <DefaultLanguage>1</DefaultLanguage>
     </Simple>
     <Simple>
       <Name>TITLE</Name>
       <String>Need You Tonight</String>
       <TagLanguage>und</TagLanguage>
       <DefaultLanguage>1</DefaultLanguage>
     </Simple>
     <Simple>
       <Name>PART_NUMBER</Name>
       <String>4/12</String>
       <TagLanguage>und</TagLanguage>
       <DefaultLanguage>1</DefaultLanguage>
     </Simple>
     <Simple>
       <Name>WWW</Name>
       <String>https://www.discogs.com/INXS-Kick/release/8861619</String>
       <TagLanguage>und</TagLanguage>
       <DefaultLanguage>1</DefaultLanguage>
     </Simple>
   </Tag>
   <Tag>
     <Targets>
       <TargetTypeValue>50</TargetTypeValue>
     </Targets>
     <Simple>
       <Name>DATE_RECORDED</Name>
       <String>1987</String>
       <TagLanguage>und</TagLanguage>
       <DefaultLanguage>1</DefaultLanguage>
     </Simple>
   </Tag>
   <Tag>
     <Targets>
       <TargetTypeValue>50</TargetTypeValue>
       <TrackUID>11523941633358805213</TrackUID>
       <TargetType>MOVIE</TargetType>
     </Targets>
     <Simple>
       <Name>BPS</Name>
       <String>8829154</String>
       <TagLanguage>eng</TagLanguage>
     </Simple>
     <Simple>
       <Name>DURATION</Name>
       <String>00:00:29.994851040</String>
       <TagLanguage>eng</TagLanguage>
     </Simple>
     <Simple>
       <Name>NUMBER_OF_FRAMES</Name>
       <String>35994</String>
       <TagLanguage>eng</TagLanguage>
     </Simple>
     <Simple>
       <Name>NUMBER_OF_BYTES</Name>
       <String>33102706</String>
       <TagLanguage>eng</TagLanguage>
     </Simple>
     <Simple>
       <Name>_STATISTICS_WRITING_APP</Name>
       <String>mkvmerge v35.0.0 ('All The Love In The World')
 64-bit</String>
       <TagLanguage>eng</TagLanguage>
     </Simple>
     <Simple>
       <Name>_STATISTICS_WRITING_DATE_UTC</Name>
       <String>2019-07-01 01:35:06</String>
       <TagLanguage>eng</TagLanguage>
     </Simple>
     <Simple>
       <Name>_STATISTICS_TAGS</Name>
       <String>BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES</String>
       <TagLanguage>eng</TagLanguage>
     </Simple>
   </Tag>
 </Tags>
 }}}

 The Matroska Tagging standard uses !TargetTypeValue to group metadata tags
 by object:
 50 = Album object
 30 = Track object

 FFmpeg is only returning !TargetTypeValue = 30 (track info)

 Kodi 18/19 is using ffmpeg to read Matroska metadata and need the album
 tags (!TargetTypeValue = 50) as well as curennt track tags.

 Sample Files:
 Small mka (Matroska Audio files) sample files tagged with MP3tag:
 https://drive.google.com/drive/folders/18OXbob8IC_A9pNSPRDxmNc_8NSrDwAQ-?usp=sharing


 Matroska Tagging Specification:
 https://www.matroska.org/technical/specs/tagging/index.html

--

--
Ticket URL: <https://trac.ffmpeg.org/ticket/7988#comment:3>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list