Saturday, January 17, 2009

My Favorites Flash AS2/AS3 Components/FLA Part I

Components in Flash CS3 and CS4

Kudos for Ultrashok.com done in Flex. Interview with Patrick Miko

http://theflashblog.com/?p=312

http://blogs.adobe.com/rgalvan/2008/01/about_components.html

A great candidate for a new video playback component : A component using netstream to interpret interactive hot spot produced by Activideo embedded in FLV/F4V stream.
You may be interested to read more about interactive video in Flash CS4
http://younsi.blogspot.com/2008/12/interactive-video-in-flash-using-f4v.html

Overall my favorites component for Flash CS3/Flash CS4 to
render Photo Gallery and now Video. Each Video transition now
support Pixel bender. Once drop on stage you will have access
to a Video Component with an impressive set of parameters.

http://slideshowpro.net/examples/

http://www.ultrashock.com/#/asset/41197/as-flash-media-player.html



AS-Flash Media Player (standalone)

Features:
- Video player with H264 support
- Audio player
- Subtitles - XML
- .srt to xml converter (PHP script)
- Share (send to friend) (PHP script)
- Cue points (highlights)
- external (XML) and internal (in video) CP
- YouTube support
- Alternate video content (low/high quality)
- Image preview
- External loaded logo
- URL protection
- Version test for Adobe Flash Player
- Auto hide controls
- Loop on/off
- Keyboard shortcuts
- Mouse wheel, doubleclick
- Fullscreen support
- FlashVars & Query driven
- AS 2.0

http://www.ultrashock.com/#/asset/41084/ultra-xml-item-slider.html



XML driven item slider.
You can change almost everything: number of items/page, number o change/click, image 1, image 2, text 1, text 2, speed, blur, saturation, brightness, reflection and much more. AS 2.0 - Flash Player 8


http://www.ultrashock.com/#/asset/40818/pageflipper-as3.html




Engage your users with truly intuitive browsing experiences with the pageFlipper, a Flash component that enables magazine style flipping of pages. Sensational when used for company brochures, family photo albums or editorial style content. With realistic page turning effects introduce an enhanced sense of interaction to your users. Use Movieclips, external images or SWFs for pages. Add pages using XML, Actionscript or the Component Inspector panel. Only 14KB.

Flip through the book in the example by either clicking and dragging the pages from the corners in a page flipping motion or by clicking in the corner of each page. You may also flip to each page directly using the direct page number links above the book. AS 3.0 - Flash Player 9

http://www.ultrashock.com/#/asset/40263/tree3d-as3-component.html



Tree3D is a tree component for ActionScript 3 with a twist. It allows you to easily create a three dimensional interactive tree UI navigation systems. Based on data driven XML, the component can be easily adapted to virtually any data source.

Developed by Zerofractal Studio and based on an idea by Alejandro Gonzalez, Tree 3D offers an intuitive user friendly functional spatial tree that combines horizontal navigation for the current level and depth cascade style navigation for its hierarchy.

Common uses for Tree 3D are: File/Folder Browsers, Menu systems, site-maps, or any tree based structure.

Features:
- Data driven
- Customizable Label and Icon styles
- Breadcrumb Navigation
- Customizable UI settings
- Incredible 3D eye-candy effects
- Customizable Scrollbar
- Keyboard/Mouse Wheel Navigation.
- Flash Player 9 - AS 3.0

http://www.ultrashock.com/#/asset/40612/flash-igoogle-weather.html



