AMV file format specifications

Hi!
I would like to start a development of a mutlti media converter to AMV format to Linux enviroment and others, since i intent to keep the source open.
AMV format is one of the most commom video formats used by the cheap media portable players. There are some acceptable tools for windows enviroment, but the Linux users don’t have much what to do about this.
The problems is that i can’t find almost no details about the specifications of this format.
So, i ask to everyone that’s interested in help me with this project, tell me what you already have found out about the specs of this format.

Thanks a lot reply

Feedback
02-13-2006 04:38 PM
THDF
2 posts

Wow... This is very strange. I spend all the day trying to fing any (extra)official information about this codec, but there isn’t even a small trace about the specifications of the AMV codec but that we can find out basing in the AMV converter options.
By the way. i have found the e-mail of the creator of the only tool to make this conversion that i know. i’ve e-mailed him without answer reply

Feedback
02-15-2006 03:13 PM
THDF
2 posts

The same for Mac OS-X.
I ask all the companys that sell those players that will work with Mac OS as well. But they ansered that there is only PC-Software on the CD-Rom. - So thay dos not work. reply

Feedback
04-13-2006 09:57 PM
Tatonka

Here (http://s1mp3.org/en/downloads_tools.php?PHPSESSID=19bfaa568634c10748a18ae313296cf0) you will find a converter tool for the Mac and maybe some useful info - when I find more info, I will let you know reply

Feedback
04-19-2006 01:08 PM
prime-mass

Here is all I found (sorry):
1. http://www.s1mp3.org/wiki/index.php/Video_encoding

Good luck

prime-mass reply

Feedback
04-19-2006 01:29 PM
prime-mass

‚q‚h‚e‚eiúV‚`‚l‚u@úV
@‚k‚h‚r‚si
@@@@@@@@@úV‚ˆ‚„‚’‚ŒúV
@@@@@@@@@úV‚‚–‚‰‚ˆúV
@@@‚k‚h‚r‚si
@@@@@@@@@@@@@@@úV‚“‚”‚’‚ŒúV
@@@@@@úV‚“‚”‚’‚ˆúV
@@@@@@úV‚“‚”‚’‚†úV
@ @@@@j
@@@@@@@@@@‚k‚h‚r‚si
@@@@@@@@@@@@@úV‚“‚”‚’‚ŒúV
@@@@úV‚“‚”‚’‚ˆúV
@@@@úV‚“‚”‚’‚†úV
@@@@@@@@@@@@@@j
j
@@‚k‚h‚r‚si
@@@@@@@@@@@@@úV‚‚‚–‚‰úV
@@@@@@@‚O‚O‚„‚ƒ
@@@@@@.
@@@@@@@@@@@@@‚O‚P‚—‚‚
@@@@@@.
@@@@@@@‚O‚O‚„‚ƒ
@@@@@@.
@@@@@@@@@@@@@‚O‚P‚—‚‚
@@@@@@.
@@@@@@@@@@@@úV‚`‚u‚lQ‚d‚m‚cQúV
@@@@@j
@@@@
)
typedef struct _amvmainheader {
FOURCC fcc; @// eamvhf
DWORD@ cb;@@@// ‚“‚‰‚š‚…
DWORD@ dwMicroSecPerFrame;
BYTE reserve[28];
DWORDñBdwWidth;@@
DWORDñBdwHeight;
DWORDñBdwSpeed;
DWORD reserve0;
DWORD reserve1;
BYTE dwTimeSec;
BYTE dwTimeMin;
WORD dwTimeHour;
} AMVMAINHEADER;

typedef struct _amvstreamheader {
FOURCC@fcc;@@ // úV‚“‚”‚’‚ˆúV
DWORD cb; @@@ //
BYTE reserve[56];
} AMVSTREAMHEADER;

typedef struct {
@WORD wFormatTag;
@WORD nChannels;
@DWORD nSamplesPerSec;
@DWORD nAvgBytesPerSec;
@WORD nBlockAlign;
@WORD wBitsPerSample;
@WORD cbSize;
} WAVEFORMATEX;

‚–‚‰‚„‚…‚@‚†‚’‚‚‚…@‚…‚Ž‚ƒ‚‚„‚…@‚‰‚“@‚i‚o‚d‚f
‚‚•‚„‚‰‚@‚…‚Ž‚ƒ‚‚„‚…@‚‰‚“@‚h‚l‚`|‚`‚c‚o‚b‚l reply

Feedback
05-14-2006 09:49 PM
Lear

