Multimedia authoring

Post on 24-Feb-2016

104 views 0 download

description

Multimedia authoring. What is multimedia authoring ?. Multimedia authoring integrates a variety of media, including images, sound, and video along with animation and interactivity. - PowerPoint PPT Presentation

Transcript of Multimedia authoring

Multimedia authoring

What is multimedia authoring?• Multimedia authoring integrates a variety of media,

including images, sound, and video along with animation and interactivity.

• The purposes for working in multimedia authoring range from the commercial to the personal to the purely artistic.

• The means of distribution vary—CD, DVD, web, email, television, movies.

• And the languages and environments vary, from all-purpose programming languages like Java to full-featured authoring environments like Adobe Director and Flash with accompanying scripting languages.

What is multimedia authoring?(2)• The result of multimedia authoring can go by a number of

names—production, animation, movie, or even simply program, if you’re referring to the implementation itself.

• You might use a multimedia authoring environment to create a digital résumé or portfolio, an advertisement, a cartoon animation, a tutorial DVD, a special effects portion of a movie, or an interactive visual poem for personal expression.

• You may choose to work with vector graphics, bitmap images, or a combination of these. You may include video, digital audio, or MIDI. You may work in 2D or 3D. You may allow user interactivity.

Criteria for Evaluating Multimedia Authoring Environments - Work process

• What are the main steps when you create an animation or movie in your chosen language or environment? Is it all programming?

• Will you create pictures, sounds, and movies first and import them into your programming environment, or will you create everything from scratch within the programming environment itself?

• Do you use drag-and-drop programming with built-in behaviors, or do you program everything from scratch?

• What elements are already created for you and ready for use? Extensive class libraries? Built-in objects or behaviors? Built-in GUI (graphical user interface) objects like buttons and text boxes? Events that will automatically generate handler calls?

Media supported

• How easy or difficult is it to incorporate the media that are most important to your production?

• Does your language easily support bitmap images? Vector graphics? Digital sound? MIDI? Digital video? Interactivity? 3D?

Ease of programming• Have you ever used this language before? • What is the programming environment for the language? Is

there a user-friendly GUI? An IDE (integrated development environment)?

• Some multimedia languages are based upon a kind of metaphor. For example, Adobe Director has a very visual programming environment, using the metaphor of a stage and cast members.

• Flash’s programming environment resembles a drawing surface, with different pieces of transparent acetate laid one on top of the other.

Programming paradigm• Is this an all-purpose programming language, with full

computational power? • Is it a scripting language? • Does it support object-oriented programming? • Is it an event-based language? • Is the authoring environment especially designed for a

particular purpose—for example, bitmap images, vector graphics, or audio?

• Is it an education-oriented language—primarily intended to teach you how to program and get you excited about programming—or is it “industrial strength”?

Extensibility

• Can you add features to the language or environment with additional third-party plugins or extras?

• Can you write your own extra components?

Efficiency of the language• Some languages are easy to learn, but they execute inefficiently

and do not lend themselves to programs that require heavy-duty computation.

• Will your chosen language be able to execute fast enough for your purposes? Is it an interpreted or a compiled language? Compiled languages can take advantage of compiler optimizations for faster execution.

• Is it important to you to be able to develop your program quickly? Or is it more important that the final product execute quickly?

• Does the language give you access at a low enough level of abstraction to allow you to write efficient code?

Cost

• Is the language or environment freeware? Shareware? A commercial product?

• If it’s a commercial product, how much does it cost? Can you afford it? Is there a trial version? How long can you keep the trial version, and how much functionality does it have?

Language stability

• How stable is the language or environment? • Is it standardized? • Is it in a constant state of revisions and additions? • Will it be around in a year or two?

• GROUP DISCUSSION: Will Flash be around in a year or two?Five? The next phase of multimedia development?

Memory requirements and Platform

• How much RAM and disk space are needed to run the programming environment? Can your computer accommodate these requirements?

• What operating system does the language run under?

Distribution means

• What options do you have for distributing your multimedia production, in terms of both operating system and distribution media like web, CD, DVD, etc.?

• Can you distribute the production in a format that will be accessible to your target audience?

• How large are the resulting files?

Comparison of Some Current Multimedia Authoring Environments, Part 1

Language Level of Abstraction

Style of Programming

Media Supported Extensibility

C/C++ low imperative (C) or object-oriented (C++)

various media supported at a low level of abstraction

can be extended with additional libraries

Director high; lower possible with scripting language, Lingo

drag-and-drop environment with built-in behaviors; Lingo offers choice of JavaScript or traditional dot syntax; choice of imperative or object-oriented style

