View Full Version : Flash Player to include AVC and AAC and MP4 and TTXT support


bond
21st August 2007, 21:09
a big step for the mpeg-4 standard

Adobe announced that it will support the following parts of the mpeg-4 standard (and more) in an upcoming update to their flash player:
- AVC: A software based H.264 codec with the ability to decode Base, Mainline and High profiles...Extended, High 4:2:2 and High 4:4:4 profiles are not officially supported at this time. They might or might not work depending on what features are used. We have no artificial lower limit on B-frames or any problems with B-pyramids like other players do. We also decode field coded streams...the H.264 decoder is...provided to us by MainConcept. It weights in at less than 100KB of compressed code
- AAC: An AAC decoder supporting AAC Main, AAC LC and SBR (also known as HE-AAC). The corresponding ISO specification is ISO 14496-3.
- MP4: An file format parser implementing parts of ISO 14496-12. In terms you might understand this means a very limited sub set of MPEG-4, 3GP and QuickTime movie support.
- TTXT: Support for the 3GPP timed text specification 3GPP TS 26.245. Essentially this is a standardized subtitle format within 3GP files...Any number of text tracks are supported and all the information, including esoteric stuff like karaoke meta data...Language information in the individual tracks is also reported. That means you can have sub titles in several languages.for the details read more here:
http://www.kaourantin.net/2007/08/what-just-happened-to-video-on-web_20.html (thanks to Drachir for pointing me to it) and here:
http://forum.doom9.org/showthread.php?t=129118

a beta version is available here:
http://labs.adobe.com/technologies/flashplayer9/

everything needs to have a downside:
1) mpeg-4 asp (divx, xvid) will not be supported
2) mpeg-4 systems advanced content (basically an open standard alternative to advanced flash content) is not supported
2) the flash player will only support mp4+avc+aac files streamed via adobe servers (but afaik this is the case with all flash content)