Cool Flash Weather widget XML based (data is received from Google web service at -(www.google.com/ig). You can choose different towns, languages, US or SI units. You can add unlimited number of cities and languages (XML settings).

Your server must support PHP in order to avoid the security sandbox for this widget.
Flash Player 8 - AS 2.0

http://www.ultrashock.com/#/asset/41193/spinning-3d-earth-globe.html



- Real 3D globe (not just one flat map animated);
- Smooth animation based on 72 frames;
- 100% scalable vector;
- Translucent globe;
- One movieclip contains all graphic elements. Simply drag and drop;
Included AS code for 9 versions of the globe (as seen in the preview);
- Easy to customize (with or without actionscript): globe elements colors; globe elements transparency;
- AS 2.0 - Flash Player 8

http://www.ultrashock.com/#/asset/41988/news-rotator-01.html



Features:
- resizable from xml
- unlimitted images/content
- dinamically resizable scroller
- you can change most of the colors/sizes using the xml
- you can position the entire component as well as the other individual components just from the xml
- you can change the button's text/url/target for each slide
- the content is html formatted text and you can easily change it for each slide
- also, from the .xml file you can change the sliding timing and the fade in/out time and animation type
- in the xml you have a variable (autoplay), when this is activated, on first load the news rotator will start playing

The component can easily be embedded into another project, all you have to do is copy the srouce files into your new projects folder, copy the library items into your new projects, drag and drop on the stage the gal movie clip and it's done.

You can use the news rotator in many ways, it's a useful component and because the level of customization is high it's a must have. It can be a news rotator, a product show off or even a family album, sky is the limit.
- AS 2.0 - Flash Player 8.0


http://www.ultrashock.com/#/asset/40683/3d-stack-as-2.0.html



The 3D Stack can be easily use to display groups of images, movie clips, SWFs with perspective, depth, fading and much more!

Key features:

* Adjustable images position via parameters or
* Using camera keyboard and mouse controls
* XML configuration file easy to setup
* AS 2.0 - Flash Player 8.0

http://www.ultrashock.com/#/asset/40777/ripple-dissolve.html



AS3 RippleDissolve class that works best with small vectors or bitmaps. The effect is triggered on a MovieClip by using a single line of ActionScript. Settings include effect duration, ripple height, ripple speed and effect strength. Goldfish not included.

http://www.ultrashock.com/#/asset/41497/dynamic-sliding-menu-02.html



Sliding menu, mouseover pushes out the normal state of the button.

Features for the xml/what you can change:
- the menu's position
- normal/over/pressed gradient colors, font size, font name, button's height, button's added width to the text's total width if you want the button to be a little wider
- you can toggle either a button will be launched at first menu load
- you can toggle either a line will appear around button, you can even choose the line's gradient colors
- you can toggle each bg (normal/over/pressed) and of course you can change each of the button's gradients and alpha value
- you can toggle on/off the menu's big background and you can change it's gradient color, width, height, alpha value and you can even position it anywhere you want.
- you have 4 motion options ( up-down, down-up, right-left, left-right )
- you can change the animation time and you can choose the animation type ( I have used tweener for this and you have a link in the help file with all the transition types available )
- AS 2.0 - Flash Player 8.0

Flexibile menu, easy to customize without having to install flash, all you need is a text editor to change it's graphics. In this preview version getURL had been disabled but in the original file it works just fine and in the xml you can change the url and the target as well.

Enjoy this new release from OXYLUS Flash


http://www.ultrashock.com/#/asset/41487/ultimatescrollerpro.html



This is the PRO version of the ultimateScroller component, rewritten for ActionScript 3.0 with several additional features and enhancements. An easy to use, drag and drop Flash scroller that can scroll movie clips and dynamic text fields. Includes drag scrolling, easing, motion blur, mouse wheel scrolling and CS3 skinning.
Available for ActionScript 3.0. .

http://www.ultrashock.com/#/asset/40645/photosplash-as3.html



Displays a collection of images in a random layout and angle. The viewer can rearrange the layout by clicking and dragging the images or by pressing the optional reshuffle button. Large images can also have mouse over titles and descriptions. Built-in easing effects and skinnable image holders.
AS 3.0 - Flash Player 9

http://www.ultrashock.com/#/asset/41191/world-map-with-navigation-menu.html



Stylish vector world map with continent navigation menu. It could be used for corporate websites (list of company branches or distributors locations). Continents: North America, South America, Europe, Asia, Africa and Australia.
AS 2.0 - Flash Player 8.0

http://www.ultrashock.com/#/asset/39773/tooltip-v.2.html



This is a nice yet powerful tooltip. This can easily be integrated into all of your flash applications. AS 2.0 - Flash Player 8.0

http://www.ultrashock.com/#/asset/41194/



Spinning Earth - AS 2.0 - Flash Player 8.0

http://www.ultrashock.com/#/asset/41041/magneticmenu.html




The magneticMenu flash component displays icons, images, or flash files in a magnetic like menu. When a user mouses over an icon the icon is attracted to the mouse pointer much like a real magnet. Supports both a horizontal or vertical menu.

Key Features
* All settings and photos can be changed through the component inspector or the XML file
* Customizable spacin
* horizontal or vertical format
* Supports all Flash image formats
* Supports .swf files
* ActionScript API available
* AS 3.0 - Flash Player 9

http://www.ultrashock.com/#/asset/41544/event-count-down-widget-v1.html




EVENT COUNT DOWN WIDGET V1

A simple but useful event countdown ticker. Great for under-construction pages
with a known launch date. All code resides on the timeline and is well commented.
Additional documentation describes how to modify the widget's variables to your
liking.

Future upgrades will include:

- Parameters to be set externally via XML
- Pure V2 component implementation
- AS 2.0 - Flash Player 7

http://www.ultrashock.com/#/asset/41576/rotarygallery.html



The rotaryGallery displays images and Flash .swf files in a unique circular layout. Once a user clicks on a thumbnail image, the thumbnail expands to full size while the current image sizes down to a thumbnail and the rest of the thumbnails dynamically reorganize. The rotaryGallery has many customizable parameters to get an infinite number of looks.

All settings and images/videos can be changed through the component inspector or the XML file
Custom thumbnail image size
Custom image size
Custom diameter of the gallery
Option to place the center image onto or below the thumbnail images
Optional Glass like effect over the images
Custom glow transparency
Custom glow color
Custom glow blur
Optional link click through
Supports all Flash image formats
Supports Flash .swf files
AS 3.0 - Flash Player 9

http://www.ultrashock.com/#/asset/40799/calendar-xml.html



Fully customizable events calendar, XML driven.

Here are some of the variables you can edit:
calendarWidth & calendarHeight
calendarColor & calendarGradient
backgroundAlpha & alphaSpeed
calendarTextSize & calendarTextFont & calendarTextColor
effect
daySize & dayColor & dayEventColor & dayAlpha
daySpacing
eventBorder & eventColor
eventTextSize & eventTextFont & eventTextColor
transition & eventTransitionSpeed
startDay

http://www.ultrashock.com/#/asset/12202/fire-effect.html



Set any static movie clip on fire
AS 3.0 - Flash Player 9

http://www.ultrashock.com/#/asset/41516/clouds-mask-xml-banner-rotator-(as3).html




This banner rotator is driven xml. It uses 'perlinNoise' and 'threshold' method to create clouds mask effect. You can show image. Customize button color, hover color, text color, button number, button shape. Also, open window method and delay time for every image. Very powerful, hope you to like it.

Features:

  • xml driven

  • Customize button color

  • Customize hover color

  • Customize text color

  • Customize button number

  • Customize button shape

  • Pause/Play rotator

  • customize link enable for banner (linkEabled = 'yes' or linkEabled = 'no'

  • Customize position of buttons

  • Customize open window method for every image: '_blank' or '_self'

  • Customize delay time for every


http://www.hitasoft.com/
RIPE WEB FLV PLAYER 1.0
The slow motion Video Feature is interesting

http://www.flashloaded.com/flashcomponents/3dwall/



The 3D Wall Flash component displays images on an engaging interactive 3D wall using the Papervision3D engine. The PRO version can also display FLV videos and SWF's

http://flashxpert.net/products/







Wall of images

http://flashden.net/files/116659/index.html

How The Wall Works

- A list of images is drawn from an XML file and then loaded in randomly.

- The app then calculates how many squares will fit on the screen (based on the “target width” and “target height” XML settings) and then randomly fills the browser with your images.

- Your image list can be any size. For example, if you have only two images in your list, the file will take those two images and repeat them until the wall is built. If you have more images in your list than allotted squares, the file will then leave out the extra images.

- You can choose whatever size you want your squares to be from two settings in the XML file

- The app will scale your images to fill each square appropriately

- Your large images can be any size. If they are too big to fit on the viewer’s browser, they will be scaled down to fit.
XML Options

- Set the target height and width of your squares

- Choose to use the file as a clickable gallery or use it as a dynamic website background image

- Customize your Right Click Menu with target supported links

- Set the path to your photos and write their HTML /CSS supported descriptions

Uses GreenSock TweenLite. Lightweight at only 25kb (with embedded font, 12kb with device fonts). Class driven and easy to integrate with your Flash Projects (code below)

import com.crackerjack.Wall;
var wall:Wall = new Wall();
addChild(wall);



XML BANNER ROTATOR 02 AS3

http://flashden.net/item/xml-banner-rotator-02-as3/39423

This is a flexible and easy to customize banner ad rotator that supports external images and swf files. All settings and item locations/descriptions can be set in the .xml file. Very easy to resize (change dimensions in the .xml and re-compile the file with the same dimension = done).

Among its features :
- ActionScript 3.0
- virtually unlimited items (visualy limited by the height of the file for the drop-down selector)
- xml powered, flexible
- supports both images and swf files
- autoplay timer setting
- text description for each item with the posibility to have no description bar
- clean unobtrusive design
- cool motion blur animation
- play/pause feature
- quick setup and customization

FLIP BOOK SLIDESHOW

http://flashden.net/item/flip-book-slideshow/35254

Features of the ActionScript3 Flip Book Slideshow.
– Item support JPG , GIF , PNG files.
– Each page move for its own path.
– You can use it as:
1. E-Book or E-Jurnal.
2. Image Viewers.
3. Banner rotator.
4. Image slideshow.

– Easy configure and modify all settings and parameters by XML files:
1. Unlimited number of pages.
2. You may add unlimited number of images and HTML -formatted texts for each page and move it to any positions on the page.
3. You may add link for any images with different target parameters.
4. You may edit font size, font colour, background colour, background opacity and width for every text block by XML .
5. You may turn on/off autoslideshow mode, set animation speed, animation pause, buttons colour, preloader colour by XML .
6. You may set one of two modes:
a. Loop mode – pages will be flip by loop.
b. Single mode – Flip Book Slideshow will be looked like on simple book.
7. You may set background image or colour for Flip Book Slideshow and for any page.


SLIDE ZOOM VIEWER

http://flashden.net/item/slide-zoom-viewer/33484

This is a drag and drop XML drive image viewer with zoom/pan capability and HTML /CSS description text. It can be used both for flash files to be embedded in HTML as well as for dragging and dropping into your flash project.
Features:

* Drag and drop and XML driven.

* Can go over any background (the wood one shown in preview is just an example of this).

* Coded to load into other swf’s without problems.

* Text is HTML /CSS text for thorough formatting abilities.

* Help files included.

* 100% vector with easy on stage editing of graphics.

* Zooming and Panning allows large detailed images to be inspected closely.



XML TEAM BUSINESS CARDS VIEWER

http://flashden.net/item/xml-team-business-cards-viewer/34182


XML Team Business cards is a team viewer, which displays Business cards of the members of your team, your office…

Without opening any fla, just edit the XML .

You can display the photo of each member, his name, his role, job or position, and his e-mail. The e-mail address is clickable, to open your messenging tool to send an e-mail.

You can customize : the colors and the shapes of your Business cards, put a different color for each member.

You can add as many members you want.



3D XML BUSINESS CARD

http://flashden.net/item/3d-xml-business-card/18716

This Papervision 3D Business card is very simple to use, just open up the XML file in your favourite text editor like Notepad and replace the default details with your own business card information. Then, just create your imagery for both the front and back of the business card. Once youve done that you are ready to go!

I have listed this as a business card because that was my main inspiration for making it, but you could use it for anything where you wanted to flip something with two images on.

Features:

* True 3D, built using the fantastic 3D engine, Papervision, no skewing and distortions to create an illusion like others
* XML based, you can control the business card text data within an XML file, along with settings like size, flip speed, blur amount and the front and back images to be used




IMAGE TRANSITION COMBO EFFECTS

http://flashden.net/item/image-transition-combo-effects/1116

These are 8 image transition effects, include: Rotate, Scale, Blur and Fade. Maybe you have never seen this kind of transition before, not using mask, tweening, filter etc… but from the small rectangles that build up the image. By modifying the properties of those small rectangles, you can create many different transition effect. The Fade effect is somehow different from the traditional fade effect you knew . Quite impressive and useful, the choice is yours!

BLUR MASK EFFECT

http://flashden.net/item/blur-mask-effect/372

Mask effect on an image with blur.


XML PIXELATE!!!

http://flashden.net/item/xml-pixelate/10479


MIRAGE IMAGE

http://flashden.net/item/mirage-image/10789

XML CARDS TRANSITION

http://flashden.net/item/xml-cards-transition/14416

XML COOL SQUARE TRANSITION

http://flashden.net/item/xml-cool-square-transition/14015


BOXED TRANSITIONS 2

http://flashden.net/item/boxed-transitions-2/13552

It’s all vector, therefore you can resize it all you want and not lose the quality. It is ready for drag and drop. Place the movieclip “mask” over your photo or other elements.

If you want to change color transition, set and edit movieclip “box” (first color) and “addons” (second color). Additionally You can put “tint” color effect in movieclip “mask”.

Only 5kb (without photo)!

BOXED TRANSITIONS

http://flashden.net/item/boxed-transitions/12780

It’s all vector, therefore youcan resize it all you want and not lose the quality. The items in the stage have a “tint” as color effect. It is ready for drag and drop.

Only 3kb (without photo)!

Pixel Bender Filter in Flash CS4






My first Pixel Bender filter (RGB RAMP)



Today I spent a few hours with Pixel Bender and it is well worth the effort. As you know CS4 was announced recently and packs a pretty substantial list of features, but Adobe is equally impressing developers on the Adobe Labs. One of the newer additions is Pixel Bender. Pixel Bender is essentially a toolkit that is used to develop filters. These filters can be used in Flash 10 and After Effects and allow everyday people to create some very interesting filters.

The running of the filter in Flash CS4 is pretty much identical to an included filter, like the BlurFilter or DropShadowFilter.


Start by opening the Pixel Bender Toolkit, which can be obtained on the Adobe labs


Then create your kernel script by simply copying and pasting the code provided here into the code window of the Pixel Bender toolkit. Pixel Bender Files have the extension pbk.














<languageversion : 1.0;>

kernel QuadBlur
< namespace : "com.pixelbender.filters";
vendor : "RGB Filter";
version : 1;
description : "Creates a basic RGB Pixel Color Ramp";
>

{

input image4 src;
output pixel4 dst;

parameter float red

<

minValue:1.0;

maxValue:15.0;

defaultValue:1.0;

>;

parameter float green

<

minValue:1.0;

maxValue:15.0;

defaultValue:1.0;

>;

parameter float blue

<

minValue:1.0;

maxValue:15.0;

defaultValue:1.0;

>;


void


evaluatePixel()

{


pixel4 p = sampleNearest(src,outCoord());

p.r *= red;

p.g *= green;

p.b *= blue;

dst = p;

}


}</languageversion>



Then export the filter File > Export Kernel Filter for Flash Player and save the Sample.pbj (binary file) file on you desktop.

Now Open Flash and create a new ActionScript 3 document. For a test sample you need to insert an image on the stage and an image for a button inserted as movie clip. Save the new Flash document to your desktop, where you saved the filter file. Once the file is saved import an image that you will apply the filter to.


Click on the following link to see the filter in action. You must have Flash Player 10 installed to view it.



The ActionScript 3 code that I used to import the new sample shader is
shown below.









import adobe.utils.*;

import fl.controls.*;

import flash.accessibility.*;

import flash.desktop.*;

import flash.display.*;

import flash.errors.*;

import flash.events.*;

import flash.external.*;

import flash.filters.*;

import flash.geom.*;

import flash.media.*;

import flash.net.*;

import flash.printing.*;

import flash.profiler.*;

import flash.sampler.*;

import flash.system.*;

import flash.text.*;

import flash.text.engine.*;

import flash.ui.*;

import flash.utils.*;

import flash.xml.*;



var shader:flash.display.Shader;

var timer:flash.utils.Timer;

var loader:flash.net.URLLoader;

var timerInt:uint;

var startBtn:fl.controls.Button;

var image:flash.display.MovieClip;

var shaderFilter:flash.filters.ShaderFilter;









try

{

startBtn["componentInspectorSetting"] = true;

}

catch (e:Error)

{

};

startBtn.emphasized = false;

startBtn.enabled = true;

startBtn.label = "Start Effect";

startBtn.labelPlacement = "right";

startBtn.selected = false;

startBtn.toggle = false;

startBtn.visible = true;

try

{

startBtn["componentInspectorSetting"] = false;

}

catch (e:Error)

{

};



timerInt = 40;

image = new PixelBenderImage();

image.y = 20;

image.x = 25;

addChild(image);

startBtn.addEventListener(MouseEvent.CLICK, this.startEffect);





function restartEffect(arg1:flash.events.MouseEvent):*

{

image.alpha = 0;

initFilter();

return;

}

function startEffect(arg1:flash.events.MouseEvent):*

{

loader = new URLLoader();

loader.dataFormat = URLLoaderDataFormat.BINARY;

loader.addEventListener(Event.COMPLETE, this.loadComplete);

loader.load(new URLRequest("Sample.pbj"));

return;

}





function initFilter():*

{

shader.data.red.value = [20];

shader.data.green.value = [20];

shader.data.blue.value = [20];

shaderFilter = new ShaderFilter(this.shader);

image.filters = [shaderFilter];

image.alpha = 1;

timer = new Timer(timerInt, 0);

timer.addEventListener(TimerEvent.TIMER, this.timerHit);

timer.start();

return;

}

function timerHit(arg1:flash.events.TimerEvent):void

{

var loc2:*;

var loc3:*;

var loc4:*;


if (shader.data.red.value == 1)

{

startBtn.label = "Restart Effect";

startBtn.removeEventListener(MouseEvent.CLICK, this.startEffect);

startBtn.addEventListener(MouseEvent.CLICK, this.restartEffect);

timer.stop();

return;

}

loc2 = shader.data.red.value - 0.1;

loc3 = shader.data.green.value - 0.1;

loc4 = shader.data.blue.value - 0.1;

shader.data.red.value = [loc2];

shader.data.green.value = [loc3];

shader.data.blue.value = [loc4];

shaderFilter = new ShaderFilter(shader);

image.filters = [shaderFilter];

return;

}

function loadComplete(arg1:flash.events.Event):void

{

shader = new Shader(loader.data);

initFilter();

addEventListener(Event.ENTER_FRAME, loop);

return;

}

/*

function onChange(p:Number):void

{

p *= 50;

shader.data.amount.value = [p, p, p];

image.filters = [filter];

}

*/





Pixel Bender filter (ZOOM BLUR)




This filter will create a zoom blur effect













<languageVersion : 1.0;>

kernel ZoomBlur

< namespace : "com.rphelan";

vendor : "Ryan Phelan";

version : 1;

description : "A simple implementation of zoom blur, using 15 levels of blur.";

>

{

parameter float2 center

<

minValue:float2(0.0, 0.0);

maxValue:float2(2048.0, 2048.0);

defaultValue:float2(256.0, 256.0);

>;



parameter float amount

<

minValue:0.0;

maxValue:0.5;

defaultValue:0.05;

>;


input image4 src;

output pixel4 dst;

void

evaluatePixel()

{

// Obtain the output pixel coordinate

float2 coord = outCoord();



// Offset by the center value

coord -= center;



float scale;

dst = float4(0.0);



// This is an expanded for loop.

// Loops are not currently supported in pixel bender.

// For increased definition at the cost of performance,

// simply add more levels.



// Take 15 samples radiating out from the center and

// add them to dst



scale = 1.0;

dst += sampleNearest( src, coord*scale + center );



scale = 1.0 + amount * (1.0/14.0);

dst += sampleNearest( src, coord*scale + center );



scale = 1.0 + amount * (2.0/14.0);

dst += sampleNearest( src, coord*scale + center );



scale = 1.0 + amount * (3.0/14.0);

dst += sampleNearest( src, coord*scale + center );



scale = 1.0 + amount * (4.0/14.0);

dst += sampleNearest( src, coord*scale + center );



scale = 1.0 + amount * (5.0/14.0);

dst += sampleNearest( src, coord*scale + center );



scale = 1.0 + amount * (6.0/14.0);

dst += sampleNearest( src, coord*scale + center );



scale = 1.0 + amount * (7.0/14.0);

dst += sampleNearest( src, coord*scale + center );



scale = 1.0 + amount * (8.0/14.0);

dst += sampleNearest( src, coord*scale + center );



scale = 1.0 + amount * (9.0/14.0);

dst += sampleNearest( src, coord*scale + center );



scale = 1.0 + amount * (10.0/14.0);

dst += sampleNearest( src, coord*scale + center );



scale = 1.0 + amount * (11.0/14.0);

dst += sampleNearest( src, coord*scale + center );



scale = 1.0 + amount * (12.0/14.0);

dst += sampleNearest( src, coord*scale + center );



scale = 1.0 + amount * (13.0/14.0);

dst += sampleNearest( src, coord*scale + center );



scale = 1.0 + amount * (14.0/14.0);

dst += sampleNearest( src, coord*scale + center );



// Divide by 15 to get the average of the samples

dst /= 15.0;

}

}



Then export the filter File > Export Kernel Filter for Flash Player and save the .pdk file on you desktop.

Now Open Flash and create a new ActionScript 3 document. Save the new Flash document to your desktop, where you saved the filter file. Once the file is saved import an image that you will apply the filter to.


Click on the following link to see the filter in action. You must have Flash Player 10 installed to view it.



The ActionScript 3 code that I used to import the ZoomBlur sample shader is
shown below.









import adobe.utils.*;

import fl.controls.*;

import flash.accessibility.*;

import flash.desktop.*;

import flash.display.*;

import flash.errors.*;

import flash.events.*;

import flash.external.*;

import flash.filters.*;

import flash.geom.*;

import flash.media.*;

import flash.net.*;

import flash.printing.*;

import flash.profiler.*;

import flash.sampler.*;

import flash.system.*;

import flash.text.*;

import flash.text.engine.*;

import flash.ui.*;

import flash.utils.*;

import flash.xml.*;





var shader:flash.display.Shader;

var timer:flash.utils.Timer;

var loader:flash.net.URLLoader;

var timerInt:uint;

var startBtn:fl.controls.Button;

var image:flash.display.MovieClip;

var shaderFilter:flash.filters.ShaderFilter;









try

{

startBtn["componentInspectorSetting"] = true;

}

catch (e:Error)

{

};

startBtn.emphasized = false;

startBtn.enabled = true;

startBtn.label = "Start Effect";

startBtn.labelPlacement = "right";

startBtn.selected = false;

startBtn.toggle = false;

startBtn.visible = true;

try

{

startBtn["componentInspectorSetting"] = false;

}

catch (e:Error)

{

};



timerInt = 40;

image = new PixelBenderImage();

image.y = 20;

image.x = 25;

addChild(image);

startBtn.addEventListener(MouseEvent.CLICK, this.startEffect);





function restartEffect(arg1:flash.events.MouseEvent):*

{

image.alpha = 0;

return;

}

function startEffect(arg1:flash.events.MouseEvent):*

{

loader = new URLLoader();

loader.dataFormat = URLLoaderDataFormat.BINARY;

loader.addEventListener(Event.COMPLETE, this.loadComplete);

loader.load(new URLRequest("ZoomBlur.pbj"));

return;

}





function initFilter():*

{

return;

}

function timerHit(arg1:flash.events.TimerEvent):void

{

return;

}

function loadComplete(arg1:flash.events.Event):void

{

shader = new Shader(loader.data);

filter = new ShaderFilter(shader);

image.filters = [filter];

return;

}

 










Monday, December 22, 2008

INTERACTIVE VIDEO IN FLASH USING F4V H264 VIDEOS WITH FLASH PLAYER 10

INTERACTIVE F4V H264 VIDEO WITH FLASH PLAYER 10

Introduction

This blog article demonstrates how any users using Adobe Creative Suite CS4 or Adobe Flash CS4 Professional can create Interactive H264 Video for Flash player 10 to be viewed by any web browser supporting Flash Player 10 or higher. The following Software (part of Adobe Creative Suite CS4 or bundled with Adobe Flash CS4) as well as a third party Software called Activideo http://shop.actimus.com/ will be used in sequential order.
http://www.adobe.com/technology/graphics/video_visualization_and_interaction.html

1) Adobe Media Encoder CS4 or Adobe Media Encoder CS5

2) Adobe Bridge CS4 or Adobe Media Encoder CS5

