[FFmpeg-devel] Chinese AVS file format (with upload)

Stefan Gehrer stefan.gehrer
Sun Jun 22 10:51:16 CEST 2008


Hi,

yesterday I got the "AvsTranscoder_2.0" available at
http://www.avs.org.cn/DownSys/download.asp?id=6
running on a virtual XP box.
In case anyone is interested to do so and has problems with the
user-friendly interface (see attachment for how it looked for me :) )
the five buttons at the top are Add/Remove/Clear/Setup/About and the
lower two Run/Quit.
This program is said to produce container files according to AVS1 part 9 
(file format). Now this might come as a surprise to many, but this
standard is widely based on a well-established ISO standard, in this
case ISO 14496-12.
Our own MOV demuxer can parse the file and the MP3 audio track is played
back, but the video track is not recognized. The debug output of
demuxing is below.
I uploaded such a file to incoming/AVSFileFormat/AVSFileFormat.mp4
together with another file which contains the same video stream in ES
format. I looked at both in a hex editor and would describe the muxing
process of the video ES into the file as follows:

- cut ES into chunks starting with the 0x000001 prefix and get rid
of this prefix
- put a 32bit size value and an 8bit unknown value in front of
the chunk
- put the chunk in the mdat atom of the container file

I played around a bit with mov.c but basically have no idea about it.
If anybody is interested in this and could help me feeding the chunks
to my video decoder I would be glad.
But I could also imagine that some people are not very happy to see
yet another bastardization of this file format :)

Stefan

FFplay version SVN-r13854, Copyright (c) 2003-2008 Fabrice Bellard, et al.
   configuration: --enable-debug=gdb3 --disable-optimizations --disable-mmx
   libavutil version: 49.7.0
   libavcodec version: 51.57.2
   libavformat version: 52.16.0
   libavdevice version: 52.0.0
   built on Jun 21 2008 14:31:42, gcc: 4.2.3 (Ubuntu 4.2.3-2ubuntu7)
type: 70797466  ftyp  sz: 18  c1afe   8
type: 7461646d  mdat  sz: 8  c1afe   20
type: 7461646d  mdat  sz: af328  c1afe   28
type: 7461646d  mdat  sz: 11f88  c1afe   af350
type: 766f6f6d  moov  sz: 82e  c1afe   c12d8
type: 6468766d  mvhd  sz: 6c  826   8
time scale = 90000
type: 73646f69  iods  sz: 18  826   74
type: 6b617274  trak  sz: 319  826   8c
type: 64686b74  tkhd  sz: 5c  311   8
type: 6169646d  mdia  sz: 2b5  311   64
type: 6468646d  mdhd  sz: 20  2ad   8
type: 726c6468  hdlr  sz: 21  2ad   28
ctype=      (0x00000000)
stype= soun
type: 666e696d  minf  sz: 26c  2ad   49
type: 64686d73  smhd  sz: 10  264   8
type: 666e6964  dinf  sz: 24  264   18
type: 66657264  dref  sz: 1c  1c   8
type url  size 12
type: 6c627473  stbl  sz: 230  264   3c
type: 64737473  stsd  sz: 60  228   8
size=80 4CC= mp4a codec_type=1
audio channels 2
version =0, isom =1
type: 73647365  esds  sz: 2c  2c   8
MPEG4 description: tag=0x03 len=27
MPEG4 description: tag=0x04 len=13
esds object type id 107
MPEG4 description: tag=0x06 len=1
type: 73747473  stts  sz: 18  228   68
track[0].stts.entries = 1
sample_count=3450, sample_duration=1152
type: 7a737473  stsz  sz: 14  228   80
type: 63737473  stsc  sz: 28  228   94
track[0].stsc.entries = 2
type: 6f637473  stco  sz: 174  228   bc
AVIndex stream 0, sample 0, offset 28, dts 0, size 208, distance 0, 
keyframe 1
AVIndex stream 0, sample 1, offset f8, dts 1, size 208, distance 0, 
keyframe 1

...

AVIndex stream 0, sample 3448, offset af1a8, dts 3448, size 208, 
distance 0, keyframe 1
AVIndex stream 0, sample 3449, offset af278, dts 3449, size 208, 
distance 0, keyframe 1
type: 6b617274  trak  sz: 426  826   3a5
type: 64686b74  tkhd  sz: 5c  41e   8
type: 6169646d  mdia  sz: 27d  41e   64
type: 6468646d  mdhd  sz: 20  275   8
type: 726c6468  hdlr  sz: 21  275   28
ctype=      (0x00000000)
stype= hint
type: 666e696d  minf  sz: 234  275   49
type: 64686d68  hmhd  sz: 1c  22c   8
type: 666e6964  dinf  sz: 24  22c   24
type: 66657264  dref  sz: 1c  1c   8
type url  size 12
type: 6c627473  stbl  sz: 1ec  22c   48
type: 64737473  stsd  sz: 34  1e4   8
size=36 4CC= rtp  codec_type=0
depth 40, ctab id 29556
type: 00000000    sz: 73630000  1e4   3c
type: 2f505452  RTP/  sz: 6f203020  41e   2e1
type: 692e0000    sz: 0  826   7cb
on_parse_exit_offset=793392
stream 0, sample 0, dts 0
stream 0, pts 0, dts 0, pos 0x28, duration 1
stream 0, sample 1, dts 26122
stream 0, pts 1, dts 1, pos 0xf8, duration 1
stream 0, sample 2, dts 52245

...


-------------- next part --------------
A non-text attachment was scrubbed...
Name: AvsTranscoder.png
Type: image/png
Size: 19067 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080622/0604eb81/attachment.png>



More information about the ffmpeg-devel mailing list