As being open standard you should be able to create supported streams with the following free tools:
AVC: x264 (http://www.videolan.org/developers/x264.html) and all tools using x264
AAC: faac (http://sourceforge.net/projects/faac/) and all tools using faac
MP4: mp4box (http://gpac.sourceforge.net/), mp4creator (http://mpeg4ip.sourceforge.net/), ffmpeg (http://ffmpeg.mplayerhq.hu/)
TTXT: mp4box (http://gpac.sourceforge.net/)

Dark Shikari
21st August 2007, 21:20
Sweet.

Schrade
22nd August 2007, 01:59
They have a link to test out the flashplayer once you install it. Here's the link: http://labs.adobe.com/technologies/flashplayer9/fullscreendemo/

It has a streaming video that is 1280x720 in it and it's an MP4 container. You can switch between that or the On2 VP6 encode.

Unsurprisingly, it chows up all my CPU when playing the h.264 encode. I have an AMD Athlon XP 2400+. They need to license CoreAVC or something to make this work right.

Kurtnoise
22nd August 2007, 06:20
What about the GPAX (http://gpac.sourceforge.net/doc_embed.php) ?


btw, it's definitely the end of story for the Ogg/Theora.

Dark Shikari
22nd August 2007, 06:40
What about the GPAX (http://gpac.sourceforge.net/doc_embed.php) ?


btw, it's definitely the end of story for the Ogg/Theora.Definitely not, Ogg/Theora serve a particular purpose; they have no royalties. Both H.264 and AAC have royalties, even if most people don't pay them.

Wikipedia, for example, one of the top 10 most popular websites in the world, uses Ogg and Theora exclusively, and as the web moves towards more rich media, they will stick with that simply for legal reasons.

Schrade
22nd August 2007, 06:42
Does GPAC's plugin have any controls at all yet? Last time I checked it was similar to VLC's plugin I think.. just a video playing, no volume control, no seeking/stop/play/pause controls, etc.

iwod
22nd August 2007, 07:13
I am now wondering if the Decoder will support Hardware acceleration. But 100K H.264 decoder is pretty amazing

Kurtnoise
22nd August 2007, 08:40
Definitely not, Ogg/Theora serve a particular purpose; they have no royalties. Both H.264 and AAC have royalties, even if most people don't pay them.
In fact, nothing have been proved that Xiph tools are patents free. Anyway, I tend to agree with you on this point. I missed that.

Wikipedia, for example, one of the top 10 most popular websites in the world, uses Ogg and Theora exclusively, and as the web moves towards more rich media, they will stick with that simply for legal reasons.
Well, what about the nine others ? wikipedia is very special for the contents hosted and proposed on it. It's definitely not a commercial website.

GmorG McRoth
22nd August 2007, 10:01
They have a link to test out the flashplayer once you install it. Here's the link: http://labs.adobe.com/technologies/flashplayer9/fullscreendemo/


If anyone wants to check videos without flash player:

http://labs.adobe.com/technologies/flashplayer9/fullscreendemo/backcountry_bombshells_4min_HD_1500_96.flv&OBT_fname=backcountry_bombshells_4min_HD_1500_96.flv
http://labs.adobe.com/technologies/flashplayer9/fullscreendemo/backcountry_bombshells_4min_HD_H264.mp4&OBT_fname=backcountry_bombshells_4min_HD_H264.mp4

Is there a way to know what encoder was used to create h.264 file?

CruNcher
22nd August 2007, 11:29
the thing is ON2 just compares it with VP6 so in practicaly they still claim that VP7 is more advanced then ;)

Mc Onyx
22nd August 2007, 11:56
Tried the flash link and it looks great, finally some good looking streaming. But the h.264 stream does look better than vp6 and it takes about 25-40% of my cpu time C2D@3.15Ghz.

Kurtnoise
22nd August 2007, 12:20
Is there a way to know what encoder was used to create h.264 file?
Probably the Mainconcept's (http://www.mainconcept.com/site/news-9/current-news-129/adobe.html) one...

GmorG McRoth
22nd August 2007, 12:46
Probably the Mainconcept's (http://www.mainconcept.com/site/news-9/current-news-129/adobe.html) one...

Indeed, this is plausible.

clsid
22nd August 2007, 13:24
If anyone wants to check videos without flash player:

http://labs.adobe.com/technologies/flashplayer9/fullscreendemo/backcountry_bombshells_4min_HD_1500_96.flv
http://labs.adobe.com/technologies/flashplayer9/fullscreendemo/backcountry_bombshells_4min_HD_H264.mp4
This MP4 file plays great with Haali's splitter. I am glad Adobe didn't use a new proprietary container.

The FLV file on the other hand doesn't play properly with Gabest FLV splitter. The video track is not recognized :(

I hope someone can fix this before the new Flash version hits the mass public. Perhaps it only requires a small patch, since the file does seem to contain a normal FLV4 (VP6) video stream, at least that is what GSpot tells me.

smok3
22nd August 2007, 13:40
wow and wow.

and yes, just tested: things encoded using x.264 + nero aac inside mp4 are working!

short sample (had to rename the mp4 file to flv):
http://somestuff.org/flashAVC/flvplayer.php
(something weird happening on cuts thought, i guess thats why this is beta)

agilpwc
22nd August 2007, 16:10
This pretty much eliminates the need for QuickTime.

From reading the press release it looks like it will support more encode options, unlike QuickTime.

Shapierian
22nd August 2007, 20:47
I find the inclusion of the rarely used AAC Main profile odd.

...
- AAC: An AAC decoder supporting AAC Main, AAC LC and SBR (also known as HE-AAC). The corresponding ISO specification is ISO 14496-3.
...

Sergey A. Sablin
22nd August 2007, 20:50
Probably the Mainconcept's (http://www.mainconcept.com/site/news-9/current-news-129/adobe.html) one...

level 5.1 for 720p and 2 refs, no aspect ratio parameters, no hrd parameters and many smaller details makes me think something different...

bond
22nd August 2007, 22:43
vp6 didnt handle to beat xvid (mpeg-4 asp), so i heavily doubt it has any chance against a serious avc encoder at all

http://labs.adobe.com/technologies/flashplayer9/fullscreendemo/backcountry_bombshells_4min_HD_H264.mp4&OBT_fname=backcountry_bombshells_4min_HD_H264.mp4

Is there a way to know what encoder was used to create h.264 file?the mp4 mentions apple media video and audio handler, so i assume it has been encoded with apple's avc and aac encoders

Sergey A. Sablin
22nd August 2007, 22:54
vp6 didnt handle to beat xvid (mpeg-4 asp), so i heavily doubt it has any chance against a serious avc encoder at all

the mp4 mentions apple media video and audio handler, so i assume it has been encoded with apple's avc and aac encoders

Is it you bond? Something strange happens to you...
Have a try to open stream in hex editor. You should know key word.

Blue_MiSfit
23rd August 2007, 08:17
@Smok3

What x264 settings did you use?

Are there any indication as to which profile specific features are supported - ie 8x8 DCT, CABAC, B-Frames etc?

~MiSfit

slavickas
23rd August 2007, 13:06
to those lazy to check themself in hex editor/viewer
x264 - core 54 - H.264/MPEG-4 AVC codec - Copyleft 2005 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=1:4:0 analyse=0x1:0x111 me=hex subme=5 brdo=0 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 chroma_qp_offset=0 slices=4 nr=0 decimate=1 mbaff=0 bframes=2 b_pyramid=0 b_adapt=0 b_bias=0 direct=1 wpredb=0 bime=0 keyint=150 keyint_min=25 scenecut=40 rc=2pass bitrate=1600 ratetol=1.0 rceq='blurCplx^(1-qComp)' qcomp=0.60 qpmin=10 qpmax=51 qpstep=4 cplxblur=20.0 qblur=0.5 ip_ratio=1.40 pb_ratio=1.30

Placio74
23rd August 2007, 13:20
to those lazy to check themself in hex editor/viewer
Or Avinaptic.
[ About file ]

Name: opr0Q3FN.mp4
Date: 22/08/2007 08:33:04
Size: 50,965,091 bytes (48.604 MB)

[ Generic info ]

Play duration: 00:03:59 (239.28 s)
Container type: MP4/MOV
Major brand: ISO Base Media version 1
Creation time: 17/08/2007 00:44:39 UTC
Modification time: 17/08/2007 00:44:43 UTC
Number of streams: 2
Type of stream nr. 1: audio (mp4a) {pple Sound Media Handler}
Type of stream nr. 2: video (avc1) {pple Video Media Handler}
Audio streams: 1

[ About quality ]

Resolution: VERY HIGH (1280 x 720)
Width: multiple of 16 (GOOD)
Height: multiple of 16 (GOOD)
Average DRF quality: LOW (28.389053)
Standard deviation quality: HIGH (2.737534)
Std. dev. weighted mean: HIGH (2.558997)

[ Video track ]

Codec: avc1
Resolution: 1280 x 720 (*)
Frame aspect ratio: 16:9 = 1.777777
Pixel aspect ratio: 1:1 = 1
Display aspect ratio: 16:9 = 1.777777
Framerate: 23.976 fps
Number of frames: 5737
Bitrate: 1603.275462 kbps

[ Audio track ]

Codec: mp4a
Bitrate: 96.149661 kbps
Channels: 2
Sample rate: 44100 Hz

[ About H.264 encoding ]

User data: x264
User data: core 54
User data: H.264/MPEG-4 AVC codec
User data: Copyleft 2005
User data: http://www.videolan.org/x264.html
User data: cabac=0
User data: ref=1
User data: deblock=1:4:0
User data: analyse=0x1:0x111
User data: me=hex
User data: subme=5
User data: brdo=0
User data: mixed_ref=0
User data: me_range=16
User data: chroma_me=1
User data: trellis=0
User data: 8x8dct=0
User data: cqm=0
User data: deadzone=21,11
User data: chroma_qp_offset=0
User data: slices=4
User data: nr=0
User data: decimate=1
User data: mbaff=0
User data: bframes=2
User data: b_pyramid=0
User data: b_adapt=0
User data: b_bias=0
User data: direct=1
User data: wpredb=0
User data: bime=0
User data: keyint=150
User data: keyint_min=25
User data: scenecut=40
User data: rc=2pass
User data: bitrate=1600
User data: ratetol=1.0
User data: rceq='blurCplx^(1-qComp)'
User data: qcomp=0.60
User data: qpmin=10
User data: qpmax=51
User data: qpstep=4
User data: cplxblur=20.0
User data: qblur=0.5
User data: ip_ratio=1.40
User data: pb_ratio=1.30
SPS id: 0
Num ref frames: 2
PPS id: 0
Entropy coding type: CAVLC
Weighted prediction: No
Number of frames: 5737
Drop/delay frames: 0
Corrupted frames: 0

P-slices: 2053 ( 35.785 %) #########
B-slices: 3622 ( 63.134 %) ################
I-slices: 62 ( 1.081 %)
SP-slices: 0 ( 0.000 %)
SI-slices: 0 ( 0.000 %)

[ DRF analysis ]

Average DRF: 28.389053
Standard deviation: 2.737534
Max DRF: 35

DRF<20: 0 ( 0.000 %)
DRF=20: 7 ( 0.122 %)
DRF=21: 16 ( 0.279 %)
DRF=22: 19 ( 0.331 %)
DRF=23: 133 ( 2.318 %) #
DRF=24: 221 ( 3.852 %) #
DRF=25: 453 ( 7.896 %) ##
DRF=26: 738 ( 12.864 %) ###
DRF=27: 637 ( 11.103 %) ###
DRF=28: 885 ( 15.426 %) ####
DRF=29: 608 ( 10.598 %) ###
DRF=30: 555 ( 9.674 %) ##
DRF=31: 569 ( 9.918 %) ##
DRF=32: 546 ( 9.517 %) ##
DRF=33: 198 ( 3.451 %) #
DRF=34: 128 ( 2.231 %) #
DRF=35: 24 ( 0.418 %)
DRF>35: 0 ( 0.000 %)

P-slices average DRF: 27.172430
P-slices std. deviation: 2.635232
P-slices max DRF: 34

B-slices average DRF: 29.121479
B-slices std. deviation: 2.503479
B-slices max DRF: 35

I-slices average DRF: 25.887096
I-slices std. deviation: 3.278005
I-slices max DRF: 33

This report was created by AVInaptic (10-04-2007) on 22 ago 2007, h 08:57:01

smok3
23rd August 2007, 16:23
Blue_MiSfit: lowb and highb are quicktime compatible, the ipodlike is the easiest one:

namely, qt:
x264.exe --pass 1 --bitrate %bit% --stats "%inpfullnoext%.stats" --bframes 1 --subme 1 --analyse none --me dia --progress --no-psnr --filter %fil% --output NUL

and ipod:
x264.exe --pass 1 --bitrate %bit% --stats "%inpfullnoext%.stats" --level 1.3 --no-cabac --subme 6 --analyse p8x8,b8x8 --qpmin 16 --vbv-maxrate 768 --vbv-bufsize 244 --me umh --merange 12 --threads auto --thread-input --progress --no-psnr --no-ssim --output NUL

bond
23rd August 2007, 18:40
Is it you bond? Something strange happens to you...
Have a try to open stream in hex editor. You should know key word.man :eek:

shouldnt be that fast with my conclusions ;)
guess they remuxed the stream with quicktime?

Corben9
31st August 2007, 19:48
For the laziest of us a profile for MeGui vould be nice :devil:

Corben9
1st September 2007, 23:27
I made a demo in a skate edit i recently made under

http://www.studioc9.com/CevapiSession

under the HD version. Now it all works nicelly locally but form the server for some odd reason it does not ... Now as i understood it the file should start playing progressivey .. since i encoded the entier thing in 720p 4Mbit it is a rather high bitrate but nothing fast net shouldnt be able to handle... now the file is 20 min long so i was counting on the progressive downlaod and playback.... but it aint working.... I tried a few other test files and it waried form working to not working :mad:

id like some oppinions ... id really like to keep the h264 version in prestine quality ,:):):)

Hellworm
2nd September 2007, 11:26
If you use progressive download instead of FMS make sure that the moov atom (which is the index information in MPEG-4 files) is at the beginning of the file. Otherwise you have to wait until the file is completely downloaded before it is played back.

http://www.kaourantin.net/2007/08/what-just-happened-to-video-on-web_20.html

Corben9
2nd September 2007, 11:39
Jup I think thats the problem right now since i muxed the file in MeGUI .. i made another mux with MP4Box coz its supposed to put the moov at the start even by default ... Am I correct?

Schrade
2nd September 2007, 12:12
Yeah, in YAMB 2.0.0.7 it's checked by default I believe.

http://i12.tinypic.com/5y123c0.png

bond
2nd September 2007, 12:12
Jup I think thats the problem right now since i muxed the file in MeGUI .. i made another mux with MP4Box coz its supposed to put the moov at the start even by default ... Am I correct?megui is "just" the gui. important is what the tools used in the background do:
1) x264 is a video encoder writing the video stream info directly into the mp4. doing so the header will be written at the end of the mp4, as the header is only known at the end of encoding
2) for muxing the video with audio mp4box is used in megui. mp4box writes the header at the beginning of the file with the default settings

