Multimedia authoring

Download Report

Transcript 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 allpurpose programming languages like Java to fullfeatured 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 objectoriented (C++)
various media
supported at a
low level of
abstraction
can be
extended with
additional
libraries
Language /Level of Abstraction /Style of Progr./ Media Supported/ Extensibility
Director
high; lower
possible with
scripting
language,
Lingo
drag-anddrop
environment
with built-in
behaviors;
Lingo offers
choice of
JavaScript or
traditional
dot syntax;
choice of
imperative or
objectoriented 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
Flash
high; lower
possible with
scripting
language,
ActionScript
drag-anddrop
environment
with built-in
behaviors;
ActionScript
uses
JavaScript
syntax; choice
of imperative
or objectoriented style
optimized for
vector
graphics;
handles lowres video and
digital audio
well; excellent
for webbased
productions
can be
extended
with thirdparty
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
C++
Windows, Mac,
Unix, Linux
Distribution
means
Support for
Concurrency
Support for
Network
Communication
platformspecific
executable
low-level
threads
sockets and clientserver model
•
Language /
Platform
/Distribution
/ Concurrency / Network Comm.
Director
Windows, Mac; DIR is native
can be played
file format; EXE
on Linux
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, FLA is native
Unix, Linux
file format; EXE
or HQX is
stand-alone
executable;
SWF is format
for web; MOV
is a QuickTime
movie
movie clip
NetStream and
serves as a
NetConnection
movie within a classes
movie, having
its own internal
timeline
•
Language /
Platform
/Distribution
/ Concurrency / Network Comm.
Java
Windows, Mac, compiled to
Linux, and Unix bytecode;
distributed as
an application
or applet for
web
Thread class,
Client, Server,
synchronization and Socket
mechanisms
classes
Python
Windows, Mac, compiled to
Unix, Linux
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