optimized for bitmap images, video; handles digital audio well; can handle MIDI with Xtras; Flash vector graphics can also be included

can be extended with Xtras and new components

Language /Level of Abstraction /Style of Progr./ Media Supported/ Extensibility

Language /Level of Abstraction /Style of Progr./ Media Supported/ Extensibility

Flash high; lower possible with scripting language, ActionScript

drag-and-drop environment with built-in behaviors; ActionScript uses JavaScript syntax; choice of imperative or object-oriented style

optimized for vector graphics; handles low-res video and digital audio well; excellent for web-based productions

can be extended with third-party extensions and new components

• Language /Level of Abstraction /Style of Progr./ Media Supported/ Extensibility

Java medium object-oriented AWT and JMF packages facilitate GUI building and inclusion of images, sound, and video

can be extended with new classes, packages, and APIs

Python medium object-oriented environments like JES facilitate media computation

can be extended with modules for new applications

Comparison of Some Current Multimedia Authoring Environments, Part 2

Language Platform Distribution means

Support for Concurrency

Support for Network Communication

C++ Windows, Mac, Unix, Linux

platform-specific executable

low-level threads

sockets and client-server model

• Language / Platform /Distribution / Concurrency / Network Comm.

Director Windows, Mac; can be played on Linux

DIR is native file format; EXE or OSX is stand-alone executable; DCR is Shockwave format for web

MIAW (Movie in a Window) can run concurrently with main movie

NetLingo for network operations

Flash Windows, Mac, Unix, Linux

FLA is native file format; EXE or HQX is stand-alone executable; SWF is format for web; MOV is a QuickTime movie

movie clip serves as a movie within a movie, having its own internal timeline

NetStream and NetConnection classes

• Language / Platform /Distribution / Concurrency / Network Comm.Java Windows, Mac,

Linux, and Unixcompiled to bytecode; distributed as an application or applet for web

Thread class, synchronization mechanisms

Client, Server, and Socket classes

Python Windows, Mac, Unix, Linux

compiled to bytecode; run by interactive Python interpreter or distributed as executable file

Thread and Queue class

Socket module

Distribution means

• Another important issue in your choice of authoring environment is the format of your end product.

• What type of file will you have when you’re finished, given your choice of programming language?

• Who are your target end users? • What operating system, browsers, players, and

plugins are they most likely to have?

Java• With Java, you have two options: You can write your program

as a conventional application program or as an applet. • Java has the additional advantage of being platform

independent. Java application programs are compiled into bytecodes.

• The bytecodes are standard and can be read, interpreted, and executed on any platform. When they are interpreted by a particular platform, they are compiled into machine instructions specific to that environment.

• Applets are handled similarly, except that they execute via a web browser. (As a Java API, the Processing programming environment yields the same type of distribution file types as for standard Java.)

Flash• The native development format is FLA.• Distribution formats are EXE, HQX, SWF, or MOV.• EXE and HQX are stand-alone executables. • A Flash animation published in the SWF format can be

embedded in a web page and played via web browsers; need to have the Flash player plugged in, but this is standard.

• SWF files can also be integrated into Director. • MOVs are QuickTime movie versions of Flash animations.• Example of a complicated Flash movie

Director/Flash development phases

• Create your media outside of Director or Flash. • For example, you might take digital photographs, draw

some vector graphics, shoot video, and/or record sound. You can create and edit your media in appropriate environments (i.e., Final Cut, Illustrator, Sound Forge, etc.) and then import them into Director or Flash.

• A note about bitmap images in Director: Make your images the size you want them to be before you import them into Director. Decide on appropriate file types. (For bitmap images, lossless compression is better.)

• For both Director and Flash, create your sound files with appropriate sampling rate and bit depth.

Director/Flash development phases(2)

• Enter the Director or Flash environment. Import the media you created.

• Create other media elements directly in the Director or Flash environment. (They have their own vector graphics and/or paint tools, for example.) You’ll probably need text boxes, buttons, etc.

• Put objects on the stage (which equivalently puts them in the timeline).

• Add user-interface components to the stage, e.g., buttons and input boxes.

• Tween objects as needed.

Director/Flash development phases(3)

• Set reference points in the timeline as needed. In Director, these are called markers. In Flash, they’re called frame labels.

• Create event handlers and attach them to the appropriate objects and frames.

• Add built-in behaviors to objects.• Create new behaviors and add them to objects

and interface components.

Director/Flash development phases(4)

• Synchronize media as needed.• Embed fonts, plug-ins, and extras as needed

for the final product.• Choose compression options.• Save for distribution.

Flash Authoring interface