therefore your mp4 should already have the header at the start. you can check this by running the mp4dump tool from mpeg4ip over the file. if the moov atom (the headers) is placed before the mdat atom (the plain video data) your header is at the start

edit: are you trying to stream this file:
http://www.studioc9.com/CevapiSession/CevapiSession.mp4

if yes, this seems to be borked. how exactly did you produce this?

Corben9
2nd September 2007, 13:52
hej ! At the time u wrote the post i was just upoading the version I muxed via comandline on mp4box.

I produced it as follows>

Adobe Premiere for editing cuting ect exported as m2t hdv compliant transport stream so i can back up my master on tape.

then I unmuxed the m2ts with DGindex

Then using a avisnyth script and the Tdent and Spline36resize comand I had it frameserved to megui where i encoded at 25 fps High level x264 in mp4 at 4 Mbit bitrate .. no extra settings applied just standard high profile with 4 Mbit 3 pass encoding...

I also transcoded the audio in megeui with Winamp AAC ... then i muxed everything with the megeui mux tool and now again manually with MP4Box...

I also thought that it might be player related so i set manual buffer parameters but that didnt help eitehr...

I also tried to play it directly form the web with vlc it also transfers data but the screen stays black :confused::confused::confused:

can u please check the file and see if its ok im doing another upload coz the file might have gotten corrupted while upoading via FTP *gonna be up in like an hour*... it still doesnt work from the server but locally it plays fine over flash and VLC but it doesnt seem to work in Quicktime .. i still think that its a moov atom related issue but honestly I just dont know anymore...:confused::confused::confused::confused:

If its borked and i have to encode again what settings should i use to make sure its compliant ... ?

bond
2nd September 2007, 19:36
edit: are you trying to stream this file:
http://www.studioc9.com/CevapiSession/CevapiSession.mp4

if yes, this seems to be borked. how exactly did you produce this?are we talking about this file? this one is borked

try encoding the aac with faac or nero or quicktime and mux the resulting audio and your video to a new mp4 (so do not mux one of the streams to an already existing mp4)

Schrade
2nd September 2007, 20:40
Is there some way to detect if a file has its media information indexed at the beginning or not?

bond
2nd September 2007, 20:44
therefore your mp4 should already have the header at the start. you can check this by running the mp4dump tool from mpeg4ip over the file. if the moov atom (the headers) is placed before the mdat atom (the plain video data) your header is at the starthere it goes

Schrade
2nd September 2007, 20:52
Woops! Missed that. Thanks, bond. I was up really late last night when I first read your post where you said that. Thanks for pointing it out to me.

Is there some benefit for putting the moov atom after the mdat one? Why not just have all files with the moov first?

I tried it with QuickTime Atom Viewer and it works! Thanks for the tip on what to look for.

Here's standard Avidemux output, won't stream:
http://i18.tinypic.com/62nb6kp.png

And here's an MP4 that will stream:
http://i1.tinypic.com/4qoe5gm.png

Corben9
3rd September 2007, 01:03
are we talking about this file? this one is borked

try encoding the aac with faac or nero or quicktime and mux the resulting audio and your video to a new mp4 (so do not mux one of the streams to an already existing mp4)

Sorry to bug again and for been such a noob ... i have a version up now that should have the moov atom at the start and it works localy and over my home network if is stream it to anther comp... but it wont work form the server .. can u please check it .. its at the same place as before

http://www.studioc9.com/CevapiSession/CevapiSession.mp4

And another question regarding reencoding... when I encode the video to x264 what to you mean exactly with dont mux the aac to an already existing mp4?

Here is a screenshot from the begining of the file:
http://www.studioc9.com/CevapiSession/File.jpg

It looks rather different form the one Shrade posted that does stream... question remains how to edit the header to make it work ?

Schrade
3rd September 2007, 01:38
You need to remux it into an MP4 again using YAMB 2.0.0.7. Make sure the option I showed in my post with the YAMB picture is checked.

I just checked and your moov atom is below the mdat one, it needs to be before it.

Corben9
3rd September 2007, 14:54
I remuxed it again with all the options and checked, and the moov atom is still at the complete end of the file ... i really don't know why ... anyone know a way to manually move it or select the order they should be applied with .???

I find it odd since the options are turned on and it doesn't move it to the begining .. id really like a way to control these tags :confused:

Hellworm
3rd September 2007, 16:17
On this (http://www.kaourantin.net/2007/08/what-just-happened-to-video-on-web_20.html) page that was posted several times in this thread is a link to a program (http://svn.mplayerhq.hu/ffmpeg/trunk/tools/qt-faststart.c?view=markup) that does only move the atom to the beginning.

Corben9
3rd September 2007, 19:41
I did apply QT index swapper at the file begining and the moov atom is also there ... i checked.. yet for some odd reason it doesnt start playback, it does play ok in vlc... could it be something regarding timeouts in flash itself ????

any idea if there is a way to buffer the playback to get it working .. its supposed to work as a progressive downlaod now yet it doesnt start playing at all .. i have a 8 Mbit conection and the file is 4 Mbit a sec yet it downlaods at max but doestn play progressivelly ...

im really runnin out of ideas..

bond
3rd September 2007, 20:13
you seem to use rather big files, so it might be that mp4box switches to 64bit times and atoms. it might be that the flash player has problem with those

try some small bitrate/resolution stream created exactly the same way as your normal samples (same settings, same tools...) and report if they cause problems in flash

Corben9
3rd September 2007, 20:26
It might be the reather big bitrate... I just started another encode form the orignal at a bitrate avorage og 1750 at the same res the adobe demo was 960x540 ...

Since my current file works locally it might be that the player times out before it reads the entiere atom data on large files ... that vould explain why it works over my wifi and not over net .. but i do have a 10 Mbit pipe and my server also has 100Mbit but still ...

ill let u know .. this encoding is gonna eat up another day :mad::mad::mad:..

===========

I also discoverd something strange right now .. seems that my server for some reason doesnt give out the filesize of the files .. if anyone knows, could that be the reason why it even if the moov atom is at the begining the file doesnt stream ?.. the FLV version does stream progressivly eventouh if u try to save it the filesize is unknown...

Schrade
4th September 2007, 04:47
On this (http://www.kaourantin.net/2007/08/what-just-happened-to-video-on-web_20.html) page that was posted several times in this thread is a link to a program (http://svn.mplayerhq.hu/ffmpeg/trunk/tools/qt-faststart.c?view=markup) that does only move the atom to the beginning.

I just compiled this and tested it. It doesn't work on MP4s with the PSP atoms as output via the PSP container in Avidemux. I tested with a regular MP4 and it worked.

Corben9
5th September 2007, 12:27
I just upoaded the smaler HD version i encoded at 960x540 moov atom at the beginign YET IT DOESNT STREAM ... im runnin out of ideas really... Can someone check the file to see what im doing wrong :mad::mad::mad:

bond
7th September 2007, 19:30
did you add hint tracks?

Corben9
8th September 2007, 21:34
No. What are hint tracks... are they like markers and if they are important for the streaming how do i add them correctly ?

Update1>

I hinted my file with mp4box -hint file.mp4 and uploaded it again .. yet still id doesnt work :(

giandrea
9th September 2007, 13:35
No. What are hint tracks... are they like markers and if they are important for the streaming how do i add them correctly ?

Update1>

I hinted my file with mp4box -hint file.mp4 and uploaded it again .. yet still id doesnt work :(

Perhaps your file is too long. Try to split it to like 15 minutes with MP4box and see if it "streams" (well, progressive downloads).
Use:
MP4Box -split-chunk 0:900 your_file.mp4

iwod
9th September 2007, 15:17
Any news on Hardware Acceleration Support?

Pacoup
20th December 2007, 06:46
Ok. Not very impressive AVC content. Quite deceiving in fact.
And almost identic VP6 content.
They should just go and implement VP7 instead if they can't implement h.264 correctly.

btw. Quicktime is so bad at implementing h.264 that the same bitrate turns out as much as 2 times worse then Theora video, via Quicktime encode.

In my personal tests for codecs VP7 and h.264 are largely the best video codecs, really close to one another and difficult to decide which is the best (VP7 from On2's free edition and x264 through mEncoder)
although, VP7 is way faster to encode

btw, sorry for the newb, baseless post with all sorts of comments lol



Oh and, I got full VC-1 and AVC hardware acceleration on my ATI Radeon HD 2600 XT.
Here's the tests:
http://www.hardware.fr/articles/690-4/dossier-quelle-carte-graphique-video-hd.html
http://www.hardware.fr/articles/693-4/dossier-amd-radeon-hd-3800.html

nm
20th December 2007, 12:12
Ok. Not very impressive AVC content. Quite deceiving in fact.
And almost identic VP6 content.
They should just go and implement VP7 instead if they can't implement h.264 correctly.
What content? Adobe has included a H.264 decoder into their product, not an encoder. You can use any H.264 encoder you wish, with few limitations. Quality can be impressive if you make it so.

btw. Quicktime is so bad at implementing h.264 that the same bitrate turns out as much as 2 times worse then Theora video, via Quicktime encode.
What does that have to do with this thread? Use quotes if you want to respond to specific posts or parts of them.

In my personal tests for codecs VP7 and h.264 are largely the best video codecs, really close to one another and difficult to decide which is the best (VP7 from On2's free edition and x264 through mEncoder)
although, VP7 is way faster to encode
You don't need to use the heaviest settings with x264 to get good quality.

Oh and, I got full VC-1 and AVC hardware acceleration on my ATI Radeon HD 2600 XT.
Here's the tests:
http://www.hardware.fr/articles/690-4/dossier-quelle-carte-graphique-video-hd.html
http://www.hardware.fr/articles/693-4/dossier-amd-radeon-hd-3800.html
If you're responding to iwod, he was asking about hw acceleration support in Flash Player, which hasn't been implemented yet AFAIK.

chilledoutuk
4th February 2008, 04:14
Ok this is an old thread but with the push out for flash player 9 its important for progressive playback.

Yamb 2.0.0.8 with MP4Box-0.4.5-dev was driving me mental not putting the moov atom at the beginning with the option checked.

I then had a brainwave after reading that mp4box normally puts the moov atom at the begining anyways.

I thought what if yamb is instead of telling mp4box to put the header at the begining, with the new version of mp4box doing the opersite and switching the moov atom back to the end of the file.

so i unchecked the option and booyacka hexcellent was showing the moov atom at the beginning.

Put the video up on my webspace and now progressive playback works like a treat.

I am relieved i have not just wasted the last 3 hours messing about with this for no reason waiting for my slow ass webspace to upload the files is so time consuming.

ricardo.santos
8th February 2008, 12:32
hi everyone

i've been doing some tests on how to stream h264, i converted a 3 and half minute video using AutoMKV and selecting highprofile, bitrate 345 resolution 640x368

ive hosted the video at blip.tv that doesnt recovert videos and while playing it at blip.tv i noticed the video stutters and it uses the quicktime player interfaxce to play it
http://blip.tv/file/655010/


using the blip.tv video permalink i used jeroenwijering.com flash player to play the video from blip.tv, it plays normally but when in fullscreen it "slows down like lowering fps)
http://ricardo.110mb.com/

why the differences if it is the same video? i have quick time lite installed

CruNcher
8th February 2008, 13:14
woho the blip.tv one is crashing the internet explorer at least :P here after some seconds of playback with the Quicktime Plugin (latest full quicktime), but also the colors look dull compared to the flash player representation here on Windows :)
The flash player one doesn't slow down here in fullscreen it looks nice, much better color representation it seems, hmm also the cpu utilization is near 0 1% (it looks like it finaly uses hardware accelleration, not sure tough because this stream is really low complex for my Dualcore 2.8 GHz) is the highest i can see here, but going out of fullscreen seems problematic i can't see any controlls anymore and the video seems to stay @ the same fullscreen res in the small start window now :)
Ah and alot of tearing is going on in Fullscreen (pans) :( the Adobe guys should try to get a better interface to VMR9 (maybe using the Exclusive Render mode on Windows XP) then this tearing and Hardware accelleration should be no problem.

http://coreplayerx.coreforge.org/ <- looks much much smoother in fullscreen with your sample but also has color representation problems like quicktime (but thats because it's old and doesn't has the colormetry detection like CoreAVCs newest Decoder) :(

Flash Plugin is 9.0.115

smok3
8th February 2008, 14:12
blip.tv is crashing firefox as well (i blame quicktime), flash version doesn't play nicely here as well (oversmoothed, jumpering - dualcore opteron)
but going out of fullscreen seems problematic i can't see any controlls anymore and the video seems to stay @ the same fullscreen res in the small start window now
same on firefox.

CruNcher
8th February 2008, 14:26
Yeah the quicktime crash is most probably a Profile Problem, as allways with Quicktime :D

@smok3
i tried your test stuff and i can confirm http://somestuff.org/flashAVC/flvplayer.php?moviename=movies/WallE_Trlr2_720_x1280y532.mov <- seems to get hardware accellerated 0% cpu usage if you - the audio cpu overhead of like 1-6% :) but Apples trailers are also very low complex so im not sure if it's really hardware accelleration ;)

Interesting Haalis Splitter seems to have problems with this trailer it can't open it, Hardware accellerating it shows mirroring problems @ the bottom most probably the non mod16 is problematic here, hmmm did you encode this or is it from Apples Trailer page?

Ok false alert Adobes Player is still not able to Hardware Decode, this stream shows like 0.70% because of the Audio but only every now and then when Hardware Decoded ;)

ricardo.santos
8th February 2008, 15:36
it crashed on me aswell, disnt say anything as i thought it was because of being the Quicktime alternative lite.

ive replaced the flash player swf with the most recent version, but still getting no controls after exiting fullscreen.

have to reporrt this to the author

CruNcher
8th February 2008, 15:46
yeah with smok3s used version it works http://somestuff.org/flashAVC/flvplayer.php?moviename=movies/the_signal-tlr_h640w.mov <- no problems going fullscreen and exiting it :)
ehh now it works with yours also :D also the tearing is gone but still not smooth in pans

SeeMoreDigital
8th February 2008, 15:48
why the differences if it is the same video? i have quick time lite installedIt's because your test sample has been encoded with more than 1B-VOP (ie: 3B-VOP's) and contains AAC-HE/PS audio :eek:

smok3
8th February 2008, 17:31
CruNcher: yes, this were 'native' apple trailers (no reencoding).

ricardo.santos
8th February 2008, 19:08
Hi SeeMoreDigital

All i found googling was that we can use the main,high and base profiles, nothing about audio

where can i find that info?

just uploaded one at my blog using the x264 main profile using AutoMkv
http://ricardouk.blogspot.com/2008/02/cinema-son-fo-rambow-o-filho-de-rambow.html

reencoded it and addeb subtitles

CruNcher
8th February 2008, 19:50
something is wrong with the audio delay

MySchizoBuddy
8th February 2008, 23:19
has any one figured out which x264 parameters will flash play. they did license it from Mainconcept
plus can you do streaming with 2pass encoding?

ricardo.santos
9th February 2008, 00:20
It's because your test sample has been encoded with more than 1B-VOP (ie: 3B-VOP's) and contains AAC-HE/PS audio :eek:

What should i use?

something is wrong with the audio delay

yes, dont know why, better update AutoMKV :)


has any one figured out which x264 parameters will flash play. they did license it from Mainconcept
plus can you do streaming with 2pass encoding?

all i found was that we can use the main,high,baseline profiles, im doing 2 pass conversions and it works

smok3
9th February 2008, 19:33
has any one figured out which x264 parameters will flash play. they did license it from Mainconcept
plus can you do streaming with 2pass encoding?

it will pretty much play anything that x264 can produce.
ricardo.santos: pretty much any AAC will do (including HE-AAC).

CruNcher
9th February 2008, 21:10
http://videolair.blip.tv/file/657873/

No SAR support and no AR .mp4 support geez :(

ehhh look what their flash encoder made of this beauty ;)

A little (side by side) comparision ;)
http://cruncher.mufflastig.com/x264/webtest/h264-progressive-test.htm