3) Third party products such as Activideo (used in this article) or Adobe After Effect CS4 (http://vimeo.com/2345579) and finally

4) Adobe Flash CS4 or even Better Adobe Flash CS5 which support live preview of video on the designer stage

Users don't have to be familiar with Adobe Media Encoder to generate the XMP data but must be familiar with Action Script 3.0 to create the interactive experience inside Flash CS4 or Flash CS5. They can incorporate XMPData Event exposed by the NetStream player class. You must be familiar with mouse click event in Action Script 3 and really fast mouse hit test detection and finally you must be able to execute additionnal Action Script 3 functions.

Interactive user mouse click over specific areas in the video can provide useful web analytic data for the content provider streaming the videos, or lead the user to third party web site, or be able to jump to another position in the same video or a relative FLV or F4V video...

On android OS 2.2 with Flash Player 10.1 user could pause the video and display a popup to jump to various web site.

The time to produce an interactive video can vary from 5 minutes to few hours depending on variable parameters which have more or less impact on the time to complete the interactive presentation.
This time didn't include the encoding time of the H264 Video.
Software with motion tracking engine such as Adobe After Effects will also
facilitate the production of your interactive hot spots.


We are going to focus on one use cases. The first use case will show you step by step how to turn a logo within a Music Video Clip into a functional HyperLink to lead the user to the Television Company Web Site or a landing web page focused on the artist within the Television Company Web Site.


