3D engines for Flash

Flash 10 (Adobe Flash CS4 Professional) was released on october 14, 2008, has a native support of 3D and uses pixel blender for lighting. Adobe Pixel Bender technology delivers a common image and video processing infrastructure which provides automatic runtime optimization on heterogeneous hardware. You can use the Pixel Bender kernel language to implement image processing algorithms in a hardware-independent manner. The Pixel Bender graph language is an XML-based language for combining individual pixel-processing operations (kernels) into more complex Pixel Bender filters.

The following 3D engines for Flash are based on the native Flash 3d API :

CopperCube

CopperCube is a 3D engine / editor with deployment targets for Flash (.swf) and Windows (.exe). You can create simple interactive 3D scenes without the need to write one single line of code  or even create whole games with the help of a little bit of scripting magic. CopperCube supports realtime 3D character animation, also known as skeletal animation. It supports playing back animated meshes with an unlimited amount of joints and an unlimted amount of weights. Milkshape (.ms3d) is a recommended 3D software to import meshes and animations in CopperCube. Version 1.1.3 of CopperCube was released on january 14, 2010.

CopperCube is a product of the austrian company Ambiera e.U., located in Vienna and owned by Nikolaus Gebhardt. The price for a Light Edition license is 99 €, the Per-seat license for the professionbal version costs 295 €. A 30 days trial version is available for free.

Away3D

Away3D is a realtime 3D engine for flash in actionscript 3, originally derived from Papervision3D. Away3D engine is designed to be fast and extensible. Away3d is an open source production, and relies on the talent and support of industry professionals to keep itself moving. Version 3.4 for Flash 10 was released on august 7th, 2009. The founders of Away3D are Rob Bateman (lead developer) and Alexander Zadorozhny (core developer). The Away3D Team includes about 12 other developers.

An Away3D Lite version is also available. Currently weighing in at under 25K, Away3D Lite can be used in projects with the most stringent bandwidth restrictions. No problem for use in banners, widgets, thumbnails… anything where filesize is a priority. But the biggest single feature offered by the new engine is it’s speed. Current tests clock framerates up to 4 times faster than the standard Away3D library. And with more frames-per-second comes the potential for more polygons, more accessible content on slower machines, and more processing power left for other areas of a Flash application.

Some outstanding examples of Away3D projects are “Café World” on Facebook used by 23 Million people a month, Multipass latern, Shaded Head, Spitfire , Dragonfly and Normalmaps.

PapervisionX

PapervisionX is the next version of Papervision3D built from the ground up based on Flash10’s new 3D api. Ralph Hauwert and Tim were leading the initial efforts on the core of the engine. Papervision3D (pv3D) is an open source 3D engine for the Flash platform. It is written and maintained by a small core team, and contributed to by its ever-growing community. Papervision3D is distributed under the MIT license and is hosted by Google Code.

3D Pixel Engine

Freelancer Kris Temmerman, owner of the Neuro Productions company, is the creator of the 3d Pixel Engine. Instead of rendering each cube every frame in an isometric perspective, he renders only one cube and use that cube as a particle to render a full scene. This way he easily extends the limit of +-1000 cubes to 20.000 or more cubes in a Flash scene.

Kris Temmerman was motivated by the cool 3D pixel editor Q-BLOCK created by Okuyama Kazuya. He developed not only the 3D engine, but he made also a Collada parser witch converts a standard 3D mesh to a 3D pixel object to import external generated 3D objects. Some of Kris Temmermans experiments are really outstanding : 3D Fur Renderer, Collada Parser, Z-Brush Modelling, Simple Flash Ecosystem, Pushing data to Flash using binary sockets (Java / Flash), Dynamic Flash generated favicon, Custom brushes, Panoramic fun, Alice in Wonderland, Nurbs.

Kris Temmerman is a member of the Away3D Development Team and mainly responsible for the Flash 10 upgrade.

Alternativa3D

Alternativa3D is a browser 3D-engine based on Adobe Flash and allows to show three-dimentional worlds, games, virtual tours or objects in a browser. Alternativa3D is provided as SWC-library, which is availiable for all registered AlternativaPlatform users.

Alternativa3D is free for non-commercial purpose with condition to provide a link to AlternativaPlatform. A basic standard licence costs 1000 Euro for one commercial project. The current version is 5.6.0.  The Alternativa platform is developed by Alternativa Game, Ltd. in Russia, the team counts currently 15 people.

Infinity3D

The multi-tasking Infinity3D engine for flash (as3) was designed by Alexei Mikhailovich Romanov from Petersburg. The latest version 1.4.D was released on september 17, 2009. The engine supports animated dynamic objects.

Yogurt3D (Y3D)

Yogurt 3d Engine Corp. announced in december 2009 that there free Adobe Flash 3D Engine API will be ready and available to download for everyone soon. Scene management, character animation and multiple scene support are some of the features included in the Yogurt3D Game Engine.

