Endless Paradigm

Full Version: PLAYLIST.UMD format
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Vegetano1 asked me to look into the file format of this file a while ago.

Basically, this file appears on UMD Videos (and Music) and describes the tracks on the video content.

Probably useless to most people, but just posting here if anyone's interested:

Code:
PLAYLIST.UMD file format


======= GENERAL FILE ORGANISATION =======
  File header
  File Data
  [ Track entry
     - Marker entry
     - Marker entry
     ...
  ]
  [ Track entry
     - Marker entry
     - Marker entry
     ...
  ]
  ...
  
========================================

** NOTE: Numbers are in BIG ENDIAN format
** TIMESTAMP format: appears to be, seconds = (timestamp / 90000) - 1

-- FILE HEADER --
0x00    (char)      ASCII string "UMDV0088"
0x08    (dword)     Always 0x0130 (absolute pointer to file data section?)
0x0C-0x29           All 0x00

0x2A    (word)      Always 0x0104 (length to 0x130 from 0x2A?)
0x2C    (dword)     Always 0x01
0x30    (byte)      Length of title (max=255)
0x31    (char)      Title text, followed by nulls to pad 255 characters
                    UMD Videos seem to start with "UMDV-" and Music starts with "MUSIC " ?

-- FILE DATA --
0x130    (dword)    Offset from 0x134 to EOF
0x134    (word)     Number of tracks

-- TRACK ENTRY (first occurance @0x136) -- [ length = 0x338 bytes ]
0x00    (dword)     Length of track entry excluding the 4 bytes for this length value
0x04    (word)      UNKNOWN (always 0x0310)
0x06    (word)      UNKNOWN (always 0x0332)
0x08-0x25           All 0x00
0x26    (word)      Always 0x02E8 (maybe something to do with length?)
0x28    (word)      Usually 0x0000, sometimes 0x1000
0x2A    (word)      UNKNOWN (always 0x2004)
0x2C    (word)      UNKNOWN (video UMDs=0x0815, audio UMDs=0x1212)?
0x2E    (dword)     UNKNOWN (video UMDs=0x23000000, audio UMDs=0x12121200)?
0x32    (dword)     UNKNOWN (always 0x00060900)
0x36    (byte)      Length of next text (max=255)
0x37    (char)      Name
 this is followed by nulls (length of string is thus 0x2DB bytes), until...
0x312   (word)      UNKNOWN (always 0x1E00) - related to length??
0x314   (word)      Always 0x00
0x316   (dword)     Always 0x00010000
0x31A   (dword)     UNKNOWN (always 0x00160005)
0x31E   (char)      Corresponding filename [8 chars] (eg 00001\0\0\0)  A file can have multiple tracks this way
0x326   (word)      Always 0x00
0x328   (dword)     Absolute start position? (timestamp)
0x32C   (word)      Always 0x00
0x32E   (dword)     Absolute end position? (timestamp)
0x332   (dword)     Length of marker data +2 bytes (=0x28*markers + 2)
0x336   (word)      Number of markers

-- MARKER ENTRY (first occurance @0x46E) -- [ length = 0x28 ]
0x00    (byte)      Always 0x05 - entry start marker?
0x01    (byte)      Length of 'mark name' ASCII string
0x02    (dword)     Always 0x00
0x06    (dword)     Timestamp of marker
0x0A    (dword)     Always 0x00
0x0E    (word)      Always 0x00
0x10    (char)      ASCII string representing 'mark name' - this is always exactly 0x18 chars long; typically (actually, always), the name is in the format "Mark{framepos}" where {framepos} appears to be the frame # of the marker


Trying to write an editor for this now, but I kinda suck with Visual C++ (trying to ditch VB once and for all :P), so yeah...
Source code is the "src" package below.  Done in Visual Studio 2005 or 2008 or 2022, I can't remember.  Just hope it works.

EDIT by Vegetano1: i have added the editor to the first post/topic ;) thanks alot !!

Madwin !!

i am currently making Ghost in the Shell 2&3 and Pirates of the Caribbean 3,. if there is to be an editor of some sort,. then i better wait so i can match chapters and movie lenght.
but i also see its not that easy to figure out whot the playlist.UMD contains,. so i can only hope for an editor,.
there is alot of info in the playlist.UMD,... an editor should be able to edit an excisting playlist.UMD because for now i really need to know how to extend the movie lenght's/end time. the PotC3 movie i want to fit on the PotC1 UMD but its way longer playing time,.

also going to poke arround at doom9.net to see if anyone knows how to make suported subtitles .ssa files,.
untill now i have had no luck finding a working subtitle converter,. :(
wow nice reading zinga!!  your brain powers amaze me every time you do this.
Lol thanks SchmilK :)
Alright, you can give this a try.


First time writing a Windows app in Visual C++, and I suck... :/ (double you tee eff? the dialog editor doesn't show all the notification messages...)

Anyway, hopefully it isn't bugged.  I haven't actually tried these files on a UMD though.

EDIT: don't download the one below - attachment in first post is newer.
i am going to test this asap!! i have loaded a playtlist.UMD and looks like i be able to change chapters and lenght's! just whot  i needed!!

Madwin
[Image: f_SCREEN2m_3a84a8b.png]

i made a small test clip with the new end time, PotC3! was 02:23 and now is 02:41 !! i have not encoded the whole movie,. having some trouble finding a second audio track,. i got hindi audio but i want spanish or french,. ;p
I am also going to try and change the chapters.
:/, I had to make a guess on how the timestamps work...  The rate is probably wrong (so reducing the length probably will fix it).
Can you send me the playlist with the correct lengths?
Well already send Zinga a PM but this editor works great!! :)

-edit the total movie lenght
-edited chapter's
-added chapters
-removed chapters

all works fine!! was wandering whot all other value's are for but i think i understand these can't be changed,. like Zinga explained,.!?
@ZingaBurga loop ponts in menu's use chapter points ;) :)

Hmmm it seems that there is also some connection between the rco and the loop point,.
there are 2 chapter/loop points(the same time mark) but i can only change the first one,. when first time into menu or after episodes are finsihed playing,. the second one is for the menu after looped 1 time,. then and this looppoint/chapter i can't change because else the menu icons won't appear,.

so,. i have a custom loop point when menu starts and after an episode back in amin menu,.
then the second loop point is used and this looppoint/chapter can't be used,. lol anyway it works,. and its kinda even better this way,..
Pages: 1 2
Reference URL's