Why Interactive Video


1.Produce interactive banner ads using Flash and H264 F4V Video with persisted link in the Video so that syndicators can target ads for higher returns.

2. Same content used on TV and on the web and now on devices running Android 2.2 OS

3. Produce music or video clip which can lead the user to the content owner or artist web site so that they can earn more revenue.

4. Be able to increase search accuracy of H264 video content for search engine based on URL attached to specific object in time.

5. Provide “hidden” web analytic feedback to company to help them know which object were clicked in the Video by a user when and how many times.

6. Lead the user to other video or segment of the same video when the same object appears.


Music Video Clip Use Case

Step 1 Launch Adobe Media Encoder CS4 - Select Video Source and add to Batch




Step 2 Adobe Media Encoder CS4 - Insert Event Cuepoint for Interactive Sequence SMPTE Time In,

This step is no longer require with the updated version of Activideo. Activideo will generate an XMP file which can be embedded immediately in the Video (no need to merge)



The first step consist of using Adobe Media Encoder CS4 to encode your Video Source into H264 video and provide a list of marker matching each video segment related to each interactive sequences you are willing to produce. In our sample we will only create one sequence so for this manner you just have to provide two event markers.
We pick an mpeg one video clip of an 80's band Europe for there hit The Final Countdown. The reason we are doing this step is to produce a video with embedded XMP track. You can avoid this step if you are using latest version of Activideo (July 2010) but this is better to merge the XMP metadata exported by Activideo with additional Cue Points parameters with the XMP Metadata produced by Adobe Media Encoder.


When you add the source video file to Adobe Media Encoder CS4 batch list you can double click on the preset to be able to open the export settings window panel. From there you can provide in and out cuepoint. You can use the slider to be able to visually detect the beginning of your sequence. In this particular case when the VH1 classic logo appears.

For convenience give each in and out CuePoint a name which will help you associate each interactive sequence during the merging operation. The reason for doing this is that when Adobe Media Encoder will encode the video some XMP Metadata will be inserted in the Video Clip.

Adobe broaden XMP as the standard for embedded metadata to be used for internal and external workflow. In our use case XMP metadata will be used for external usage.

What is XMP ?

1. XMP is based on XML hence grammar can be extended at anytime

2. XMP is used across all Adobe Product for a better workflow

3. XMP can help users to work and collaborate on the same project thanks to the merging capability of XMP Data.

4. Using XMP provide indexation features for triple store engine once XMP data is converted to RDF hence web crawler can perform indexation of any files tagged using Adobe tools or thanks to the public version of XMPCore SDK

5. XMP is embedded in the Video File and remains in the video even if the content is moved or copy from one server to an other.

6. Video and its private data can be delivered in a single connection from Flas Media Server using RTMP protocol as well as from any HTTP server used to provide progressive download and playback mechanism to Flash Player.

7. XMP can be parsed using for x loop in Action Script 3


Step 3 Adobe Media Encoder CS4 - Insert Event Cuepoint for Interactive Sequence SMPTE Time Out




Using the video slider, look for the specific time where the logo will disappear and create an other Event Cuepoint. Once you have set both in and out Cuepoint to define the interval for your interactive sequence, you can Encode the video. To proceed to the next step you will have to wait for the F4V (H264 Video) to be fully encoded. The encoding time will vary based on your CPU speed. It is highly recommended to do
H264 encoding on Multi Core Computer or really fast single core CPU. It is also highly recommended to encode using Adobe Media Encoder for a valid interactive video use case. Doing that will ensure that correct XMP data will be embedded in the Video and this will also reserve some space in the beginning of the video to be able later on to merge Interactive XMP data with XMP Data previously embedded in the Video.

Step 4 Adobe Media Encoder CS4 - Encode F4V H264 Video for Flash Player 10




Encoding Process. All encoding and scrubbing for In and Out time code tasks to reserve Cuepoint entries for Video footage can be done by one person while an other person will generate the Interactive Data aimed to be merge at the end of encoding workflow.

Produce Interactive Sequence for a static area using Activideo




When it comes to generate fast interactive sequences for static area I really like to use Activideo. But don't get me wrong here, Interactive Sequence don't have to be static. Activideo is a software created by a small company Actimus which can help you generate all what you need to produce the raw data needed for an interactive video experience. For more information about Activideo visit http://shop.actimus.com/ and to see how it work visit http://shop.actimus.com/demo/howitworks/. Some video tutorials are also available to explain you how to use Activideo
http://shop.actimus.com/demo/tutorials/


