[MEncoder-users] Need some help with ODML for Sansa Fuze
Martijn van Beurden
mvanb1 at gmail.com
Wed Jun 17 22:32:26 CEST 2009
Hello everyone,
I'm trying to write a script that allows mencoder to make vids for my
Sandisk Sansa Fuze. Currently I can only convert video's for my Sansa
with the Sansa Media Converter, a converter by InterVideo which encodes
in a special format, it looks like a modded AVI. I already found out how
to bypass this, and my first mencoder-encoded video is already playing!
The problem is that seeking is not working yet. Dumping the RIFF
structure of the original mencoder-encoded file gives this:
RIFF size=37536096
AVI
LIST size=382
hdrl
avih size=56
LIST size=192
strl
strh size=56
strf size=40
vprp size=68
LIST size=106
strl
strh size=56
strf size=30
LIST size=36
INFO
ISFT size=24 value=MEncoder SVN-r29358-4.3
JUNK size=3642
LIST size=36943496
movi
01wb size=120
01wb size=240
01wb size=192
01wb size=240
01wb size=240
01wb size=240
01wb size=240
01wb size=240
01wb size=240
01wb size=240
01wb size=240
01wb size=240
01wb size=288
01wb size=240
01wb size=240
01wb size=288
01wb size=288
01wb size=240
01wb size=288
idx1 size=588496
Modded (just taking the header of the same file encoded with Sansa Media
Converter)
RIFF size=37655446
AVI
LIST size=64648
hdrl
avih size=56
LIST size=32148
strl
strh size=56
strf size=40
indx size=32024
LIST size=32148
strl
strh size=56
strf size=30
JUNK size=2
indx size=32024
LIST size=260
odml
dmlh size=248
LIST size=24
INFO
ISFT size=12 value=InterVideo
LIST size=37002231
movi
ix00 size=32024
ix01 size=32024
00dc size=473
01wb size=288
01wb size=288
00dc size=6
01wb size=288
01wb size=288
01wb size=240
00dc size=6
01wb size=288
01wb size=240
00dc size=6
01wb size=288
01wb size=240
00dc size=6
01wb size=240
01wb size=288
00dc size=6
idx1 size=588496
While the headers are wrong now, it just plays without much problem.
There are only 2 flaws: I can't seek and the file length displayed is
wrong. As you can see in this dumps, SMC adds ix00 and ix01. I believe
this is for seeking. (it looks like some kind of table, and the values
seem to correspond with the bitposition of the frames) Searching learned
me that these ix.. tables are introduced in ODML. Is there a way to let
mencoder produce this tables? Otherwise I'll have to script something to
search for keyframes and building those, if thats possible.
Oh, and the indx blocks in the LIST chunks seem to point to other ix00
and ix01 blocks somewhere halfway the stream...
Thanks in advance!
More information about the MEncoder-users
mailing list