Log in

View Full Version : QuickTime 7 and MPEG-4 ASP


Blue_MiSfit
15th May 2007, 08:24
Hey folks,

So according to Wikipedia (and trust me I know how trecharous their information can be), Quicktime 7 can playback MPEG-4 ASP.

Obviously this doesn't mean it's as feature complete as libavcodec, but it should be able to decode most of the ASP features.

So I threw a "best case" scenario at it today, XviD CQ3 with qpel, 3 bvops, the MPEG matrix etc... It didn't play at all - it crashed QuickTime actually, when muxed in either AVI or MP4.

I tried using h263 quantization instead, and the same result. I'm too lazy to test other options, but I'm guessing multiple bvops are a no-no?

Lovely apple....
I'm trying to develop a good streaming solution, and since H.264 is pretty CPU heavy through QuickTime, I thought ASP would be a nice compromise between H.264 and Flash Video (H.263 or if you're rich VP6).

Has anyone actually determined exactly what the "maximum" ASP settings QuickTime 7 can decode properly?

Thanks everyone :)

I will test when I have some more time, for now it's shut-eye time. Dreadful 18 hour days are killing me.

~MiSfit

smok3
15th May 2007, 09:08
i didnt bother to find the maximum, but this is working every time (copy/pasted from my batch):

xvid_encraw -i "%inpdrive%%inppath%%avsname%_%inpname%%avsext%" -type 2 -bitrate %bit% -quality 6 -pass1 "%inpfullnoext%" -o pass1.m4v
xvid_encraw -i "%inpdrive%%inppath%%avsname%_%inpname%%avsext%" -type 2 -bitrate %bit% -quality 6 -pass2 "%inpfullnoext%" -o "%inpfull%.m4v"

btw, there is 'free' vp6 solution explained here:
http://sh0dan.blogspot.com/2006/09/command-line-flash-8-flv-encoding.html
related thread http://forum.doom9.org/showthread.php?t=123788

SeeMoreDigital
15th May 2007, 10:11
i didnt bother to find the maximum, but this is working every time Interesting....

Are you able to provide a short sample please?

bond
15th May 2007, 20:18
till now quicktime never supported asp. can someone confirm that it now handles, b-frames, qpel, gmc and mpeg/custom matrices?

Blue_MiSfit
16th May 2007, 03:11
Well, it's definitely not a truly ASP compliant decoder.

I can't seem to get it to play ANY XviD encoded MPEG-4 smoothly. Even pure SP, with no b-frames, no QPEL, CBR @ 700kbit, h263 quant, etc etc. Maybe there's something wrong here :) I'm forcing MP4V FOURCC just in case


This was using xvid_encraw through megui. I switched to good old VFW and got smooth playback with these settings. Working my way up to full ASP, and seeing when it breaks :)


~MiSfit

Blue_MiSfit
16th May 2007, 03:53
Okay I got everything figured out.

QuickTime 7 (at least 7.1.5) is not ASP compliant. It is only SP compliant.

This means no B-frames, no qpel, and no CQMs. So it seems the situation is unchanged from QuickTime 6.

If you follow these rules, it will still play MPEG-4. I'm going to do some Wikipedia editing tonight...

Oh, and my xvid_encraw problems are quite simple. There's a known bug with MeGUI and xvid_encraw.

When you specify 0 b-frames in MeGUI, it does not directly pass that to xvid_encraw, as it (incorrectly) assumes the default is 0. The default is in fact 1, and as such MeGUI cannot presently make xvid_encraw encode without bframes (without tweaking the command line). I ran into this awhile back trying to do a similar procedure, except I was targeting an iPod.

Too bad Apple can't get it together to write an ASP decoder :( H.264 is too damn slow on most average Windows PCs through QuickTime.

~MiSfit

GmorG McRoth
16th May 2007, 08:46
I did not try but most likely this QuickTime component would give whole ASP range. http://n.ethz.ch/student/naegelic/download/ if not then there is also a DivX one.

squid_80
16th May 2007, 10:59
Oh, and my xvid_encraw problems are quite simple. There's a known bug with MeGUI and xvid_encraw.

When you specify 0 b-frames in MeGUI, it does not directly pass that to xvid_encraw, as it (incorrectly) assumes the default is 0. The default is in fact 1, and as such MeGUI cannot presently make xvid_encraw encode without bframes (without tweaking the command line). I ran into this awhile back trying to do a similar procedure, except I was targeting an iPod.
0.2.4.1040
Commit by berrinam:
- Fixed 1652312 (xvid b-frames default wrong)
That should be fixed now, I think.

foxyshadis
16th May 2007, 11:27
Oh, and my xvid_encraw problems are quite simple. There's a known bug with MeGUI and xvid_encraw.