Activideo is a fast and easy way to turn your videos into interactive presentations thanks to the export of well known Adobe XMP Metadata container. Activideo adds interactive hot spots (also called overlay sequences) to your videos. It is a simple but powerful concept: user-created hyperlinks within the video at various intervals and for specific areas in the video the same way hypertext is used on the Internet. These hyperlinks and interactive hotspots are exported into Adobe XMP RDF XML file format. Activideo could also produce Adobe Flash CS4 Action script 3 file along with a FLA and HTML template to be able to build your custom SWF with Adobe Flash CS4 thanks to a Plugin SDK.

Input Formats:

Activideo supports many input video file formats mostly any file format supported by the Direct Show software stack. Today, it currently supports MPEG1, MPEG2*, MPEG2-TS* transport streams including HD (720, 1080), DivX*, Microsoft AVI, Microsoft WMV* and WMV-HD * and Blueray * m2ts file. Activideo never modifies the original source video neither encode a Video. This tasks is left to Adobe Media Encoder and Adobe Bridge CS4 bundled with Adobe Flash CS4 Pro

Overlays:

The outlining of the overlay sequences is very precise because Activideo supports polygons with up to 100 vertices within a sequence. It performs linear interpolation of each vertex to transition smoothly from one shape to another. While the video is playing into Activideo, the user can move the current polygon location with the mouse visually to match any portion of the video associated and covered by polygon (and polygon are not visible on top of the final encoded Video. This is a human intervention process but it can be automated if the user doesn't plan to move the object on screen thanks to a very functional Wizard well suited to create a unique sequence and for example turn a logo encoded in the video into an hyperlink. To ease the overlay authoring process, a static logo sequence can be generate using the Creation Wizard.

Applications:

With Activideo, users can add interactive hotspot to their videos. Since the XMP data can be embedded into the Video using Adobe Media Encoder CS4/CS5 or Adobe Bridge CS4/CS4 the hyperlink will always moved whenever the Video is duplicated acting as a watermark for your video. It also provides a way to publish interactive Ads Banner using FLV or H264 video. Activideo will not encode video but just export XMP file using Adobe Flash CS4 FLV Cuepoint RDF grammar. The generated XMP metadata can be merged and embedded into FLV or F4V Video using Adobe Media Encoder or Adobe Bridge CS4. FLV or H264 Video can be encoded using Adobe Media Encoder or Elecard converter studio.

Demo version:
Yes : Export of XMP
No : Project saving.
Yes : Wizard to create an interactive sequence available.
21 days of evaluation.

It will take you 2 minutes to generate a simple interactive sequence for a static logo but you can create complex sequence to match moving objects in the video.

Full version:
Yes : Export XMP
Yes : Access to self registered COM Export Plug-ins available through Export As Menu
No activation required.

Although this use cases is focused on demonstrating how XMP can be used in H264 video for hyperlinks, Activideo can also provide Manual selection and on screen positioning of shapes on top of the video while the video is playing usefull when object are moving. Activideo support linear interpolation between shapes with the same amount of vertices set by default for all the sequences.

When you launch Activideo you will browse for the same Video Source you used to produce an H264 Video with Adobe Media Encoder CS4. Note that this use case will work only if the Video Size of your Encoded Video is the exact same size than
your Video Source. This is mandatory because we want all the Interactive Sequence coordinate in pixel to match the source and encoded video as well in term of duration and dimension.

Step 5 Activideo - Using the New project Wizard Option from the File Menu




Step 6 Activideo - Browse Video Source




Step 7 Activideo - Provide Basic Metadata




Step 8 Activideo - Interactive Sequence Generator



Provide a unique Name for your sequence to easily identify each interactive Sequence in your exported XMP file.

Provide an hyperlink. This can be relative path, absolute link to a fully qualify domain name URL or can be some sort of data which could be executed or interpreted using Action Script 3 code.

Provide a default location for your interactive hotspot. This is where you provide the default initial location of your hotspot. This position don't have to be accurate but this will accelerate the sequence tuning process.

Provide the initial size of your interactive hotspot.

Provide the number of key frame that you want for your interactive sequence. Since your hotspot is not going to move two keyframes are enough but you can insert more key frame if needed. Adding keyframe at this time is not really helpful since you want a keyframe to be set/added whenever the object within the sequence is likely to move in a different direction than the direction between two consecutive keyframes surrounding a specific frame within the sequence.


Step 9 Activideo - Click on Finish to Generate the Sequence



Step 10 Activideo - Adjust the sequence SMPTE In Time Code to Match Adobe Media Encoder SMPTE In Time Code



Use the video slider to locate the position where you set the In Event Cuepoint in Adobe Media Encoder. This time didn't have to be exactly perfect but close enough to be able to merge correct 2D spatial information in the XMP Data embedded in the H264 version of the video.Once you found the location you can select the overlay polygon move it right on top of the logo and adjust the size of the polygon using the right click button of your mouse to scale down or up the polygon. Finaly click in the toolbar on the trim before button. This will insert a keyframe and remove all keyframe prior to the current position.




Step 11 Activideo - Adjust the sequence SMPTE Out Time Code to Match Adobe Media Encoder SMPTE Out Time Code




In this frame you noticed an other block of data showing the Name of the Band, the track title and information related to the right owner of the content. A valid use case would be to create hyperlinks sequence for all of the content listed earlier to lead the user to multiple unique URL's.

For this ending sequence position select the trim after button in the toolbar. This will insert a keyframe and delete all following keyframes.

Step 12 Activideo - Export Adobe XMP



This option let you export the interactive video sequence into an Adobe XMP file




Adobe Bridge CS4 - Exporting and Merging XMP

Step 13 Adobe Bridge CS4 - Exporting XMP From F4V




There are several places where you can merge XMP Metadata using software installed with Adobe CS4 professional. The easiest way is to use Adobe Bridge CS4. Once you launch Adobe Bridge CS4 select the folder where you encode the H264 Video and right click on the F4V logo and choose File info...




Select the property sheet page named Raw Data. This is where the XMP Block is display in its RAW form. The highlighted text correspond to the AME Track for the unique interactive sequence matching the logo. Export the complete XMP data as a file to disk.








Step 14 Adobe Bridge CS4 - Merging XMP Data between Activideo XMP and the XMP data encoded earlier in the F4V Video.

The best free tool to merge XMP Data that I like to use is called WinMerge. It provides the ability to merge left or right using a double paned window view but notepad can be good enough :) in our example. A commercial version called araxis merge is also really good.



You want to merge the selected bloc in the left notepad window to the right bloc under the selected text in the right notepad loading the previously exported XMP. Don't forget to include the marker as well. Do this for every cuepoints. Once done saved you new XMP file. If you want to compel with XMP you can insert new saving history entry to show in the XMP File that a new software has been used to generate interactive hotspot. This is not a bad idea at all for workflow and tracking purposes.

Step 15 Adobe Bridge CS4 - Re-import XMP Data into F4V video file encoded by Adobe Media Encoder CS4







Because we merged manually we can choose the clear existing properties and replace with template properties.






Step 16 Adobe Flash CS4 - Create Interactive FLA Project file and generate SWF

While I understood that Activideo software has a plugin model which should provide solutions to export XMP the way you want I decided to create a FLA project and Action Script 3 code to quickly manipulate the XMP data to do something with the interactive XMP track.

1 Create an Action Script 3 project and saved the project to activideo.fla

2 Create two customs mouse cursor in order to change the mouse cursor when the mouse will be over a hotspot and one cursor when the mouse will be outside

3 Write some code to load XMP data in memory and last but not least

4 Write very fast polygon hit test detection code in Action Script 3 to detect when the mouse is in a Polygon.




The idea behind the scene would be to write an activideo plugin to generate a FLA which should be attached with a separate Action Script file and a separate XML file. The separate XML file could be used by the action script code to load the video source (local or relative path next to the SWF, http URL or rtmp URL). You can also export various interactive video related parameters specific to the Interactive Video Flash experience you want to deliver to your audience. An interactive video playback control must be self contained and the SWF must be as small as possible.
For ads you should not need any FLVPlayback Component Skins at all.

Actimus LLC is currently working on expanding JW Player and add support to parse XMP data describing Interactive Hotspot. This is a great move since many users want to experience the end result. Since JW player has been embedded in millions of Web Pages this is a great move for Activideo.



Step 17 Adobe Flash CS4 - Publish Setting

Make sure your publish setting is targeting Flash Player 10 since XMP Data is only available in Flash Player 10. If you target Flash Player 9 flash player 9 won't be able to pre-load the embedded XMP Data but your SWF will still work. This is what i like with Flash. A SWF generated for Player 9 will still be rendered with Flash PLayer 6. You are just going to miss few elements on screen.



