Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
matroska [2013/06/28 21:30] beandogmatroska [2018/03/28 06:28] (current) beandog
Line 1: Line 1:
 ==== Matroska === ==== Matroska ===
 +
 +  * [[mkclean]]
 +  * [[mkvmerge]]
  
 Matroska is my favorite container :D Matroska is my favorite container :D
 +
 +  * [[https://trac.bunkus.org/wiki/FAQ%3AImprovingPlaybackCompatibilityWithPlayers|Options for improving playback on players that don't implement the full Matroska specification]] (from mkvtoolnix)
  
 === archives: Making a file with chapters === === archives: Making a file with chapters ===
Line 9: Line 14:
  
 <code>mkvmerge --chapters <file> -o movie.mkv dvd.vob</code> <code>mkvmerge --chapters <file> -o movie.mkv dvd.vob</code>
 +
 +=== archives: Metadata in mplayer ===
 +
 +**Notes:** Now I *know* some of this is outdated because there have been patches sent in to MPlayer after I wrote this, that I've used.  It's helpful as a point of reference though.
 +
 +Metadata in mplayer
 +
 +<code>
 +get_meta_album
 +    Print out the 'Album' metadata of the current file.
 +
 +get_meta_artist
 +    Print out the 'Artist' metadata of the current file.
 +
 +get_meta_comment
 +    Print out the 'Comment' metadata of the current file.
 +
 +get_meta_genre *
 +    Print out the 'Genre' metadata of the current file.
 +
 +get_meta_title
 +    Print out the 'Title' metadata of the current file.
 +
 +get_meta_track
 +    Print out the 'Track Number' metadata of the current file.
 +
 +get_meta_year
 +    Print out the 'Year' metadata of the current file.
 +</code>
 +
 +<code>
 +osd_show_property_text "${metadata/title}"
 +
 +meta_artist: ARTIST
 +meta_comment: COMMENT
 +meta_genre: GENRE
 +meta_track: PART_NUMBER
 +meta_year: DATE_RELEASE
 +</code>
 +
 +libavformat/matroskadec.c
 +(1156)
 +<code c>
 +av_metadata_set(&s->metadata, "title", matroska->title);
 +</code>
 +
 +av_metadata_set is in metadata.c
 +
 +
 +libmpdemux/demux_lavf.c
 +<code c>
 +    if(avfc->title    [0]) demux_info_add(demuxer, "title"    , avfc->title    );
 +    if(avfc->author   [0]) demux_info_add(demuxer, "author"   , avfc->author   );
 +    if(avfc->copyright[0]) demux_info_add(demuxer, "copyright", avfc->copyright);
 +    if(avfc->comment  [0]) demux_info_add(demuxer, "comments" , avfc->comment  );
 +    if(avfc->album    [0]) demux_info_add(demuxer, "album"    , avfc->album    );
 +//    if(avfc->year        ) demux_info_add(demuxer, "year"     , avfc->year     );
 +//    if(avfc->track       ) demux_info_add(demuxer, "track"    , avfc->track    );
 +    if(avfc->genre    [0]) demux_info_add(demuxer, "genre"    , avfc->genre    );
 +</code>
 +
 +libavformat/metadata_compat.c
 +
 +<code c>
 + compat_tab[] = {
 +    { "title",           SIZE_OFFSET(title)     },
 +    { "author",          SIZE_OFFSET(author)    },
 +    { "copyright",       SIZE_OFFSET(copyright) },
 +    { "comment",         SIZE_OFFSET(comment)   },
 +    { "album",           SIZE_OFFSET(album)     },
 +    { "year",            SIZE_OFFSET(year)      },
 +    { "track",           SIZE_OFFSET(track)     },
 +    { "genre",           SIZE_OFFSET(genre)     },
 +
 +    { "artist",          SIZE_OFFSET(author)    },
 +    { "creator",         SIZE_OFFSET(author)    },
 +    { "written_by",      SIZE_OFFSET(author)    },
 +    { "lead_performer",  SIZE_OFFSET(author)    },
 +    { "description",     SIZE_OFFSET(comment)   },
 +    { "albumtitle",      SIZE_OFFSET(album)     },
 +    { "date_written",    SIZE_OFFSET(year)      },
 +    { "date_released",   SIZE_OFFSET(year)      },
 +    { "tracknumber",     SIZE_OFFSET(track)     },
 +    { "part_number",     SIZE_OFFSET(track)     },
 +};
 +</code>
 +
 +Looks like these are the only ones actually supported:
 +
 +<code c>
 +    FILL_METADATA_STR(ctx, title);
 +    FILL_METADATA_STR(ctx, author);
 +    FILL_METADATA_STR(ctx, copyright);
 +    FILL_METADATA_STR(ctx, comment);
 +    FILL_METADATA_STR(ctx, album);
 +    FILL_METADATA_INT(ctx, year);
 +    FILL_METADATA_INT(ctx, track);
 +    FILL_METADATA_STR(ctx, genre);
 +</code>

Navigation