gonna add some more stay tune ;)


Please also try this bitstream on any Device that should be possible to playback this Main Level Encode (PSP,Ipod,Archos,Iphone,PS3,Xbox,Xbox360,Zune,PocketPC,Symbian Phones and many others)
and report any problems you might encounter :) also try to make it HD-DVD and Blu-Ray compatible (if you know how) and try to play it on Standalone Players (Different Main chips, Broadcom,Sigma,Nvidia,Ati,Micronas,Equator and many others).

smok3
10th February 2008, 16:53
how to install core thingy for firefox? (only activeX i guess?)

Schrade
10th February 2008, 20:03
how to install core thingy for firefox? (only activeX i guess?)

Download this: http://coreplayerx.coreforge.org/cpx.cab

Then extract it using WinRAR. Inside you'll find the installer that installs the ActiveX and Netscape plugin versions. Or just use Internet Exploder to install it and it should do the same thing.

I can't get the CorePlayerX plugin to work in my Firefox though. I mean.. its controls show up but there's no video at all.

SeeMoreDigital
10th February 2008, 20:39
http://videolair.blip.tv/file/657873/

No SAR support and no AR .mp4 support geez :( Anamorphic playback seems to work akay so long as you add aspect signalling at the container level and adjust the following output dimensions to suit: -
<html>
<head></head>
<br>
<br>
</br>
<center>
<body>
<div id="container">
<a href="http://www.macromedia.com/go/getflashplayer">Get the Flash Player</a> to see this player.</div>
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
var s1 = new SWFObject("mediaplayer.swf","mediaplayer","1024","576","7");
s1.addParam("allowfullscreen","true");
s1.addVariable("width","1024");
s1.addVariable("height","576");
s1.addVariable("file","my 720x576 video.mp4");
s1.addVariable("image","my video.jpg");
s1.write("container");
</script>
</center>
</body>
</html>

Cheers

CruNcher
10th February 2008, 21:24
i chose the aspect ratio for it in yamb but it seems to have no effect hmm also possible that yamb didn't wrote anything @ all with mp4box, how buggy it is ;)
i gonna retry it manualy, better thrust no one in this case no application except the pure commandline, and your own doings, hmm are you sure the variables for the player have to be adjusted? somehow that's odd especialy for fullscreen it should do this automatic like the other players.

SeeMoreDigital
11th February 2008, 10:00
i chose the aspect ratio for it in yamb but it seems to have no effect hmm also possible that yamb didn't wrote anything @ all with mp4box, how buggy it is ;) YAMB/MP4Box sets the aspect ratio signalling at the stream level.

By contrast, QuickTime Player sets aspect ratio signalling at the container level, which seems to be where Flash Player is looking for it too.

That said, after further testing it's not 100% reliable yet...


Cheers

CruNcher
11th February 2008, 11:30
hmm how about mp4creator gonna test that maybe it can set AR in the .mp4 container, i tried to set it via Apples quicktime player but somehow i have major problems doing stuff with it and my streams in general, for example trying to extract a stream (or convert it to .mov) ends in a incomplete stream it brakes up somewhere and the file gets corupted :(

smok3
11th February 2008, 14:23
I can't get the CorePlayerX plugin to work in my Firefox though. I mean.. its controls show up but there's no video at all.
blame CruNcher :), there is missing code for the firefox part;
} else {
// NSAPI Version
document.writeln('<embed id="tcpmpCtl" type="application/tcpmp-plugin" url="" autoplay="false" />');
}

tnx for the *.cab link!

CruNcher
11th February 2008, 14:43
oops ;)

fixed

Im gonna improve the encode also with subjective quality enhancements (this was just a fast shoot with Darks New AQ) (i don't like the result how it is now the Look & Feel is to Digital Cinema like) especialy in the percived sharpness (HVS) (it should mimic DivX/XviD Mpeg-4 Part2 ASP Look & Feel here but it does thousand times better in the perception of the high motion areas @ the moment ;) ) compared to the input (after that im gonna look @ device and maybe qicktime compatibility)
Also it might be interesting for you guys this was done Realtime on a 2.8 Ghz Dualcore Machine (AMD 64 Toledo) ;)