Step 18 Adobe Flash CS4 - Publish SWF



The onXMPData is the Action Script Event Handler which will receive the XMP Raw Data when the Video will be playback. At this point you can build your SWF and test your movie. Make sure that the video is copied next to the FLA and by extension next to the SWF after publishing time unless you provide a custom path in an XML file or in your Action Script Code at runtime. Finally Test your Movie. The custom cursor are build in the FLA project. You can import your own cursor using the Photoshop Importer feature in Flash CS4. You can import transparent PSD and convert each graphic object into a movie clip. When you test the movie, the cursor will show an interactive cursor (hand cursor) when the mouse will be over the interactive hotspot and a standard cursor when the mouse will leave the hotspot. From now on do what you want when clicking in the hotspot !

Good Practice. You can edit the Action Script Code and add some code to auto loop your video (good for ads), you can add some code to turn Audio Off in order not to playback any audio from the Video and decide that you just want to render the video useful for interactive banner.

Actimus is working on a custom FLV and F4V Playback component which will support embedded interactive XMP sequences.
If you are interested in helping writing custom Playback Component send me an email through the following web site http://www.thomasyounsi.com/

Step 19 Adobe Flash CS4 - Test Movie

Outside Interactive Hotspot





Inside Interactive Hotspot



Step 20 Adobe Flash CS4 - Publish to the web

You will have to upload the F4V next to your SWF or change the local remote path with an http URL.

Publish and stream with FMS 3.0

You will have to change the local file path with an RTMP URL

Finally last but not least the beauty of XMP is that data can be injected on demand
straight into Flash Media Server, rather than having XMP permanently encoded into
the video this is why having the XMP as a separate file is also a valid use case.
On the other hand you can use a naming convention for each Key/Value Pair you want to add at the end of an XMP block in order to support multiple language or multiple condition. The only important thing is to make sure to append custom key/value pair string after the list of coordinates for each polygon belonging to an interactive sequence at a specific key frame. You can also keep the XMP files separate from the video if you want too by just exporting the XMP from the video after it has been added. You could use Flash remoting solution to deliver XMP as AMF objects from a web server using ColdFusion and PHP for instance :)

A new article to explain how to convert XMP Cuepoint time into Millisecond

http://younsi.blogspot.com/2009/02/how-to-convert-xmp-cuepoint-time-to.html

Adding Google Analytics

Google Analytics Hook into your SWF very usefull to report analytics when user click on an interactive hotspot in the video

import com.google.analytics.AnalyticsTracker;
import com.google.analytics.GATracker;
var tracker:AnalyticsTracker = new GATracker( this, "UA-111-222", "AS3", true );
playGame.addEventListener( MouseEvent.CLICK, onButtonClick );
function onButtonClick ( event:Event ):void
{
tracker.trackPageview("/myGame1");
}

In the following example, a movie clip called playGame exists on the stage. A new tracking object called tracker is created along with an event handler that listens for a mouse click. When the button is clicked, the onButtonClick function is called. For each click, the trackPageview() method increments the pageview count for the virtual page /myGame1.

http://www.google.com/analytics/
http://www.google.com/support/googleanalytics/bin/answer.py?hl=en&answer=55520
http://www.adobe.com/devnet/flash/articles/google_analytics_flash.html
http://code.google.com/p/gaforflash/
http://code.google.com/apis/analytics/docs/flashTrackingIntro.html
http://code.google.com/apis/analytics/docs/flashTrackingSetupFlash.html#useAnalyticsLibrary

Enjoy !

More reference about interactive video at Adobe and third party tools

XMPCore http://partners.adobe.com/public/developer/xmp/topic.html

XMP http://www.adobe.com/devnet/xmp/

Flash CS4 Video Playback http://www.adobe.com/devnet/flash/articles/flvplayback_fplayer9u3_04.html

Interactive Hotspot using After Effect

http://blogs.adobe.com/keyframes/2007/10/creating_interactive_video_wit.html

Activideo http://www.actimus.com/
How to receive XMP data using FLVPlayback Component
http://younsi.blogspot.com/2010/01/how-to-retrieve-xmp-cuepoint-for.html

FLV and F4V http://en.wikipedia.org/wiki/Flash_Video

XMP http://en.wikipedia.org/wiki/Extensible_Metadata_Platform


Xcitex Pro Analyst Motion Tracker http://www.xcitex.com/html/proanalyst_description.php

Free Action Script 3 Interactive "FLVPlayback" Component for Flash CS5

http://shop.actimus.com/product_info.php?products_id=122

Thursday, December 18, 2008

How to detect if Visual Studio 2008 SP1 is installed on a machine

You can also determine the service pack level of a more general, larger scope by reading a REG_DWORD registry value named SP from under :

HKEY_LOCAL_MACHINE\Software\Microsoft\DevDiv\[ProductFamily]\Servicing\9.0\

VSTD for Visual Studio 2008 Team Edition
Look for SP or SPIndex DWORD key 1 means installed 0 means not installed

Turn off intellisense in Visual Studio 2008

While writting a complex macro is one thing, the quickest way to turn intellisense off forever is to rename C:\Program Files\Microsoft Visual Studio 9.0\VC\vcpackages\feacp.dll to feacp.dll.old. Seams to work fine with the VC++ IDE

If you want autocompletion purchase Visual Assist which is doing an awesome job for C++

http://www.wholetomato.com/

Tuesday, December 16, 2008

Setting Flex builder 3 to debug your swf with Flash CS4 and Flash CS3 installed

When you want to debug your application using Flex Builder 3
and if you have Flash CS4 installed as well as an older version of FLash CS3
you will see a dialog saying that C:\Program Files\Adobe\Adobe Flash CS4\Players\FlashPlayer.exe is not the version suitable to debug your SWF.
To fix this issue exit Flex Builder, backup your C:\Program Files\Adobe\Adobe Flash CS4\Players\FlashPlayer.exe and C:\Program Files\Adobe\Adobe Flash CS4\Players\Flash Player.app folder then copy C:\Program Files\Adobe\Adobe Flash CS4\Players\Debug to C:\Program Files\Adobe\Adobe Flash CS4\Players\.

Flex Builder 3 didn't map the right path to Debug\FlashPlayer.exe

Monday, December 08, 2008

Christmas bash party 2008 playlist

