The file format SWF (originally standing for "Small Web Format" , later changed to "Shockwave Flash" by Macromedia, then again changed back to Small Web Format when the company chose to have the phrase "Shockwave" only refer to Director, pronounced swiff or "swoof") is a partially open repository for multimedia and especially for vector graphics, originated with FutureWave Software and has come under the control of Adobe. Intended to be small enough for publication on the web, SWF files can contain animations or applets of varying degrees of interactivity and function.
SWF currently[update] functions as the dominant format for displaying "animated" vector graphics on the Web, far exceeding the use of the W3C open standard SVG, which has met with problems over competing implementations. It may also be used for programs, commonly games, using Actionscript.
SWF files can be generated from within several Adobe products: Flash, Flex Builder (an IDE), as well as through MXMLC, a command line application compiler which is part of the freely available Flex SDK. Other than Adobe products, SWFs can be built with open source Motion-Twin ActionScript 2 Compiler (MTASC), the open source Ming library, the free software suite SWFTools, and the proprietary SWiSH Max2. There are also various third party programs that can produce files in this format, such as Multimedia Fusion 2 Read more about: SWF
ActionScript is a scripting language based on ECMAScript. ActionScript is used primarily for the development of websites and software using the Adobe Flash Player platform (in the form of SWF files embedded into Web pages), but is also used in some database applications (such as Alpha Five), and in basic robotics, as with the Make Controller Kit. Originally developed by Macromedia, the language is now owned by Adobe (which acquired Macromedia in 2005). ActionScript was initially designed for controlling simple 2D vector animations made in Adobe Flash (formerly Macromedia Flash). Later versions added functionality allowing for the creation of Web-based games and rich Internet applications with streaming media (such as video and audio). Read more about: ActionScript
With the advent of graphical user interfaces came a specialized kind of scripting language for controlling a computer. These languages interact with the same graphic windows, menus, buttons, and so on that a system generates. They do this by simulating the actions of a human user. These languages are typically used to automate user actions or configure a standard state. Such languages are also called "macros" when control is through simulated key presses or mouse clicks.
These languages could in principle be used to control any application running on a GUI-based computer; but, in practice, the support for such languages typically depends on the application and operating system. There are a few exceptions to this limitation. Some GUI scripting languages are based on recognizing graphical objects from their display screen pixels. These GUI scripting languages do not depend on support from the operating system, or application. Read more about: GUI Scripting
A scripting language, script language or extension language is a programming language that allows control of one or more software applications. "Scripts" are distinct from the core code of the application, which is usually written in a different language, and are often created or at least modified by the end-user. Scripts are often interpreted from source code or bytecode, whereas the applications they control are traditionally compiled to native machine code. Scripting languages are nearly always embedded in the applications they control.
The name "script" is derived from the written script of the performing arts, in which dialogue is set down to be spoken by human actors. Early script languages were often called batch languages or job control languages. Such early scripting languages were created to shorten the traditional edit-compile-link-run process.
Streaming media storage size (in the common file system measurements mebibytes, megabytes, gigabytes, terabytes, and so on) is calculated from the streaming bandwidth and length of the media using the following formula (for a single user and file):
storage size (in mebibytes) = length (in seconds) Ã— bit rate (in bit/s) / (8 Ã— 1024 Ã— 1024)
since 1 mebibyte = 8 Ã— 1024Ã—1024 bits.
Real world example:
One hour of video encoded at 300 kbit/s (this is a typical broadband video in 2005 and it is usually encoded in a 320Ã—240 pixels window size) will be:
(3,600 s Ã— 300,000 bit/s) / (8Ã—1024Ã—1024) give around 128 MiB of storage.
If the file is stored on a server for on-demand streaming and this stream is viewed by 1,000 people at the same time using a Unicast protocol, the requirement is:
This is equivalent to around 135 GB per hour. Of course, using a multicast protocol the server sends out only a single stream that is common to all users. Hence, such a stream would only use 300 kbit/s of serving bandwidth. See below for more information on these protocols. Read more about: Streaming bandwidth and storage