Nil Einne
11th February 2008, 15:25
In fact, nothing have been proved that Xiph tools are patents free. Anyway, I tend to agree with you on this point. I missed that.


Well, what about the nine others ? wikipedia is very special for the contents hosted and proposed on it. It's definitely not a commercial website.

Well it's impossible to prove that anything is patent free. In the Xiph case we know that the developers have tried to avoid any potential patent threat and we also know that so far no one has been sued even though it's been used in some cases where it may be worth suing.

Of course it's not perfect or guaranteed and this is supposedly why Nokia, Apple and others prefer AVC where there clearly are patents (including their own) which they are paying royalties for and they have already assessed the additional patent risk and there is such extensive history that it seems unlikely anyone is sitting on a patent unless they don't know about it.

Besides wikipedia, some games (which already use Vorbis fairly extensively) are starting to use Theora for their cutscenes http://wiki.xiph.org/index.php/Games_that_use_Vorbis . As the 'free' culture/media movement grows I expect Vorbis in particular and Theora to a lesser extent usage to grow on the web. Vorbis and the other Ogg audio codecs (AFAIK Speex is extensively use in multiplayer gaming voice chat programs) are already fairly well placed to continue to grow because they compete resonably well quality/size wise to AAC. Theora which AFAIK doesn't even compete with MPEG4 ASP/XviD is likely to continue to have difficulty attracting support because the only thing they have going for them is the lack of royalties. So even if you have support for the FLO concept you have to give up a lot for it. And given the problems Theora faces in avoiding patents and the fact theiir bitstream has been set for so long, I'm not convinced they're going to be able to come close to AVC, maybe not even ASP. IMHO Dirac is the far better bet. Wavelet may not necessarily be better then block-based coding but it probably has far less patents which I believe is one of the reasons the BBC decided to push into this area. Which highlights another thing, governments and government departments are strongly supportive of the FLO ideals in general. They simply aren't willing to suffer too many disadvantages for them as with most other people. If Dirac or whatever is able to compete with AVC or whatever is next then I suspect it will be well placed to compete.

CruNcher
11th February 2008, 15:38
Yep Nil Einne, but one point from my Visual Experience with ON2s VP3.1 back then it wasn't that far away from the Visual Percepted Quality of Mpeg-4 ASP, and with the improvements done in Theora im quiet sure it is damn near @ it now (didn't tried it yet myself).
But it's also clear that it's not as efficient as you allready said as AVC or Dirac are, but it's a nice in the back of them and it really doesn't need to hide itself (and that goes especialy for High Bitrate usage Scenarios). The only thing is wide range use and Device support only DivX Networks back then was able to make this happen @ that time a non Hollywood accepted Codec and now even have got Hollywood behind them after all these years (just by being very agressive and get the users behind them) and so the potential user and device numbers up that are so important for companies like Sony. Tough im not sure if this could work again also maybe with theora in these times there is more competition then it was back then and DivX cleverly used that, to become what it is today (especialy the Asia support was the most important in that strategy). And as i said long long time ago they gonna introduce @ the side of that a Next Generation Consumer DivX based on Mainconcepts H.264 soon for sure.