- Music Sounds Better With You - Stardust
- Hey Ya - OutKast - Speakerboxx the love below
- One Bourbon, One Scotch, One Beer John Lee Hooker 20th Century Masters The
Millenium Collection
- Get This Party Started - Pink
- I Want to Hug You - John Lee Hooker - Mr Lucky
- Sing It Back - Moloko
- Sister Sledge - We Are Family
- 4 minutes - Madonna feat justin timberlake and_timbaland
- Business Time - Flight of the Conchords - The Distant Future
- Here Comes Santa Claus - Elvis Presley - Elvis Christmas Holiday
- Talk Is Cheap - Toasters - The Skaboom!
- Drop You Off - Dimmer - I Believe You Are a Star
- Frosty the Snowman - Jimmy Durante-20th Century Masters The Millennium Collection Season's Greetings (Box Set)
- Don't stop Believin - Journey
- Tell Me 'Bout It-Joss Stone - Tell Me 'Bout It - Single
- Better - Guns n' Roses
- All summer long - Kid rock
- Don't Stop The Music - Rihanna
- All Night - Damian Marley & Stephen Marley - Welcome to Jamrock
- Short Skirt Long Jacket - Cake - Comfort Eagle
- Silver Bells - Dean Martin - Christmas With Dino
- Angel - Shaggy & Rayvon - Hot Shot
- Keep Hope Alive - The Crystal Method - Vegas
- Rudolph the Red - Nosed Reindeer - Burl Ives - Have a Holly Jolly Christmas
- Mysterious Girl - Peter Andre
- Can't Get Used to Losing You - The English Beat - Beat This The Best of the English Beat
- Do That There (The Young Einstein Hoo-Hoo Mix) - Lyrics Born - Same !@#$ Different Day
- Lose Yourself - Eminem - 8 Mile (Soundtrack from the Motion Picture)
- White Christmas (1947 Single) - Bing Crosby - White Christmas
- Doors of Your Heart - The English Beat - Beat This The Best of the English Beat
- Roll It Up - The Crystal Method - Tweekend
- Santa Claus Is Comin' to Town - Alvin & The Chipmunks-Merry Christmas from the Chipmunks
- Blue Christmas - Elvis Presley - Elvis Christmas Holiday
- Drop You Off - Dimmer - I Believe You Are a Star
- Walk This Land (Lock Stock Full Length Mix)- EZ Rollers - Storm from the East
- Mambo No.5 (a Little Bit Of...) - Lou Bega
- It Wasn't Me - Shaggy - Hot Shot
- Let It Snow, Let It Snow, Let It Snow - Michael Bubl‚ - Let It Snow!
- Shake It Off (Bad Dream Part II) - Same !@#$ Different Day
- Where Do I Begin - The Chemical Brothers - Dig Your Own Hole
- Santa Claus Is Comin To Town-Frank Sinatra - The Polar Express
- Part Of The Process - Morcheeba
- Shake It Baby - John Lee Hooker - 20th Century Masters The Millenium Collection
- A Holly Jolly Christmas - Burl Ives - Have a Holly Jolly Christmas
- Children - Dave Dorell
- Luv Me, Luv Me - Shaggy & Samantha Cole - Hot Shot
- Wonderful Night - Fatboy Slim - Palookaville
- America, F__k Yeah - Team America - Team America - World Police (Soundtrack from the Motion Picture)
- Mercy - Deffy
- Rudolph the Red Nosed Reindeer - Jack Johnson - This Warm December Brushfire Holiday'sVol1
- Save It For Later - The English Beat - Beat This! The Best of the English Beat
- Long Train Runnin' - The Doobie Brothers
- Disturbia - Rihanna
- Ring of fire - Johnny Cash
- Temperature - Sean Paul
- Kelis - Milkshake
- Gimme The Light - Sean Paul
- Jingle Bell Rock - Straight No Chaser - Holiday Spirits (Bonus Track Version)
- Short Change - EZ Rollers - Weekend World Dance
- If this aint love - Spiller groovejet
- Tequila - Alt and the lost civilisation
- Night Train - Alvino Rey Bachelor Pad Royale Ultra LoungeVol4
- Short Change - EZ Rollers - Weekend World
- Supermassive Black Hole - Muse-Black Holes and Revelations
- The Bay (Feat. C. Holiday and the Poets of Rhythm)
- Callin' Out Remix (Feat. E-40 and Casual)
- Feel Alright - Albino! - Rhino World
- The Beast - Milt Buckner - Bachelor Pad Royale Ultra LoungeVol4
- World Hold On (Extended Radio Edit) - Bob Sinclar - Bob Sinclar
- Superstar - Jamelia
- Steady As She Goes - The Raconteurs - Anywhere Anytime Outdoor Conditioning Alternative
- What Makes The Monkey Dance - Chuck Prophet - No Other Love Rock
- Demon_days - Gorillaz
- Son Of A Preacher Man - Dusty Springfield - Pulp Fiction Soundtrack
- Where Do I Begin - The Chemical Brothers - Dig Your Own Hole Electronic
- Peace On Earth Little Drummer Boy - Bing Crosby & David Bowie-Bing Crosby - Christmas Classics
- Should I - Rihanna
- If You're Into It - Flight of the Conchords - The Distant Future
- The Champs - Tequila
- Ms Jackson - Outkast
- It Must Be Love - Madness - Madness Ultimate Collection
- Jingle Bell Rock - Bobby Helms & The Anita Kerr Singers - 20th Century Masters -The Millennium Collection Season's Greeting (Box Set)
- Return of the mack - 4 strings feat mack
- Sleigh Ride - Ella Fitzgerald - Ella Wishes You a Swinging Christmas
- Stand By Me - Ben E. King
- Just A Gigolo - David Lee Roth
- Chumbawamba - Tubthumping
- Winter Wonderland - Tony Bennett - A Swingin' Christmas (feat. The Count Basie Big Band)
- La bamba - Los Lobos
- Play that funky music - Wild Cherry
- I m So Excited - The Pointer Sisters
- Merry Christmas Baby - Sheryl Crow with Eric Clapton
- Sex bomb - Tom Jones
- Lose Yourself - Eminem - The Single Box Set
- Without Me (Album Version) - Eminem - The Singles BoxSet
- Girls got rhythm - ACDC
- Crazy Seal Cover - Alanis Morissette
- White Wedding (Part 1) - Billy Idol - Greatest Hits
- Block Rockin' Beats - Chemical Brothers
- Music Sounds Better With You - Daft Punk and Stardust
- Every You Every Me - Cruel Intentions - Placebo
- One More Time - Daft Punk
- Fergie - Glamorous
- La La - Ashlee Simpson
- Santa Baby - Cynthia Basinet
- Madonna - Hung Up (Radio Version)
- Monkey Business - Black Eyed Peas - Pump It
- Et c'est parti - Nadya
- Promiscious - Nelly Furtado Ft Timberland
- So What - Pink
- Shut Up and Drive - Rihanna
- Maria Maria (Wyclef Remix) - Santana - Maria Maria
- All Summer Long - The Rock Heroes

- Preservation Hall Jazz Band From New Orleans

Flash CS4 to Flash Media Server 3 publication for RTMP

If you have not worked with Flash before you will probably find that using the Flash Media Server (FMS) is not as easy. Because FMS provides a full-blown application development environment based on Flash there are a lot more options you can choose.
The following tutorial will illustrate a very simple, stripped-down method to publish a video via FMS and should not be taken as the definitive way you should publish your content. For the purposes of this tutorial you should have:
• Licensed copy of Macromedia (Now part of Adobe) Dreamweaver 8 (or higher)
I now recommend Flash CS3 or Flash CS4
• Licensed copy of Macromedia Flash and Flash Video Encoder (version 8 or higher) bundle with Flash CS3 or Adobe Media Encoder bundle with Flash CS4
The basic process for encoding and publishing your video files is:
1. Request an application directory on the servers for your project.
2. Encode your video or audio into the Flash Video format using the Flash Video Encoder. Other tools may work but are beyond the scope of this tutorial.
3. Copy the encoded file(s) to the content directory
4. Publish the URL(s) to your content so clients can find it.

There are two use cases. The most common use case is to request an application directory on the media server(s) the video is supposed to come from. In most of the case team managing Flash Media Server are remote from the development site. In this case most of the time application directory are provided through email or web services which provide HTTP and/or FTP access to upload and later on deliver your files through HTTP or RTMP protocol. Generally, the path will look something like:
\\my.fullyqualidieddomainname.zzz\wmsroot$\\
This is the UNC path to your area and in some cases for company using inter office extranet can be accessed via Windows Explorer or SMB. You can even map a network drive letter to it if you'd like. The portion of the above path is a unique name given to your project and will be used to refer to your content later.
The second use case would be to upload to a local FMS in case you are running Flash CS4 and FMS on the same production machine


Generally speaking.
The first step is to encode your video files. This is done using Adobe Media Encoder in Flash CS4 and this operation is done during the the import video wizard process or running Adobe Media Encoder in stand alone mode.
Open the application and add a new video file to the queue by dragging the source video to the queue window. Then click Settings for each batch entry in case you want to change the video encoding profile.
Finally, you should click the Start Queue button to begin encoding your video(s). Depending on the size and quality of the video and the speed of your computer the encoding process can take a very long time. Once the encoding process is finished you can close Adobe Media Encoder.
Now that your video is encoded most of the time you create a new project, insert an FLVPlayback Component on the stage and then associate a video URL to the video component. This path can be a local path, an http URL or an RTMP url.

Every file should be copied to the application directory on the streaming media server (local test server) as well as remote server.
For this tutorial you should copy the file using a path structure similar to this:
\\myfullyqualidieddomainname.zzz\wmsroot$\myappdir\streams\100k\testvid.flv
You will need to create the streams and 100k directories before you can copy the video file (testvid.flv in this example).
Once you have created the directory structure and copied your video file to the FMS server, you need to create a special file called main.asc at the root of the application directory to tell the FMS server how to serve your content.

The easiest way to do this right now is to use Macromedia Dreamweaver to embed a Flash player into a web page and let it create the main.asc file for you. To do this, open Macromedia Dreamweaver 8 and create a new HTML page:
The most important fields on the Insert Flash Video window that you need to change are:
Video Type: Change this to Streaming Video. If you fail to change this to Streaming Video the .flv video file will be streamed from a web server and not the FMS server. This is called progressive streaming and is not the same as using FMS.
Server URI: rtmp://wms.myfullyqualidieddomainname.zzz /myappdir/100k . This is the base URI that the Flash video player will use to construct the path to the video. Do not add the streams portion of the path to the URI. For example, the physical path might be
\\wms.myfullyqualidieddomainname.zzz /myappdir/streams/100k/myvideo.flv
but the correct rtmp path would be
rtmp://www.myfullyqualidieddomainname.zzz/myappdir/100k/myvideo.flv
Adding the streams portion of the path to the URI like this
rtmp://www.myfullyqualidieddomainname.zzz /myappdir/streams/100k/myvideo.flv
would be incorrect.
It is very important that you use the correct URI or else the stream will not work.
Stream name: This is the name of the video file (vidtest.flv in this case).
The other fields can be left blank or modified as you see fit.