FIVe3D

The FIVe3D initiative is an open source code for the conception of interactive vector-based 3D animations. The original Actionscript 2 code was ported to Actionscript 3 for Flash 10. The project is developed by Mathieu Badimon.

Like Papervision3D, the following 3D Flash engines are not yet based on the Flash 10 3D API, but nevertheless very performant:

Sophie 3D

Sophie 3D enables you to view  models online with the Flash Player. To do this the model needs to be saved in Wavefront OBJ format. Sophie3D gives you high quality fast renders by displaying over 80.000 polygons in realtime with textures, reflections, transparency and infinite number of lights.

Sophie 3D is one of the products developed at XOSystem. Sophie 3D Component is free to download and use on the condition that it is not used for commercial purposes and that the logo “Sophie 3D Engine” and all the other graphic elements are in no way hidden or modified.
Sophie 3D Component PRO for Adobe Flash Player has the retail price of 239,00 euro. The Sophie 3D Player Pro Licence is for a single domain use only and allows  to publish  3D models without the logo appearing on a 3D scene. It includes Sophie 3D Compressor that can reduce the size of a Wavefront .obj models by about 75%. For example a model file of 1Mb will be compacted to a file of 250Kb.

Sandy 3D

Sandy 3D is an intuitive and user-friendly 3D open-source library developed  now in Actionscript 3.0 for Adobe Flash. Sandy can be used in a commercial project. Sandy3.0 is able to render about 2000-5000 polygons correctly on a pretty recent computer with really correct screen resolution. Version AS3 3.1.2 was released on 28th March 2009.

FFilmation
The FFilmation Engine is an AS3 isometric programing engine, focused mainly on game development. The aim of the project is providing a robust development platform, where game designers can work on the game’s details and forget about the render engine. It is intended to be really usable from a “real production scenario” point of view. The engine is open-source, and released under the MIT license.

FFilmation is developed by Jordi Ministral, the co-owner of a small multimedia production studio in Barcelona, Spain. Version 1.3.3. was released on march 13, 2009. A FFilmation editor is also available. In september 2009, the developer announced on his blog that FFilmation is progressing quietly.

The following Flash 3D projects are listed mainly for historical reasons :

WireEngine3D (we3d)

WireEngine3D is a lightweight and fast 3D Engine for Flash 8/9. The latest version: 3.5.1 was released on 9th april 2008. With the WireEngine it is very easy to animate 3D objects in the 3D world.

3D Engine for Flash MX2004

The OpenSource 3D Engine for Flash MX 2004 allows to create 3D applications using the builtin DataCube object and put  data as dynamic 3D Models into a virtual universe.

3DFS

3DFS is a 3D engine written in ActionScript 2 compatible with Flash Player 7.0 or more. It offers exact visible surface determination even for intersecting or overlapping geometry.

Electric 3D

The Electric 3D Flash engine is used internally by Electric Oyster, an interactive design, development and consulting company, when they develop 3D projects for their clients.

Jiglibflash now also supports Five3D

Dewplayer : lecteur mp3 en flash

Alsacréations, une agence web à Strasbourg en Alsace, spécialisée dans la conception de sites internet conformes aux standards internationaux W3C, offre depuis plusieurs années un lecteur audio mp3 en Flash par Dew, simple à installer et à utiliser.

Appelé Dewplayer, ce lecteur est distribué sous licence Creative Commons, son utilisation est libre et gratuite même dans un cadre professionnel ou commercial.

Un générateur de code XHTML est disponible sur le site qui va produire un code à copier-coller selon les besoins des usagers. L’utilisation de swfobject est recommandée pour l’intégration du lecteur.

Le pilotage du lecteur par Javascript est possible et il y a de nombreuses options disponibles. J’utilise le lecteur depuis des années avec succès. La version la plus récente est 1.9.6.

Recording and processing Flash (flv) videos

Last update : January 30, 2013

Today this contribution has only a historical value.

After YouTube and Google, new players like Metacafe, Blip.tv, Revver, Yahoo Videos and so on have entered the online video sharing space. Today millions of video clips, technology shows, music albums, movie trailers and private films are available on these video sites for online viewing or they can also be downloaded to your hard drive for offline viewing.

The downloaded video files are generally in FLV format (Flash Video) which is an Adobe standard for video compression. It has fast becoming the web standard for delivering online video (replacing Apple QuickTime, AVI, Windows Media and Real rm formats) because Flash Video can be viewed inside Macromedia Flash Players which are shipped by default with most web browsers.

To download Flash Videos, the following approaches are possible:

To record Flash Videos, the following tools are available :

To play Flash Videos on the desktop, use the following players :

To split Flash Videos, use this tool :

To convert and edit Flash Videos, different file conversion programs are available :

  • SUPER from eRightSoft
  • An free online conversion tool (beta) to PC, iPod and PSP is offered by vixy.net.

To encode and publish :

