Monday, June 14, 2010

HTTP SMOOTH STREAMING AND FRAGMENTED MPEG-4































































































































  Microsoft
IIS Smooth Streaming
Adobe
Flash Dynamic Streaming
Apple
HTTP Adaptive Bitrate Streaming
Cost per Streaming Server Free download1 + $469 for OS2$45003 + OS cost4Cost of Web server5 + segmenter OS6
On-demand & Live Streaming
Live Streaming DVR7Pause & Seek
Streaming ProtocolHTTPRTMPHTTP
Scalability via HTTP Edge Caches 
Stateless Server Connection8 
Supported PlatformsSilverlight, Xbox 360, other Smooth Streaming-compatible players, and iPhone OS 3.09Flash Player 10, AIRiPhone OS 3.0, devices running QuickTime X
DRM Support for Live, VODPlayReadyNone10None
DRM ASP & Encoder ISV Support  
Interoperable DRM (DECE Approved)11  
Real-time Client and Server Logging12  
Programmable Client Side Switching Logic 
Live In-Stream Ad Integration   
Built-in Analytics Framework  
Delivery to Mobile Devices  
Native 64-bit Server Support  
Media ContainerMPEG 4 – Part 12 (Fragmented MP4)MPEG 4 – Part 12 (MP4), FLVMPEG-2 TS
Supported Video CodecsCodec Agnostic (currently supports VC-1 Advanced Profile & H.264 Baseline, Main, and High)H.264 Baseline, Main, and High; VP6H.264 Baseline Level 3.0
Supported Audio CodecsCodec Agnostic (currently supports WMA & AAC)AAC, MP3MP3, HE-AAC, AAC-LC
Maximum Bit RateNo limitNo limit1.6 Mbps
Default Fragment Length2 secondsn/a10 seconds
End-To-End LatencyAs low as 1.5 seconds (configurable)6 seconds30 seconds13
File Type on ServerContiguousContiguousFragmented
Client Programming PlatformMicrosoft .NET FrameworkAdobe ActionScriptObjective-C


Footnotes...
1 IIS Smooth Streaming is part of the free IIS Media Services download for Windows Server 2008 and Windows Server 2008 R2 .
2 Runs on any edition of Windows Server® 2008 or Windows Server 2008 R2 including Windows® Web Server, which has a list price of $469.
3 Assumes use of Adobe Flash Media Interactive Server to support Pause, Seek, Authentication, and higher scalability
4 Requires Windows Server 2003 SP2, Windows Server 2008, Red Hat® Enterprise Linux® 4, or Red Hat Enterprise Linux 5.2.
5 Runs on any Web server. Also requires the Apple streaming segmenter – see next note.
6 The Apple stream segmenter is a utility that receives encoded MPEG2-TS and breaks it into 10 second “chunks” for delivery. This free download requires an Intel-based Mac, with a Mac Pro or an XServe having two Ethernet network interfaces recommended.
7 Full DVR features include Pause, Seek, Fast Forward (e.g., 2x, 5x playback speeds), Fast Rewind, Go To Live, Instant Replay, and Slow Motion.
8 A stateless (non-persistent) connection between server and client increases scalability and allows seamless failover or rollover between load-balanced servers.
9 Support for adaptive streaming to the Apple iPhone from IIS Media Services 4 was announced on October 18th, 2009.
10 Future support was announced Sept. 10, 2009. Proposed availability is H1 CY10 for delivery to a future version of Adobe® Flash® Player and Adobe AIR™.
11 Digital Entertainment Content Ecosystem (DECE, LLC) is a consortium of major Hollywood studios, consumer electronics manufacturers and retailers, network hardware vendors, systems integrators and Digital Rights Management (DRM) vendors chartered to develop a set of standards for the digital distribution of premium Hollywood content.
12 Real-time logging for Silverlight applications using the IIS Advanced Logging extension.
13 Encoded live streams are processed by the Apple stream segmenter. This intermediate step results in increased latency for live delivery.

http://www.iis.net/download/SmoothStreaming
http://www.iis.net/download/SmoothFormatSDK



It's an adaptive streaming technology combining IIS and Silverlight. The core file format is fragmented MPEG-4, where each "chunk" of video is transmitted as a moof fragment starting with a Closed GOP, via a single HTTP request. A chunk will typically be 2-4 seconds long. Audio can be either muxed into the same chunk, or be provided in a parallel series of chunks to enable multilangauge audio or what have you.

The file format used is straight-up ISO fragmented MPEG-4, using XML and SMIL manifests to indicate what bitrates in the file set and where the fragments in those file are. We're not trying to make up a new file format here; just take advantage of existing technologies in a novel way.

Lots of other details to be had, including this roundup of links:
http://on10.net/blogs/benwagg/Beta-Release-of-Smooth-Streaming/

More importantly, zambelli had a great post showing how Microsoft is using the file format:
http://alexzambelli.com/blog/2009/02/10/smooth-streaming-architecture/

And we now have some sample files up that I encoded, including the media files and manifest files:
http://on10.net/blogs/benwagg/Big-Buck-Bunny-Smooth-Streaming-sample-for-download/