Save the file.
By using Dreamweaver to insert the video player all the hard work of creating the embedded video player and the main.asc file has been done for you. Now all that remains is to copy the main.asc file to the root of your FMS application directory:
\\myfullyqualidieddomainname.zzz \wmsroot$\myappdir\main.asc
and publishing the Dreamweaver site to a web server of your choice (www.myfullyqualidieddomainname.zzz).

The main.asc file is a simple template Flash Action Script document that helps FMS to feed the video file to the client when a request comes in. It must exist at the root of your FMS application directory in order for streaming to work correctly.
You can do a lot within the main.asc file such as security checking and automatic bandwidth detection. Using these advanced features require programming and are beyond the scope of this tutorial. A good place to start looking for further information would be the Adobe Flash Media Server Developer Center. Now all that remains is for you to open the HTML page from your webserver and check that the Flash video plays correctly. If you entered everything correctly and placed the files in the right places then you should see an embedded flash video player in your browser window with your video playing within it. If all you see is a blank HTML page then it's likely that you mistyped the rtmp path or file name incorrectly.

Finally if your Flash Media Server is running under Windows Server 2003 make sure to open port 1935 and port 443.

When the Flash Player encounters the connect() method, it attempts to connect to your FMS following a very specific pattern. It first attempts to connect over port 1935, then port 433, then port 80 and then it automatically attempts to tunnel through by sending rtmp data over http also called RTMPT it turns out the automatic sequence of attempts is fine for many situations however you may find that some users can't make a connection (well , the NetConnection can't) because their firewall (hardware) blocks data from traveling through port 1935. If those users can connect to any website surely they can use port 80 and even if their setup blocks rtmp surely they can use RTMPT over port 80 because its really just plain http ...

To force the flash player to try to connect through a specific port other than the defaults as specified above.....write rtmp as ....my_nc.connect("rtmp:://mydomain.com:8500/video);

Note for Flash Media Server:

It is possible that the default Adaptor.xml file has port 19350.
You can change this port but be carefull not to take
1935 which may result in conflict with the external port which clients (FlashPlayer) uses to connect to FMS, which is also 1935 by default

To change this port goto C:\Program Files\..\"Flash Media Server 3"\conf\_defaultRoot_\adaptor.xml and change 19350 to an other prot

Finally make sure you open this port locally in you FireWall and 1935 from outbound to inboud traffic

The change in adaptor.xml can be done around the following block :

${ADAPTOR.HOSTPORT}


${ADAPTOR.HOSTPORT}


Stop Flash Media Server and Restart the server.

Remember that a user might not connect remotely if the server hosting Flash Media Server is blocking port 1935

If you want to play an MP4/H264 MOV or F4V make sure you add mp4: before the video file name EG:
rtmp://localhost/vod/mp4:480p.f4v

You may be interested to read more about interactive video in Flash CS4 as well

http://younsi.blogspot.com/2008/12/interactive-video-in-flash-using-f4v.html

Tuesday, December 02, 2008

MFC and Standard CRT Runtime Conflict

When linking an exe with many dependencies one useful thing to do to make sure the links paths are correct is to
add /verbose:lib under the Project Property Page under Linker in the Command Line Additionnal Options text field (Visual Studio 2008). Doing this will output the full path of each library loaded by the linker when the linker will build your final binary (EXE, DLL for instance).

It is also important to make sure not to mix MFC and non MFC runtime. Many time even if you are not using MFC you can generate a static library using the MFC runtime in order to avoid those anoying nodefault library line.

A LNK2005 error occurs when the CRT library and MFC libraries are linked in the wrong order in Visual C++
View products that this article applies to.
This article was previously published under Q148652
On This Page

* SYMPTOMS
* CAUSE
* RESOLUTION
o Solution One: Force Linker to Link Libraries in Correct Order
o Solution Two: Locate and Correct the Problem Module
* STATUS
* MORE INFORMATION
o Steps to Reproduce the Problem in Visual C++ .NET

Expand all | Collapse all
SYMPTOMS
When the C Run-Time (CRT) library and Microsoft Foundation Class (MFC) librarie...
When the C Run-Time (CRT) library and Microsoft Foundation Class (MFC) libraries are linked in the wrong order, you may receive one of the following LNK2005 errors:
nafxcwd.lib(afxmem.obj) : error LNK2005:
"void * __cdecl operator new(unsigned int)"(??2@YAPAXI@Z) already
defined in LIBCMTD.lib(new.obj)
nafxcwd.lib(afxmem.obj) : error LNK2005:
"void __cdecl operator delete(void *)"(??3@YAXPAX@Z) already defined
in LIBCMTD.lib(dbgnew.obj)
nafxcwd.lib(afxmem.obj) : error LNK2005:
"void * __cdecl operator new(unsigned int,int,char const *,int)"
(??2@YAPAXIHPBDH@Z) already defined in LIBCMTD.lib(dbgnew.obj)
mfcs40d.lib(dllmodul.obj): error LNK2005: _DllMain@12 already defined in
MSVCRTD.LIB (dllmain.obj)
mfcs42d.lib(dllmodul.obj): error LNK2005: _DllMain@12 already defined in
msvcrtd.lib(dllmain.obj)
Back to the top
CAUSE
The CRT libraries use weak external linkage for the new, delete, and DllMain fu...
The CRT libraries use weak external linkage for the new, delete, and DllMain functions. The MFC libraries also contain new, delete, and DllMain functions. These functions require the MFC libraries to be linked before the CRT library is linked.

Back to the top
RESOLUTION
There are two ways to resolve this problem. The first solution involves forcing...
There are two ways to resolve this problem. The first solution involves forcing the linker to link the libraries in the correct order. The second solution allows you to find the module that is causing the problem and to correct it.

Note The following steps are based on Visual C++ 6.0.
Back to the top
Solution One: Force Linker to Link Libraries in Correct Order

1. On the Project menu, click Settings.
2. In the Settings For view of the Project Settings dialog box, click to select the project configuration that is getting the link errors.
3. On the Link tab, click to select Input in the Category combo box.
4. In the Ignore libraries box, insert the library names (for example, Nafxcwd.lib;Libcmtd.lib).

Note The linker command-line equivalent in /NOD:.
5. In the Object/library modules box, insert the library names. You must make sure that these are listed in order and as the first two libraries in the line (for example, Nafxcwd.lib Libcmtd.lib).

To set this option in Visual C++ .NET, read the "Setting Visual C++ Project Properties" online help topic.
Back to the top
Solution Two: Locate and Correct the Problem Module
To view the current library link order, follow these steps:

1. On the Project menu, click Settings.
2. In the Settings For view of the Project Settings dialog box, click to select the project configuration that is getting the link errors.
3. On the Link tab, type /verbose:lib in the Project Options box.
4. Rebuild your project. The libraries will be listed in the output window during the linking process.

Back to the top
STATUS
This behavior is by design.
This behavior is by design.
Back to the top
MORE INFORMATION
When you use the MFC libraries, you must make sure that they are linked before...
When you use the MFC libraries, you must make sure that they are linked before the CRT library is linked. You can do this by making sure that every file in your project includes Msdev\Mfc\Include\Afx.h first, either directly (#include ) or indirectly (#include ). The Afx.h include file forces the correct order of the libraries, by using the #pragma comment (lib,"") directive.

If the source file has a .c extension, or the file has a .cpp extension but does not use MFC, you can create and include a small header file (Forcelib.h) at the top of the module. This new header makes sure that thelibrary search order is correct.

Visual C++ does not contain this header file. To create this file, follow these steps:

1. Open Msdev\Mfc\Include\Afx.h.
2. Select the lines between #ifndef _AFX_NOFORCE_LIBS and #endif //!_AFX_NOFORCE_LIBS.
3. Copy the selection to the Windows Clipboard.
4. Create a new text file.
5. Paste the contents of the Clipboard into this new file.
6. Save the file as Msdev\Mfc\Include\Forcelib.h.


APPLIES TO

* Microsoft Visual C++ 2008 Express Edition
* Microsoft Visual C++ 4.0 Standard Edition
* Microsoft Visual C++ 4.1 Subscription
* Microsoft Visual C++ 5.0 Enterprise Edition
* Microsoft Visual C++ 6.0 Enterprise Edition
* Microsoft Visual C++ 5.0 Professional Edition
* Microsoft Visual C++ 6.0 Professional Edition
* Microsoft Visual C++, 32-bit Learning Edition 6.0
* Microsoft Visual C++ .NET 2002 Standard Edition
* Microsoft Visual C++ .NET 2003 Standard Edition

http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q148652