Archive for the ‘Flash’

F4V File Format
You might have read my post about my FLV meta data and cue point reader/writer. You might also know that the F4V format (which really is simple MP4+H264+AAC) succeeded to the FLV format, and is supported by Flash 9.0.115 and up.

The MP4Info class is a simple extensible PHP class reading the MP4 container’s frames (called boxes) to get various information, namely the video duration, the video/audio codecs, the width and the height, as well as the embedded XMP meta data.

The F4V format is better than the FLV format in many aspects:

  • Better compression ratio
  • Better quality at similar bit rates
  • Open source compressors available, through ffmpeg and libh264 (Flash 8 On2 VP6 codec is proprietary)
  • Decoding H.264 is a lot less CPU intensive on the host computer than decoding On2 VP6
With Flash 9 being at a rate of penetration of 98.9% in mature markets1 and will all the advantages, MP4 Flash video is becoming more and more common.
More …
category Flash, PHP tlacroix Thursday 11 June 2009 Comments (3)

Update (Dec 20, 2008): The AMF0Parser library has been updated to better handle broken AMF0 packets. The FLVInfo2 library PHPDoc has been updated.

Update (Aug 15, 2008): The AMF0Parser library has been updated to support the Date type in the metas, added among others by the “inlet media FLVTool2″ tool.

Update (Jun 11, 2009): The project has been moved to Google Code. MP4Info, an F4V file (or more genericaly MP4 file) class is also available: check out blog post and project at Google Code.

If you’ve done Flash banners or micro-sites that embed video with cue points for synchronization before, you know that it’s a pain in the arse. There doesn’t seem to be any tool around to modify the damn points once the file is encoded, so you’ve got to re-encode the file over and over to have your things synced correctly.

If you’ve tried to reverse engineer the FLV format before, you know that it’s a pain in the arse as well. The AMF0 format is anything but intuitive, and the documentation has been lacking for a long long time — although there’s apparently an SDK now. Luckily, there was OSFlash, and SabreAMF and AMFPHP that could be used as a documentation source.

If you recognize yourself, this might be your lucky day. After many hours of trial and error, I’ve finally been able to reverse engineer it, and to build a library that extract essential FLV information, reads the Meta, and allows you to write them back — including the cue points.

More …

category Flash, PHP tlacroix Friday 4 July 2008 Comments (10)

TurtleRecently, I faced the awkward Adobe Flash slowness on Mac and old PCs during the development of the web site of a client of mine.

After doing a little research and testing, I found out that some Mac are especially bad at alpha and scaling, among other things.

This post aims to centralize as much information as possible on the subject, because very little is available on the web and it’s unfortunately disparate. I’ll try to nail the facts and outline solutions.

Please add a comment or email me if you feel I’ve forgotten something or if you made a breakthrough discovery.

More …

category Flash, Web development tlacroix Thursday 28 February 2008 Comment (1)