(if you're curious how it was encoded)
http://on10.net/blogs/benwagg/Behind-the-Scenes-at-SmoothHDcom-Encoding-Big-Buck-Bunny/

The current samples are VC-1 and WMA 10 Pro, but we'll be supporting H.264 and AAC-LC payloads with the next version of Silverlight later in 2009.

So, if you start seeing these *.ismv files out there, just know that they're
Fragmented MPEG-4
With VC-1 or H.264 for video
WMA 10 Pro or AAC-LC for audio


For apple http streaming, a tool called mediastreamsegmenter will take an MPEG2 transport stream and split it into smaller size chunk. Mediastreamsegmenter documentation is available here

Tuesday, June 08, 2010

HTM5 Video Tag using QuickTime

Very Interesting article about HTML 5 VIDEO TAG using SAFARI

http://www.streamingmedia.com/Articles/Editorial/Featured-Articles/Note-to-Apple-Safari-%26-QuickTime-are-Not-Web-Standards-67645.aspx

Thursday, June 03, 2010

My First iPhone application

Here's what I have in the (default) login keychain:
• A valid intermediate CA: "Apple Worldwide Developer Relations Cerfitication Authority"
• A valid cert named "iPhone Developer: FirstName LastName" issued by the aforementioned CA
• A RSA 2048-bit private and public key, each named "FirstName iPhone Dev Key"
The keychain application is available through Application/Utilities/Keychain.app.
Once your certificate has been deployed you should see under My Certificate something like iPhone Developer: FirstName LastName.
So far, so good. Meanwhile, on the Program Portal, you need to:
• Registered your iPod touch
• Add an App ID (com.mycompany.myapp). I usually create one for each app keeping the com.mycompany the same.
• Create a Development Provisioning Profile for the aforementioned App ID, device and certificate.

A Provisioning Profile is a collection of digital entities that uniquely ties developers and devices to an authorized iPhone Development Team and enables a device to be used for testing. A Development Provisioning Profile must be installed on each device on which you wish to run your application code. Each Development Provisioning Profile will contain a set of iPhone Development Certificates, Unique Device Identifiers and an App ID.

Devices specified within the provisioning profile can be used for testing only by those individuals whose iPhone Development Certificates are included in the profile. A single device can contain multiple provisioning profiles.

Click here to access the Developer Portal and then
click on iPhone Provisioning Portal on the top right corner.
In the ‘Provisioning’ section of the Portal, click on iPhone Provisioning Portal. Team Admins should click 'Add' on the Development tab. Enter a name for the provisioning profile.
Specify which devices will be associated with the provisioning profile. You must specify a device in order for that device to utilize the provisioning profile. If a device's UDID is not included in the provisioning profile the profile and your application cannot be installed on that device.
Specify which iPhone Development Certificates will be associated with the provisioning profile. You must specify an iPhone Development Certificate in order for the application code signed with that same certificate to run on the device.
Specify a single App ID for the Development Provisioning Profile. Each Development Provisioning Profile can specify only ONE App ID, therefore, if you have applications requiring different Keychain access, you will need to create a separate Development Provisioning Profile for each of those applications. If you are installing a suite of applications with the same required Keychain access or have a set of applications not requiring access to the Keychain, use an App ID containing the wild-card asterisk character to build all of your applications.
Click ‘Submit’ to generate your Development Provisioning Profile.

NOTE: On the Portal, the Certificate only shows as "FirstName LastName" and not "iPhone Developer: FirstName LastName".

Installing a Development Provisioning Profile
All Team Agents, Admins and Members can download a Development Provisioning Profile from the ‘Provisioning’ section of the Portal after it has been created. Only those developers whose Apple device IDs and iPhone Development Certificates are included in the provisioning profile will be able to install and test their application on their device.

In the ‘Provisioning’ section of the Provisioning Portal, click the download button next to the desired provisioning profile.
Drag the downloaded file onto the Xcode application icon in the dock or into the ‘Organizer’ window within Xcode. This will automatically copy the .mobileprovision file to the proper directory. Alternatively, you can drag the .mobileprovision file onto the iTunes icon in the dock or copy the file to ‘~/Library/MobileDevice/Provisioning Profiles’. If the directory does not exist you will need to create it. Click on the ‘+’ button in the Provisioning section of the Organizer window to install your .mobileprovision file.
I recommend to create the Library/MobileDevice/Provisioning Profiles else after each download you will end up with all provisioning profile under you Download Folder.

Now, on to the home stretch! In Xcode 2.2.1, you must have:
• REMOVED my build directory (before launching Xcode with said project - OPTIONAL) or just perform a full project clean using XCode for the project in question .
• Docked/synced your iPod touch
• Dragged-and-dropped your downloaded provisioning profile into the appropriate spot in the Organizer. It's not grayed out, and the profile is also in your Library in the expected location.
• Chosen "iPhone Device 2.2.1" as the active SDK.
• Under Targets, select your app, then picked Get Info.
• Under the Build tab, verified Base SDK is set to "iPhone Device 2.2.1". For Code Signing Identity, Any iPhone OS Device, there is a value of "iPhone Developer" - fine.
• Under the Properties tab (right click on Targets then select Get Info, change the Identifier to match my App ID com.mycompany.myappid. Be careful not to add any extra leading space by mistakes (EG copy past from the web) Xcode is too stupid to remove spaces.... lame...

Thursday, May 13, 2010

RTMP PLAYER SERVER AND SWF2VIDEO

The most famous client RTMP is the Adobe Flash Player that can do streaming video and audio from RTMP servers.

Adobe Open Source Media Framework
http://opensource.adobe.com/wiki/display/osmf/Open+Source+Media+Framework

Moyea Web Player version 2. 0 with RTMP Stream Plugin supports playback of live video streaming and SMIL presentations and streaming video from RTMP servers.
http://www.moyeasoft.com/web-player/web-player-kits.html

JW Player
http://www.longtailvideo.com/

Flowplayer RTMP as well.
http://flowplayer.org/

Sublime Video Player
http://jilion.com/

RTMP server software

The only full RTMP server application is Adobe Flash Media Server, Onlinelib VCS Video Communication Server (including iPhone Support), Wowza media server and WebORB Integration Server (free of charge and available. NET, Java and ColdFusion), both commercial and closed source implementations. There is a reverse engineered open source project called Red5, which aims to produce a feature-complete written in Java. Finally my current favorite is C++ RTMP Server http://www.rtmpd.com/

SWF2Video

Moyea SWF to Video Converter V3.2
http://www.moyeasoft.com/news/update_081027.html

Wednesday, April 28, 2010

Software for 2D-3D conversion - Avatar follower

StereoTracer is designed for creating 3D image out of one 2D image by means of «depth-map». The depth-map (disparity image or Z-image) serves to convert a two-dimensional image into a three-dimensional one. In the depth-map the gray color gradation shows each pixel's distance from the viewer. The lighter area in the depth-map correspond to the areas nearer to the viewer, the darker ones correspond to more distant areas.

A «depth-map» can be created from source one 2D image or stereopair automatically in StereoTracer. "How to" is available here.



StereoTracer generates a number of images which all have a slightly different viewing angle. This process models shooting of a scene from different points across the horizontal line. Resultant series of images is used for creating 3D (stereo) image by method of anaglyph encoding or making multi-view 3D lenticular picture in Triaxes 3DMasterKit or other lenticular generating application. Also a series of frames can be exported into a movie clip (AVI or animated GIF) and used for presentation purposes.


http://triaxes.com/

Monday, April 26, 2010

Sublime HTML5 HD Video Player

All tests run on the following hardware:

Model Identifier: MacPro3,1
Processor Name: Quad-Core Intel Xeon
Processor Speed: 3 GHz
Number of Processors: 2
Total Number of Cores: 8
L2 Cache: 12 MB
Memory: 8 GB
Bus Speed: 1.6 GHz

For browsers, the latest release browser versions were used. For Flash Player, I used the latest labs release (Flash Player 10.1 Beta 3 : 10,1,51,95).

Mac OS X Versions
=================

Mac OS X 10.6.2
Google Chrome 5.0.307.9 beta
Safari 4.0.4 (6531.21.10)
Firefox 3.6
Flash Player MAC 10,1,51,95

Windows 7 Versions
==================

Windows 7 7600
Google Chrome 4.0.249.89 (38071)
Safari 4.0.4 (531.21.10)
Firefox 3.6
Internet Explorer 8.0.7600.16385
Flash Player WIN 10,1,51,95

Sublime HTML 5 HD Video Example
===============================

Mac Windows
Google Chrome 85% 24%
Safari 21% 104%
Firefox 85% 80%
Internet Explorer NA Did Not Work


http://jilion.com/sublime/video

An other interesting HTML5 Video Sample page (Opera)

http://annevankesteren.nl/2008/fronteers-html5-video

And Finally a future yet to be release HTML5 book

http://diveintohtml5.org/video.html

Other interesting benchmark

http://themaninblue.com/writing/perspective/2010/03/22/


Conclusion HTML5 is catching up...

Monday, April 05, 2010

Android WebView

WebView allows you to create your own window for viewing web pages (or even develop a complete browser). In this tutorial, you'll create a simple Activity that can view and navigate web pages.




1.Create a new project named HelloWebView.
2.Open the res/layout/main.xml file and insert the following:


android:layout_width="fill_parent"
android:layout_height="fill_parent"/>

3.Now open the HelloWebView.java file. At the top of the class, declare a WebView object:

WebView mWebView;

Then use the following code for the onCreate() method:

public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mWebView = (WebView) findViewById(R.id.webview); mWebView.getSettings().setJavaScriptEnabled(true); mWebView.loadUrl("http://www.thomasyounsi.com");
}
This initializes the member WebView with the one from the Activity layout;
requests a WebSettings object with getSettings();
and enables JavaScript for the WebView with setJavaScriptEnabled(boolean).
Finally, an initial web page is loaded with loadUrl(String).

4.Because this application needs access to the Internet, you need to add the appropriate permissions to the Android manifest file.
Open the AndroidManifest.xml file and add the following as a child of the element:


What is very powerful with WebView is that you can use a two way communication between the content which is display in the web view and the Java application. This can be accomplished by using JavaScript running inside the WebView calling out Java code to get the updated fragment for the HTML div bloc that require to be use to update the content running inside the view. This means you can use HTML div to layout your content and expand/collapse a div based on user action. The content can come from a remote database, a web service or as a JSON Object.




http://www.youtube.com/watch?v=Ex7YsQ_YH2U

Apple iPad / Microsoft Surface

In 2007, Microsoft annonced Microsoft Surface

Microsoft Surface represents a new category of computing. With capabilities like direct interaction, multi-touch, multi-user, and object recognition, Microsoft Surface computing is a unique and cutting edge platform for application development.

The Microsoft Surface platform goes beyond the capabilities of its core operating system foundation running Windows Vista SP1, yet it keeps the development process simple. The Microsoft Surface SDK 1.0 SP1 provides all the controls a developer needs to create innovative experiences on Microsoft Surface. And with the new capabilities that come with Service Pack 1, application development is easier than ever with new WPF controls and API enhancements that give developers more control, flexibility, and efficiency in creating applications.

Plus, in order to enable a broad developer audience, Microsoft Surface is compatible with familiar programs and tools developers use today, such as:

Microsoft® Windows Presentation Foundation (WPF)
Microsoft® XNA™
Microsoft® Visual C#® 2008 Express Edition
Microsoft® Visual Studio® 2008 SP1
Microsoft® Expression® Studio 2
Microsoft® Expression Blend™ 2

http://www.microsoft.com/surface/en/us/Pages/Product/Platform.aspx

In 2010 Apple launched the iPad.

The sdk is the same than the sdk used by the Apple iPhone

http://developer.apple.com/ipad/sdk/

The specs have been posted on Apple's web site.

http://www.apple.com/ipad/specs/

Screen size = 1024x768 and my interest will go immediately for TV and video

Support for 1024 by 768 pixels with Dock Connector to VGA Adapter; 576p and 480p with Apple Component AV Cable; 576i and 480i with Apple Composite AV Cable
H.264 video up to 720p, 30 frames per second, Main Profile level 3.1 with AAC-LC audio up to 160 Kbps, 48kHz, stereo audio in .m4v, .mp4, and .mov file formats; MPEG-4 video, up to 2.5 Mbps, 640 by 480 pixels, 30 frames per second, Simple Profile with AAC-LC audio up to 160 Kbps, 48kHz, stereo audio in .m4v, .mp4, and .mov file formats; Motion JPEG (M-JPEG) up to 35 Mbps, 1280 by 720 pixels, 30 frames per second, audio in ulaw, PCM stereo audio in .avi file format.

iPad Price starting at 499$

It would be nice to see microsoft coming with a small tablet "surface capable" 1280x720 P resolution where people could put there camera or phone in place on top of the tablet running an application in "surface application mode" to exchange and share contents (picture/music/video).

A commercial Microsoft Surface unit is $12,500 (unit only), whereas a developer Microsoft Surface unit costs $15,000 and includes a developer unit, five seats and support. However, Microsoft said it expects prices to drop enough to make consumer versions feasible in 2010. Microsoft would have to come with a price 20x lower than the actual Microsoft Surface unit to compete with the iPad. I think it is time to come up with a product...

Thursday, March 18, 2010

how to Install Apache, PHP, MySQL and phpMyAdmin on Windows XP

This tutorial will show you step-by-step how to install:
Apache 2
PHP 5
MySQL 5
phpMyAdmin on Windows


For those who want to install an all in one solution on Windows I recommend
WampServer

http://www.wampserver.com/en/

The WampServer package is usually delivered with the latest
releases of Apache, MySQL and PHP.

Once WampServer is installed, you can add other releases by downloading them on this
website. They will then appear in the WampServer menu and you will be able to
switch releases with a simple click.

Each release of Apache, MySQL and PHP has its own settings and its own files (datas
for MySQL).

Using wampserver

The “www” directory will be automatically created (usually c:\wamp\www)

Create a subdirectory in “www” and put your PHP files inside.

Click on the “localhost” link in the WampSever menu or open your internet browser and
go to the URL : http://localhost



Et Voila!


Double click on the downloaded file and just follow the instructions. Everything is
automatic. The WampServer package is usually delivered with the latest
releases of Apache, MySQL and PHP.
Once WampServer is installed, you can add other releases by downloading them on this
website. They will then appear in the WampServer menu and you will be able to
switch releases with a simple click.
Each release of Apache, MySQL and PHP has its own settings and its own files (datas
for MySQL).
Using wampserver
The “www” directory will be automatically created (usually c:\wamp\www)
Create a subdirectory in “www” and put your PHP files inside.
Click on the “localhost” link in the WampSever menu or open your internet browser and
go to the URL : http://localhost

Et Voila!

or XAMPP

http://www.apachefriends.org/en/xampp-windows.html

The Apache Server combined with the power of PHP, MySQL, and phpMyAdmin, creates one of the best possible development environments for a web programmer. Getting everything properly configured can take 20-30 minutes. And it can work on a non expensive OS such as Windows XP or Windows 7 Home Edition.

Installing Apache:
Follow the steps carefully.

1 Go to http://httpd.apache.org/download.cgi and download "Win32 Binary (MSI Installer): apache_2.2.4-win32-x86-no_ssl.msi" to your desktop.

Note: Make sure that you download Apache version 2.2.4 (Win32 Binary MSI Installer)!

2 Double click "apache_2.2.4-win32-x86-no_ssl.msi", and if prompted, click "run".

3 An installation wizard will appear:



Click "Next".

4 The next page contains the terms of agreement. Select "I accept", and click "Next".

5 Read about the Apache Server, and click "Next"

6 The next screen will ask you for specific server information. Enter the values seen below:



Click "Next".

7 On the next screen, select "Typical Installation" and click "Next".

8 Click "Next".

9 Click "Install".

10 Open up Internet Explorer and type in "http://localhost". If you see a page that says "It works!" then the Apache server has been installed successfully.

Note that if you install Flash Media Server an other instance of Apache will be installed which could cause conflict on the following default Apache server. It would be nice if the FMS team could handle this nicely in their installer....



A few notes on your Apache Server Configuration:
Apache is installed by default in your "C:\Program Files\Apache Software Foundation\Apache2.2" directory.

Inside that directory there is a folder called "htdocs" (matching of your \www\ or \public_html\ directory on a unix system). You can develop your applications inside this folder and access them by going to http://localhost/my_file_name.html

The Apache Configuration settings are defined in a file named "httpd.conf" located in the "conf" directory. Do not attempt to change these settings unless you know what you're doing.

Installing PHP:

Next we will be installing PHP version 5. Follow the steps carefully.
1 Go to http://www.php.net/downloads.php and download the "PHP 5.2.0 zip package" to your desktop. (Be patient while it downloads, the ZIP file is over 9MB!)

Note: Make sure that you download the PHP 5.2.0 zip package! The rest of the tutorial is written using this version.

2 Create a new folder called "php" in your C Drive. Copy the "php-5.2.0-Win32.zip" file to there ("C:\php") and extract it using WinZIP or a similiar program.


3 Your "C:\php" directory should now look like:



4 Next copy the "php.ini-dist" file from "C:/php/" to "C:/WINDOWS" and rename it to "php.ini". This is your PHP configuration file. We'll come back to this later.

5 Now it's time to tell Apache that PHP exists. Open up your Apache configuration file ("C:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf") in notepad and add these four lines to the bottom of the "LoadModule" section:

LoadModule php5_module "c:/php/php5apache2_2.dll"
AddHandler application/x-httpd-php .php
# configure the path to php.ini
PHPIniDir "c:/windows"

6 In your "htdocs" directory, create a file called "info.php". Open it in notepad and add this line of code to it:



7 Restart your Apache Server for the changes to take effect:

Start > All Programs > Apache HTTP Server 4.2.4 > Control Apache Server > Restart
or faster use the Apache Service Monitor seating in the tray icon bottom right bar on Windows XP

8 Open up Internet Explorer and type in: http://localhost/info.php. If your browser takes you to a page that looks like this, then PHP has been installed successfully!



Modifying your PHP Configuration File:

1 Your PHP configuration (php.ini) file is located in "C:/WINDOWS/php.ini". You can modify it with notepad or a similiar text editor. My favorite is Notepad++


2 Open it up and find the line that says:


extension_dir = "./"


and change it to


extension_dir = "C:\php\ext"


Find the line that says:


;session.save_path = "/tmp"


and change it to


session.save_path = "C:\WINDOWS\temp"


Installing MYSQL:

Next we will be installing MySQL version 5.
Follow the steps carefully.

1 Go to http://dev.mysql.com/downloads/mysql/5.0.html#downloads and download the "Windows (x86) ZIP/Setup.EXE (version 5.0.27)" to your desktop. (To do this you'll need to register an account with MySQL.)

2 Once "mysql-5.0.27-win32.zip" has finished downloading, you can extract it using WinZIP or a similiar program.

3 Once extracted, double click on the "Setup.exe" file. An installation wizard will appear.



Click "Next".

4 Select "Typical" Installation and click "Next".

5 Click "Install". (Be patient, this can take up to several minutes).

6 The next screen will ask you to "Sign Up". Select "Skip Sign-Up" for now.

7 The next screen will tell you that the installation wizard is complete. Make sure that the "Configure the MySQL Server now" field is checked before clicking "Finish".



8 The MySQL Server Instance Configuration Wizard should appear. Click "Next".

9 Select "Detailed Configuration" and click "Next".

10 Select "Developer Machine" and click "Next".

11 Select "Multifunctional Database" and click "Next".

12 Click "Next".

13 Select "Decision Support (DSS)/OLAP" and click "Next".

14 Select "Multifunctional Database" and click "Next".

15 Make sure "Enable TCP/IP Networking" is checked, the Port Number is set to "3306", and "Enable Strict Mode" is checked. Click "Next".

16 Select "Standard Character Set" and click "Next".

17 Check "Install As Windows Service", set the Service Name to "MySQL", and check "Launch the MySQL Server automatically". Make sure that the "Include Bin Directory in Windows Path" is NOT checked. Click "Next".

18 On the next screen, check the box that says "Modify Security Settings". Enter a password for the default "root" account, and confirm the password in the box below. Do NOT check the boxes "Enable root access from remote machines" or "Create An Anonymous Account". Click "Next".

19 Click "Execute". (This may take a few minutes. Be patient).

20 Click "Finish".

21 To test if MySQL was installed correct, go to: Start > All Programs > MySQL > MySQL Server 5.0 > MySQL Command Line Client. The MySQL Command Line Client will appear:



22 It will ask you for a password. Enter the password you created in step 18. (If you enter an incorrect password MySQL will automatically close the command line)

23 Next, type in the commands shown below: (shown in blue)



If you don't get any errors, and it returns the information shown above, then MySQL has been successfully installed! Next we will need to configure PHP to work with MySQL.

Configuring PHP to work with MySQL:

Now that both PHP and MySQL are installed, we have to configure them to work together.


1 Open up your php.ini file (C:/WINDOWS/php.ini) and find the line:


;extension=php_mysql.dll


To enable the MySQL extension, delete the semi-colon at the beginning of that line.


2 Next we must add the PHP directory to the Windows PATH. To do this, click: Start > My Computer > Properties > Advanced > Environment Variables. Under the second list (System Variables), there will be a variable called "Path". Select it and click "Edit". Add ";C:\php" to the very end of the string and click "OK".


3 Restart your computer for the changes to take effect.


4 Create a new file in your "htdocs" directory called "mysql_test.php".


5 Copy the following code into "mysql_test.php" and click save. (Make sure to replace the MYSQL_PASS constant with the MySQL Password you specified during the MySQL installation).




6 Open up Internet Explorer and type in "http://localhost/mysql_test.php". If the "mysql_test.php" page returns something similiar to:


ID: 1
Name: John


Then PHP & MySQL have been successfully configured to work together. Congratulations! The next and final step is to install phpMyAdmin.

Installing phpMyAdmin:

Now that both Apache, PHP and MySQL are installed, we can install phpMyAdmin, a tool that allows you to easily manage your MySQL databases.
1 Go to http://www.phpmyadmin.net/home_page/downloads.php and download "english.zip" under the phpMyAdmin 2.9.2 section to your desktop (I assume that since you are reading this article that you understand English).


2 Create a new folder called "phpmyadmin" in your "htdocs" directory. Extract the contents of the "phpMyAdmin-2.9.2-english.zip" ZIP file here. Your C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\phpmyadmin" directory should now look like:




3 Create a new file in the "phpMyAdmin" directory (above) called "config.inc.php". Place this code inside it and be sure to replace "YOUR_PASSWORD_HERE" (in both places below) with your MySQL Password:




4 phpMyAdmin has now been successfully installed! To use it, open up Internet Explorer and type in "http://localhost/phpmyadmin". This will bring you to the main phpMyAdmin page. Note is is always recommended not to install admin tool in default location if deployed on a server open to internet access for security reason.

Enjoy using Apache, PHP, MySQL, and phpMyAdmin!

Tuesday, March 16, 2010

My Favorites Flash AS3 Component/FLA Part II

3D BUSINESS CARD SLIDE SHOW AS3


This is a XML controlled 3D slideshow, very easy to use and very customizable. It uses the 3D functions of Flash Player 10 (you need to install it if you do not have it); you need Flash CS4 if you want to open the FLA file!

This component can be used as a simple image/product slideshow, a 3d banner rotator or a business card slide show.
Settings you will find in the XML file:
- component width and height and card holder width and height
- mask width and height (you can display one image at a time or multiple images at once)
- transition times and types
- space between the cards
- arrows positioning, description positioning and transparency and also description text (html text)

http://activeden.net/item/3d-business-card-slide-show-as3/91738



AMAZING TWO LEVELS ACCORDION MENU AS3

This is an AS3 vertical accordion menu, XML driven and resizable. It has a structure of two levels. Each main item can have a submenu or it can open a link. For each item you can set a title and a HTML formatted description.
XML Settings:
- component width and height
- main item width and minimum height
- animation time
- items title and description
- items thumbnail image (optional)
- items link and link target

http://activeden.net/item/amazing-two-levels-accordion-menu-as3/88453



HORIZONTAL RESIZABLE ULTRA MENU AS3

This amazing menu can host an virtually UNLIMITED number of items organized on an unlimited number of levels.

The menu can auto-hide or stay visible, all colors can easily be changed in the xml file and.

It also supports scrolling, so if you have a lot of menu items (on any level) they will be scrolled if they don’t fit inside the display area.

This menu is ideal for displaying a great amount of menu items in a well structured manner.

It can open urls or trigger actions in flash !

Each level can have a style (colors, spacing etc.) assigned by specifying the xml corresponding to the specific style !
Settings you can change in the XML file (35+):
- auto-hide on/off
- open sub menu on click or on mouse-over
- open direction down or up
- auto-hide wait time
- sub-level open speed, transition time and type (ex. easeOutQuad)
- sub-level close speed, transition time and type
- use temporary display bar for auto-hide on/off, bar height, hit zone height, bar text (ex. “Move over to open”), bar background color, text color, arrow color
- menu width (can be set to 0 in order to make it expand to the entire stage)
- horizontal item spacing
- menu alignment
* Each style has the following options (each level can have a style xml assigned) :
- background colors for normal, mouse over and selected states
- delimiter width
- delimiter color
- button height
- text padding
- text font size
- text colors for normal, mouse over and selected states
- alignment for the level (left/center/right)
* Each menu item has the following options :
- menu item text (display label)
- action type (link or actionscript)
- url and target for link
- gotoandstop/gotoandplay and frame label/number for action

http://activeden.net/item/horizontal-resizable-ultra-menu-as3/88606




AS3 BUTTON CLASS



* Item Details
* Discussion

3comments
AS3 Button Class

by Flactor

Very easy to use class! you just need to use the interface to make the button and copy the code provided with the interface, then open a new fla file and paste the code in the first frame actions panel and import the needed font in the library and finished! Using this class you could arrange unlimited number of buttons, horizontally or vertically in 3 styles (simple, gradient and web 2.0). Complete documentation with examples and interface are available in the source file.

Could be used both in “time line” and “document Class”.

http://activeden.net/item/as3-button-class/81946



iButton TOGGLE SLIDER

Update: the sliders can now be dragged ON or OFF using the mouse.

All 100% vector graphics.

Easy to implement into your flash file. Just copy & paste!

Customizable settings:

* the text displayed for the ON and OFF states
* the easing used for the sliding animation
* the duration of the sliding animation
* the default state (ON or OFF )
* a callback function to run when the button has been toggled.

Font used on button: Lucida Gr

http://activeden.net/item/ibutton-toggle-slider/78111



POWERFULL FLASH ACCORDION MENU UNLIMITED LEVELS V3

This flash component allows you to create accordion menu’s and combobox’s in a few minutes and customize every detail without opening the flash file, because everything is xml driven.

As it says in the title, using this component you can create accordion menu’s with as many levels as you set in the xml file, there is no limit. Also you can customize each level individually, allowing you to create complex menus and desings.

In this new version you can set 4 different actions for the button, such as launch a link, go to a frame, load an image/swf or call a function.

Also this menu includes some nice API features that allows you to manipulate/navigate the menu dynamically.

http://activeden.net/item/powerful-flash-accordion-menu-unlimited-levels-v3/75262




CLEAM MEDIA PLAYER BUTTONS

Simple and easy to use and modify.

A collection of media player buttons,clean and modern, glossy, completely resizable vectors.

Just copy/paste or drag the buttons into your own project. It’s that easy.

The Zip contains an CS4 Fla, CS3 Fla, CS AI file and CS EPS file. I have included the Illustrator vectors in the pack.

For additional help contact me here at Graphic River or you can find my email address in the help file that comes with this product.

Tags: media player, buttons, player, style, clean, glossy, gloss, play, pause, stop, next, previous, forward, backward, star

http://activeden.net/item/clean-media-player-buttons/69078




AS3 WEB 2.0 BUTTON CLASS


Features:

Label, Label Color, Label Size, Font name, Colors of button layers(up, over, down), Width, Height, x Margin, y Margin, corner curves, ButtonMode, dropShadow, Activeness.

Can be used both in Document Class and time line.

http://activeden.net/item/as3-web-20-button-class/63030



THE SPINE XML IMAGE MENU

The Spine XML Image Menu is an image based menu with lots of flexibility that is straight-forward and simple, but also fun and creative. It scales the menu image items on mouse over and you can also choose to have a tooltip. On click, the menu will link out to a URL . If the stage is wider than the menu, the menu will be centered, otherwise, if the menu is wider than the stage, it will scroll left to right on the mouse’s horizontal position. It works great as a products menu that would link out to the specific product page.
The menu is XML driven and you can set the following things in the XML file:
– the background color
– the width of the menu items
– the height of the menu items
– the thickness of the border on mouse over of the menu items
– the amount of scaling on mouse over of the menu items
– whether the tooltip is on or off
– the background color of the tooltip
– the background transparency of the tooltip
– the image/SWF path for each of the menu items
– the tooltip text for each of the menu items
– the link URL for the on click of each of the menu items
– the link target for the on click of each of the menu items
So you can have as many images/SWFs as you want and they can be any size you want!

http://activeden.net/item/the-spine-xml-image-menu/50142




XML VERTICAL ACCORDION

XML Accordion generated from XML .

Each item in the xml has a title and a content attribute, allowing the flash file to load external contents into each item. The example above loads .jpg images, but these can be .swf, .png, .gif. (Basically any format allowed by Loader.load())

* Easy do edit xml file
* add as many items as your site can handle
* change which item opens by default
* clearly labeled layers and symbols for easy editing

http://activeden.net/item/xml-accordion/36743




HORIZONTAL XML ACCORDION

XML Accordion generated from XML .

Each item in the xml has a title and a content attribute, allowing the flash file to load external contents into each item. The example above loads .jpg images, but these can be .swf, .png, .gif. (Basically any format allowed by Loader.load())

* Easy do edit xml file
* add as many items as your site can handle
* change which item opens by default
* clearly labeled layers and symbols for easy editing

http://activeden.net/item/horizontal-xml-accordion/43382





PREMIUM TWO LEVEL EXPANDING MENU

Premium Two Level Expanding Menu

This is an XML driven vertical expanding menu designed to be clean, functional, easy to implement, and very customizable. All graphics are vector, and all is editable incliding colors, sizes, fonts etc easily from Flash. Each button either expands to show a sub menu, or links out to a url (“_self” or “_blank” can be set). You can also call javascript functions with it as well.

http://activeden.net/item/premium-two-level-expanding-menu/23880




CIRCLE MENU


Highly customizable menu made in ActionScript 3.
Any number of items with own colors and selected colors are supported. Many editable properties which vary the look and feel a lot.

Properties :
innerRadius, radius, angle, radiusDecrement, angleDecrement, angleIncrement, motionType, motionTime

http://www.ultrashock.com/#/asset/39553/circle-menu.html




ODOMETER AS3

A number Odometer - will 'odo' to any number it's set to, up or down, from any number it was last set to. Useful for Game score displays, hit counters etc.

http://www.ultrashock.com/#/asset/43513/odometer-as3.html




FLASH TOOLTIP AS3 V1.0.3

The flashTooltip component allows you to easily add a descriptive window that appears when the user moves their mouse over Flash buttons or movie clips. The tooltip may contain text, images or SWF's. Includes 5 built-in opening and closing effects. Fully customizable. .

http://www.ultrashock.com/#/asset/42610/flashtooltip-as3-v1.0.3.html



PROP3D 60s TV

Prop3D is a unique interactive Papervision3D media player component which can be customized and preloaded with your original videos, images & audio. The player itself is a 3D object, and can auto spin or be mouse tracked in a 3D space.

Prop3D includes a Collada 3D model and an ActionScript 3 component that loads it in a specific position using the component inspector. The really impressive thing about this component is that it allows you to load videos, images and sounds (displaying an equalizer) over a canvas within the model via an XML playlist. Finally, being able to customize the png meshes which construct the 3D object, makes it the most complete Papervision3D based component on the market.

We've teamed up with Zero Fractal Studios (the makers of the popular Tree3D component) to bring you these premium quality, unique and exclusive UltraComponents. Stay tuned for more!

Additional features include:
* Great Memory and CPU Handling (this feature requires flash player 9.0.115 or higher).
* Data Driven - Prop3D loads information from XML objects so you can customize your play list according to your needs.
You can also modify the play list with the API.
* Customizable mouse interaction - You can set the prop to face the mouse vertically, horizontally or both, with the screen always visible, or configure it by simple API calls.
Auto Spin Spin Speed - You can set the prop to spin automatically and change its speed, even with mouse interaction.
* Model customization - You can create your own props or use the props adding elements to the scene.
* Customizable UI Settings - Developers can easily customize every possible aspect of the prop display: position, rotation, camera, and even mouse interaction. .

http://www.ultrashock.com/#/asset/45591/prop3d-60s-tv.html



PROP3D MACBOOK

rop3D is a unique interactive Papervision3D media player component which can be customized and preloaded with your original videos, images & audio. The player itself is a 3D object, and can auto spin or be mouse tracked in a 3D space.

Prop3D includes a Collada 3D model and an ActionScript 3 component that loads it in a specific position using the component inspector. The really impressive thing about this component is that it allows you to load videos, images and sounds (displaying an equalizer) over a canvas within the model via an XML playlist. Finally, being able to customize the png meshes which construct the 3D object, makes it the most complete Papervision3D based component on the market.

http://www.ultrashock.com/#/asset/45589/prop3d--macbook.html


LOADBAR

Very easy to implement, use, and customise. Loadbar can be used for any file loading process. The progress bar is resized using some simple tweening to produce a smooth animation.

http://www.ultrashock.com/#/asset/38155/loadbar.html


CUSTOMCURSOR

CustomCursor is an AS3 class that allows you to quickly and easily add custom cursors to your Flash movies. Custom cursors can be created from bitmap images or MovieClips, so there really is no limit to the custom cursor designs you want to create.

Setting up your custom cursors is effortless. You simply tell the CustomCursor class which custom cursor an interactive object should use, and the everything is taken care of for you. Adding a drop shadow to your custom cursors is as simple as passing a DropShadowFilter to the CustomCursor class.

If you want to get cursor creative, CustomCursor is probably the only class you will need.

http://www.ultrashock.com/#/asset/37933/customcursor.html
http://www.ultrashock.com/#/asset/38155/loadbar.html

Friday, February 26, 2010

Flash PLayer 10.1 on the Google Nexus One

Thibault Imbert and Michael Chaize demonstrate the power of the new Flash PLayer 10.1 on the Google Nexus One. http://vimeo.com/9596010 I apologize for my bad battery management shooting the video. For those who wants to see how the battery reacts playing Flash content on the Google Nexus One, please check that blog post: flashmobileblog.com/2010/02/24/battery-performance-with-flash-player-10-1-on-nexus-one/

Tuesday, February 09, 2010

Erik Natzke

Erik Natzke’s generative paintings are made using Flash, sometimes from sampled photos and video and other times from scratch. He controls very specifically the environment in which his creations thrive, leaving the artwork’s specificities to the whim of the code.




http://jot.eriknatzke.com/
http://vimeo.com/2090593
http://centripetalnotion.com/2007/11/30/03:35:23/

Wednesday, February 03, 2010

Android

The Applications layer hosts all Android and third-party applications, and several or more third-party applications can execute simultaneously. However, as noted, doing so can shorten battery life.

Beneath the Applications layer is the Android Frameworks layer. This layer consists of Java classes that provide application functions such as window management, window content display, application messaging, and handling phone calls. Obviously the interface Android presents at this level uses the Java programming language, and because the source code is available, you can modify these classes to extend their capabilities or over override their behavior. Note that some of the lower levels in the stack present C++ interfaces.

Next on the software stack comes the Libraries and Runtime layer. The libraries implement 2D and 3D graphics support, along with multimedia content decoding. This layer has engines to support application features, such as a SQLite database engine and WebKit, which handles web content rendering.

Like Java ME, Android strives for hardware independence by using a bytecode interpreter to execute Android applications. However, it doesn't use Sun's JVM, but instead uses its own Dalvik Virtual Machine (DVM). The advantage to Android's use of a different bytecode interpreter is that the DVM was designed so that multiple instances of it can run, each in their own protected memory space, and each executing an application. While this approach offers stability and a robust environment for running multiple applications, it does so at the expense of compatibility with Java ME applications.

The lowest layer of the stack is the Linux kernel. It provides preemptive multitasking and system services such as threads, networking services, and process management. It handles all low-level drivers and manages the device's power




My favorites device right now is the

Samsung Behold II which is now official. It is offered by T-Mobile and run on Android OS. Behold II is also known as SGH-t939 and is quite an impressive phone.

The device has a 3.2″ AMOLED touch-screen, supports 3G networks and T-Mobile promises it will be out before the holidays.

Samsung Behold II will be Samsung’s first Android-powered device with T-Mobile and will have an integrated GPS receiver
so you can take full advantage of Google Maps, and hundreds of others apps that uses location information.

Samsungs Touchwiz 2.0 and Cube Interface is pretty slick and is a great demonstration of what Open GL can deliver on handled handset



Samsung Behold II Feature list