When you specify 0 b-frames in MeGUI, it does not directly pass that to xvid_encraw, as it (incorrectly) assumes the default is 0. The default is in fact 1, and as such MeGUI cannot presently make xvid_encraw encode without bframes (without tweaking the command line). I ran into this awhile back trying to do a similar procedure, except I was targeting an iPod.

Switch MeGUI's update servers to development, that bug has been recently fixed but hasn't made it to the stable side yet.

Haha, oops, squid got it too =p

bond
17th May 2007, 19:06
Well, it's definitely not a truly ASP compliant decoder.

I can't seem to get it to play ANY XviD encoded MPEG-4 smoothly. Even pure SP, with no b-frames, no QPEL, CBR @ 700kbit, h263 quant, etc etc. Maybe there's something wrong here :) I'm forcing MP4V FOURCC just in case


This was using xvid_encraw through megui. I switched to good old VFW and got smooth playback with these settings. Working my way up to full ASP, and seeing when it breaks :)


~MiSfitforcing mp4v fourcc? did you try playing xvid from inside avi in quicktime? if yes, does this work with qt's native decoder?

or did you use xvid in mp4?

smok3
18th May 2007, 08:52
SeeMoreDigital, link to some exampels is in your PM.

SeeMoreDigital
18th May 2007, 09:58
SeeMoreDigital, link to some exampels is in your PM.Thanks.... got them.

At first neither of your 8No (MPEG-4 SP with AAC-LC in) ".MOV" samples wanted work with the latest version of QT7. However, when their file extension was changed to from ".MOV" to ".MP4" they all played in QT7 just fine.....

This indicated to me that perhaps the final ".MOV" muxing step had not been undertaken. So I re-muxed them using QT7 Pro and saved them as .MOV's and.... they now all work in QT7.

Just to confirm though. Even the latest version of QT7/Pro (v7.1.6.200. Dated 2007-04-27) does not support MPEG-4 ASP with it's own decoder.

Happily I can confirm that this latest version does now support MPEG-4 SP and MPEG-4 AVC video with 6Ch AAC audio within MP4 - which can then be saved to .MOV


Cheers

smok3
18th May 2007, 10:31
Thanks.... got them.

At first neither of your 8No (MPEG-4 SP with AAC-LC in) ".MOV" samples wanted work with the latest version of QT7. However, when their file extension was changed to from ".MOV" to ".MP4" they all played in QT7 just fine.....

This indicated to me that perhaps the final ".MOV" muxing step had not been undertaken. So I re-muxed them using QT7 Pro and saved them as .MOV's and.... they now all work in QT7.

i dont know what you are talking about? is this text for me?

SeeMoreDigital
18th May 2007, 14:51
i dont know what you are talking about? is this text for me?Yes... it's for you!

smok3
18th May 2007, 14:55
SeeMoreDigital, ...:

1st: this are mp4 files muxed with mp4box and they have .mp4 extension (how did you get your .mov?).
2nd: they do play on every version of qt7 i have tried.

so my guess would be that you are on some strong mushrooms or.. ?

SeeMoreDigital
18th May 2007, 20:36
Thanks for the confirmation.

I looks as though yesterdays QT7 update has taken over some settings because when I downloaded your samples I got this: -

http://img337.imageshack.us/img337/2662/snap1rz9.png

That said, non of your Xvid (MPEG-4 Part-2) in MP4 samples are ASP.... They are all SP ;)


Cheers

smok3
18th May 2007, 20:58
They are all SP here i can agree :), mediainfo will return:
Video #0

Codec : MPEG-4 Video
Codec settings/BVOP : No
Codec settings/QPel : No
Codec settings/GMC : 0
Codec settings/Matri : Default
PlayTime : 10s
Bit rate : 998 Kbps
Bit rate mode : VBR
Width : 512 pixels
Height : 384 pixels
Aspect ratio : 4/3
Frame rate : 25.000 fps
Resolution : 8 bits
Chroma : 4:2:0
Interlacement : Progressive
Bits/(Pixel*Frame) : 0.203
StreamSize : 1.19 MiB
Writing library : XviD0039
Encoded date : UTC 2007-03-13 14:06:19
Tagged date : UTC 2007-03-13 14:06:19

Blue_MiSfit
19th May 2007, 04:28
forcing mp4v fourcc? did you try playing xvid from inside avi in quicktime? if yes, does this work with qt's native decoder?

or did you use xvid in mp4?

I tried several things. Xvid from inside AVI in quicktime didn't work, but Xvid from inside MP4 works (encoded raw m4v, and muxed with YAMB)

I didn't muck around with audio.

as far as the mp4v fourcc, I just figured I might as well, just in case :)

~MiSfit