SeeMoreDigital
11th February 2008, 16:30
i tried to set it via Apples quicktime player but somehow i have major problems doing stuff with it and my streams in general, for example trying to extract a stream (or convert it to .mov) ends in a incomplete stream it brakes up somewhere and the file gets corupted :(Unfortunately QT7Pro pops-a-fart when presented with MP4box muxed sources containing one (or more) B-VOPs - I've been meaning to inform Falco about it but keep forgetting.

Happily, FFmpeg is able to create MP4 muxes that are QT7Pro friendly. And although I have not tried it myself, 3ivx v5.0.2 incorporates tools that can generate QT7Pro friendly .MP4 and .MOV muxes.


Cheers

CruNcher
11th February 2008, 16:44
FFMPEGs libavformat muxer??? wasn't that marked as highly unstable with B-frames i had alot of nice problems with it several months ago useing Avidemux :D
jeez i see still alot of Interoperability problems with .Mp4 and OSS, that's why i love Matroska so much never had any real Interoperability problems there (and succeded to create my first interactive menus with it,tough only working in VLC so far but better then to be dependent on the OSMO Player and MP4 Menus), anyway i first gonna improve the Visual Quality then im gonna look in creating a hopefully (is dreaming) full interoperable .MP4 mux for every parser ;)

SeeMoreDigital
11th February 2008, 17:19
FFMPEGs libavformat muxer??? wasn't that marked as highly unstable with B-frames i had alot of nice problems with it several months ago useing Avidemux :DBy all accounts it's working better now. Did you see this thread: -

http://forum.doom9.org/showthread.php?t=130765


Jeez i see still alot of Interoperability problems with .Mp4 and OSS, that's why i love Matroska so much never had any real Interoperability problems there Non NeroDigital .MP4 muxers such YAMB/MP4box (and even mp4UI) are able to generate viable .MP4 muxes for use with software and more importantly (for me) hardware devices... But agreed it's not perfect yet, but neither are the software and hardware players :eek:

With regard to .MKV sources, although support is very good in software players, it's very young in hardware players!


Cheers

CruNcher
11th February 2008, 17:45
By all accounts it's working better now. Did you see this thread: -

http://forum.doom9.org/showthread.php?t=130765


Non NeroDigital .MP4 muxers such YAMB/MP4box (and even mp4UI) are able to generate viable .MP4 muxes for use with software and more importantly (for me) hardware devices... But agreed it's not perfect yet, but neither are the software and hardware players :eek:

With regard to .MKV sources, although support is very good in software players, it's very young in hardware players!


Cheers
Thx yeah i didn't keep up with it the last months gonna give it another try now, with this :)
Wow so Ateme is also on the front here, how about Mainconcept/Elecards Muxer?
I doub't that Apple forget to include AR signaling in the container creating the .MP4 specs should be basicly the same as with .MOV (tough themselves seem to never use Anamorph encoding, Website)

smok3
11th February 2008, 21:32
with qt ar signaling does work when used in standalone player, but not when you try to embed to web page (at least that was the case with my last tests)

SeeMoreDigital
11th February 2008, 21:44
with qt ar signaling does work when used in standalone player, but not when you try to embed to web page (at least that was the case with my last tests)In my experience it's the reverse....

QT7's "container level" aspect ratio signalling does not work in hardware playback devices (can't speak for iPod's though). By contrast, "stream level" signalling works okay with .MP4 sources.

QT7's "container level" aspect ratio signalling works perfectly with QT7 embedded web pages. By contrast, "stream level" signalling does not work.


Cheers

smok3
11th February 2008, 21:47
SeeMoreDigital: right, with 'standalone player' i meant 'standalone quicktime software player' actually, sorry for badly selected words...

so to collect the info:
container level signaling is cool? (should work with flash and with qt)

SeeMoreDigital
11th February 2008, 22:33
so to collect the info:
container level signaling is cool? (should work with flash and with qt)From my tests, container level signalling (CLS) certainly works okay with QT7 Player. Flash Player works well with 720x576 sources with CLS, but not so well with 720x432 sources with CLS

ricardo.santos
14th February 2008, 18:53
Hi everyone!

Can someone please tell me the settings/program you use to create x264/mp4 streaming files?

I tried from AutoMKV, MEGui and STAXRIP and no matter what i do, when i see the clips in full screen it stutters.

Any help would be deeply apreciated....

Thanks

Dark Shikari
14th February 2008, 19:06
Hi everyone!

Can someone please tell me the settings/program you use to create x264/mp4 streaming files?

I tried from AutoMKV, MEGui and STAXRIP and no matter what i do, when i see the clips in full screen it stutters.

Any help would be deeply apreciated....

ThanksIt sounds like your computer is too slow to play the files. Have you tried CoreAVC?

SeeMoreDigital
14th February 2008, 19:23
Hi Ricardo,

I'm seeing the stuttering at full screen too. Even with low bit-rate (720-to-1024x432) encodes generated using QT7Pro!

I'm currently using the following player code: -<html>
<head></head>
<br>
<br>
</br>
<center>
<body>
<div id="container">
<a href="http://www.macromedia.com/go/getflashplayer">Get the Flash Player to see this player.</div>

<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">

var s1 = new SWFObject("mediaplayer.swf","mediaplayer","1024","432","7");
s1.addParam("allowfullscreen","true");
s1.addVariable("width","1024");
s1.addVariable("displayheight","432");
s1.addVariable("file","QT7 @ 200Kbps with CLS.mov");
s1.write("container");
</script>



</center>
</body>
</html>

And here's a link to the "video only" QT7Pro encodes I've been using. Which plays fine at full screen even in QT7: -

http://www.mediafire.com/?beibzmmhfwj


Cheers

Adub
14th February 2008, 20:28
Anyone know when Youtube plans to implement the new codec? I am sick and tired of their old one, so I am eagerly awaiting any news as to when they will switch.

ricardo.santos
14th February 2008, 21:28
It sounds like your computer is too slow to play the files. Have you tried CoreAVC?

i have a P4 2.66 1gbRAM and an ATI 9550, just formated it yesterday, only got ffdshow decoding ac3, only ac3, xvid, and smplayer to play all multimedia files.


Have you tried CoreAVC?

my goal is to show h264 videos on my blog using latest flash player that plays h264, not using anyother software

Hi Ricardo,

I'm seeing the stuttering at full screen too. Even with low bit-rate (720-to-1024x432) encodes generated using QT7Pro!

I'm currently using the following player code:

i think i cant "call" javascript in the body, only between head sections on blogger, im using the embed code.

i dont want people to download quicktime or coreavc, doesnt the latest flash player play h264?

what are the settings that people are using when converting video for streaming h264 through flash player?

SMD your clip plays fine here with SMPlayer... no problems, they all play fine on the pc the problem starts when streaming them

elguaxo
18th February 2008, 22:49
Has anyone an example with flash displaying TTXT subs? Audio and Video works fine here, but I can't see the subs. I am using MeGUI for muxing the MP4 files. Thanks!

sillKotscha
19th February 2008, 00:47
Has anyone an example with flash displaying TTXT subs?

(Closed) Captions and (Closed) Audio description (http://www.accessibility.nl/internet/artikelen/audiovideo)

scroll down a bit until u see the flash player...

elguaxo
19th February 2008, 00:52
Thanks, but I see they are being loaded from an external .SRT file. Is there a way to display subs already muxed in a .MP4 file?

sillKotscha
19th February 2008, 01:01
subtitles are separate infos thus a separate file (srt) is needed. The player needs to know if there is such an external info available... or you could hardcode your subs but than they aren't de-selectable.

elguaxo
19th February 2008, 01:15
I see. Thanks!

CruNcher
28th February 2008, 07:55
http://cruncher.mufflastig.com/x264/webtest/h264-progressive-test.htm <- updated with my new Grain/Noise Preservation Stream, tough the stream is correctly scaled on the PSP now it still doesn't playback Anamorph with the Flash Player also the Quicktime Player doesn't play it Anamorph yet even with "pasp" :(

The stream should work in any Device that supports Main Profile Level 3 also the stream should be HD-DVD (after Pulldown) and Blu-Ray Master Compatible :)

bond
2nd March 2008, 15:26
I doub't that Apple forget to include AR signaling in the container creating the .MP4 specs should be basicly the same as with .MOV (tough themselves seem to never use Anamorph encoding, Website)there is indeed the possibility to resize on the container level in mp4 via setting the width and height in the track header atom (tkhd). mp4box doesnt support this, but only the resizing on the bitstream level
see the specs chapter 8.5

subtitles are separate infos thus a separate file (srt) is needed. The player needs to know if there is such an external info available... or you could hardcode your subs but than they aren't de-selectable.its possible to create ttxt subtitle streams inside mp4 with mp4box (eg from a srt source)
doesnt flash player support those internal streams as announced?

kensystem
7th March 2008, 07:33
I hope Adobe improves this. The player (Netstream layers) just need to start supporting http 1.1’s range-requests, this will allow random seeking within even very large files (without having to download), and, lends itself to asking the web server for the tail of the file (the moov atoms) when they aren’t detected in the head. For reference, VLC player already supports/does this over http, and pre-fetches the tail moov atoms when they dont exist at the head of a mp4..