RIFF('AVI '
LIST(
'hdrl'
'avih'
LIST(
'strl'(video stream info)
'strh'
'strf'
)
LIST(
'strl'(audio stream info)
'strh'
'strf' )
LIST(
'movi'(data)
.
00dc(video frame data)
.
01wb(audio data
)
'AMV_END_'
)

typedef struct _amvmainheader {
FOURCC fcc; // 'amvh'
DWORD cb;
DWORD dwMicroSecPerFrame;
BYTE reserve[28];
DWORDñBdwWidth;
DWORDñBdwHeight;
DWORDñBdwSpeed;
DWORD reserve0;
DWORD reserve1;
BYTE dwTimeSec;
BYTE dwTimeMin;
WORD dwTimeHour;
} AMVMAINHEADER;

typedef struct _amvstreamheader {
FOURCC fcc; // 'strh'
DWORD cb;
BYTE reserve[56];
} AMVSTREAMHEADER;

typedef struct {
WORD wFormatTag;
WORD nChannels;
DWORD nSamplesPerSec;
DWORD nAvgBytesPerSec;
WORD nBlockAlign;
WORD wBitsPerSample;
WORD cbSize;
} WAVEFORMATEX;

video format is jpeg(without DQT,SOF,SOS)
audio format is IMA-ADPCM reply

Feedback
05-14-2006 10:01 PM
Lear

who knows an amv file site???? so i can download one! reply

Feedback
07-28-2006 08:43 PM
justin julian

>>> www.mympxplayer.com
you’ll find amv converter 4.03 reply

Feedback
08-01-2006 07:44 AM
b81_kweronggitis

I was able to convert movies to AMV format, but it plays really small on the already small screen. Anyone knows how to make the viewing larger? reply

Feedback
02-17-2007 07:58 AM
graveshaker

AMV format is the video format used by the video enabled S1mp3s.

Files of this format are suffixed with ".amv”.

The container format used by AMV files is a modified version of the AVI format.

It has the strings “AVI” and “avih” in the header replaced with “AMV” and “amvh”. The section where codec, frame size, and other information would normally be found is filled with zeroes (because most of that information is hard-coded into the player). The the string “AMV_END_" is found at the end of the file.

There is a big possibility that the AMV movie format used by S1mp3 is a rip of 'Apex Media Video' for Nintendo Game Boy (Color). Older info on it can be found at the Apex Designs page

Apex claim pretty good compression ratios and it is capable of being decoded on GB. It is possible that AMV is a rip-off of that codec, mainly considering both devices work with a Z80-based instruction set.

The company haven’t replied to the email sent about the issue.

AMV Video format isn’t Apex Media Video format, it is simple motion jpeg where each frame is saved as jpeg.

Here is a simple test to understand what’s in the AMV video file.

make an AVI video of total 10 frames using RAW DATA format, at 12fps sized 160x120 without sound
save eche frame to BMP (do not use jpeg now, name them as 01.bmp ~ 10.bmp)
convert the BMP files to JPEG, be careful with the JPEG compress level
convert the AVI file to 160x120, 12fps AMV, again be careful about the Image quality setting which is the JPEG compress level, and set Image Zoom to 0
compare the AMV and JPEG files using a hex editor
You will find jpeg headers inside the AMV file.

Acoording to a comment in a blog post, AMV and MTV are both AVI based (ffmpeg demuxer has proven to be able to handle it, with a few hacks), some chunks are removed, some are modified. The audio stream is MP3 and the video stream is mostly 160xY MPEG4.

Hope this Helps! reply

Feedback
06-24-2007 12:35 AM
animalz

I’m working on Open Source decoder for this file format. It’s writen in perl, and it just extracts jpeg and audio frames.

Code is available at http://svn.rot13.org/index.cgi/amv/

I would appreciate help with audio format: it seems that it’s some variant of ADPCM (and not mp3 frames!), but I haven’t figured out which one (there is 8 bytes of something in front of each ADPCM frame). reply

Feedback
07-22-2007 07:22 AM
dpavlin
1 posts

If you find more information on this topic, feel free to contact the people at http://www.multimedia.cx. They do a lot of this kind of work (coding and reverse engineering)
I’m sure their page on amv would welcome any input. reply

Feedback
07-22-2007 11:12 AM
anonymous
1,580 posts

http://www.media-convert.com
will convert any file to dot amv
unfortunately it only plays at 30 frames per second
most mp4 players play at 80 fps reply

Feedback
09-22-2007 10:12 PM
dugurama

The latest FFmpeg version (from svn) now supports AMV demuxing and decoding. We are almost ready with the AMV muxing and encoding, and we will submit this functionality into ffmpeg one of these days.

If you can’t wait, you can check out our alpha version at http://code.google.com/p/amv-codec-tools/ reply

Feedback
10-01-2007 05:45 AM
Tom from amv-codec-tools

i’m thinking of buying an S1mp3 player and wondered roughly what the file size of an amv video is, say per minute, in megabytes, or simply how many total minutes a player can store (in 4 gb which is what i will be buying) - mp3 players always boast about how many songs, or minutes worth of songs, can be stored, but havn’t found a single amv player which will... reply

Feedback
10-31-2007 02:20 PM
AdamClements

i just got a mp4 player and it came with the amv converter and it wont work any body got any other ideas when ive tired looking for amv converters online i just get the one ive already have emial if you got any suggestions starr925@hotmail.com reply

Feedback
11-13-2007 04:45 PM
starr

ummm yes,i have a comment.what the heck are you talking about? i dont speak computer so can someone put it in not smart words? reply

Feedback
11-25-2007 04:32 PM
J_G22

Get a free linux/windows amv encoder at www.bytessence.com

see under products page, it’s called BAMVC (bytessence amv converter). u can set a lots of options and it’s open source. reply

Feedback
01-31-2008 01:03 PM
Panzer

@ Tom-from-amv-codec-tools

Why have you compiled against an upstream version of GLIBC?

./amv-ffmpeg: /lib/tls/i686/cmov/libc.so.6: version `GLIBC_2.4' not found (required by ./amv-ffmpeg)

You should compile against an older version of GLIBC as the majority of distros are still on GLIBC_2.0 (if they have moved from 1.x that is)

This is an un-resolvable error on all but gentoo and ubuntu systems.

BAMVC is using the same amv-ffmpeg version and generating the same error reply

Feedback
03-18-2008 03:13 AM
joolz-asf-dev-tools

Post Your Answer

Topic
Your reply
Your name
or log in
Verify you're human
Captcha temp. disabled on test..!

By submitting this form you agree to our posting rules,
privacy policy and our disclaimer.