To captionate Flash Videos, the tools available are :

To extract image frames from FLV Videos :

To embed Flash videos in a webpage :

To play Youtube Videos in a webpage :

  • use the Youtube code (an embedded YouTube watermark logo is displayed in the right bottom corner of the player)
  • Mediaplayer by Jeroen Wijering (LongTail Video) ; an embedded YouTube watermark logo is displayed if the standard URL http://www.youtube.com/watch?v=xxxxxxx is used to respect the terms of service (TOS) of YouTube.  The watermark logo is not shown if  the mp4 url  format http://www.youtubemp4.com/video/xxxxxxx.mp4 is used to play the YouTube videos.

To extract audio data from Flash videos :

Links to tutorials about Flash video processing are given below :

Update your Twitter picture with Snapatar

Snapatar lets you update your Twitter profile picture using your webcam. Simply snap a picture, fill out your Twitter details and send the new image to Twitter. You can do this as often as you like. Your creativity is the limit.

Snapatar was designed by Roy Tanck, a free lance webdesigner, geek, entrepreneur and WordPress enthusiast from the Netherlands. He is the co-author of  the book  Byte-size Flash MX which deals with optimizing Flash files. He is also the developer of the FlickR and Photo widgets.

Flash Video (FLV) : delivery and encoding

Last update : Januray 30, 2013

Due to the popularity of the Adobe Flash player, Flash video (FLV) was the standard of choice for Internet Video publishers in the past. Publishers could choose between three methods of delivering video content.

  • Progressive Download
  • Streaming
  • HTTP pseudo-streaming

Downloads are easy and work with any server, but do not offer content protection nor seeking to undownloaded parts. Streaming servers offer these functionalities, but have to be installed and managed. Since serverside access and knowledge are not available to every developer, there exist an in-between solution of HTTP pseudo-streaming through the use of small serverside scripts. A detailed tutorial about HTTP video streaming has been written by Jeroen Wijering, the renowned developer of the JW player and cofounder of LongTail Video and Bits on the Run.

The streaming protocol for Flash video is RMTP (Real Time Messaging Protocol). RTMP is a proprietary persistant protocol developed by Adobe Systems for streaming audio, video and data over the Internet, between a Flash player and a server.

The RTMP protocol has three variations:

1. The “plain” protocol which works on top of TCP and uses port number 1935
2. RTMPT which is encapsulated within HTTP requests to traverse firewalls
3. RTMPS which works just like RTMPT, but over a secure HTTPS connection.

The HTTP pseudo-streaming works through a very simple mechanism. It’s a progressive download using server side scripting to allow random access to parts of the video that have not yet been loaded. A well known php script for HTTP pseudo-streaming was xmoov, developed by Eric Lorenzo Benjamin jr. The FLV video must contain keyframes metadata which can be added with a patcher like FLVMDI.

The second issue for delivering flash video on the web is the encoding. An in-depth comparison of available codecs is presented by Jan Ozer in an article published on the website digitalcontentproducer.com.

Flash video uses three different codecs:

  • The Sorenson Spark codec, introduced in Flash version 7, (Sorenson H.263) was used a lot (e.g. at YouTube, Google Video, MySpace). This codec was also found in most freeware / shareware software that encodes FLV.
  • The TrueMotion VP6 codec developed by On2 Technologies was introduced in Flash version 8. It was a famous proprietary codec used in the Flix encoding tools offered by On2. Two versions of the VP6 were available: VP6-S was recommended for HD (high-definition) production, and VP6-E was the best for SD (standard definition) production.
  • The industry-standard H.264 video codec is icluded in Flash since version 9r115. This codec is also known as MPEG-4 Part 10, or MPEG-4 AVC (for Advanced Video Coding). With H.264, DVD-quality online video is very well possible. An advantage of the H.264 codec is that it is also used in a lot of portable devices, such as the iPod/iPhone, Sony PlayStation Portable (PSP) or Nokia N series smartphones.

A comparison of the quality of H.263 and 264 codecs is presented by Jeroen Wijering on the Bits on the Run website.

I use the commercial version of Jeroen Wijerings video-player (licence No 2007.3264). My video files are hosted on the Amazon S3 servers, the preview pictures are hosted in the same folder as the video player on another server by using a relative path for the corresponding flashvariable. Since 2010 I use the Amazon Cloudfront service to stream flash videos.

SWISH : alternative Flash animation tool

SWiSHzone.com is the world leader in alternative Flash™ animation tools. The philosophy of SWISHzone Pty Ltd is to make Flash authoring accessible to everyone, with software that is both easy to use and affordable.

Founded in 1999 and based in Sydney, Australia, SWiSHzone’s product range has grown from a single text animation tool to a suite of products that make it easy to create Flash-based video, photo albums, PowerPoint™ presentations and more. The flagship product SWiSH Max is a professional Flash authoring tool with enough power and flexibility for the most demanding of users.