Synchronized Multimedia Integration Language (SMIL (/smaɪl/)) is aWorld Wide Web ConsortiumrecommendedExtensible Markup Language (XML)markup language to describemultimedia presentations. It defines markup for timing, layout, animations, visual transitions, and media embedding, among other things. SMIL allows presenting media items such as text, images, video, audio, links to other SMIL presentations, and files from multiple web servers. SMIL markup is written in XML, and has similarities toHTML.
Members of theWorld Wide Web Consortium (also known as the "W3C") created SMIL forstreaming media presentations, and published SMIL 1.0 in June 1998. Many of these W3C members helped author several versions of SMIL specifications between 1996 (when the first multimedia workshops were hosted by the W3C) and 2008 (when SMIL 3.0 was published). SMIL is an XML-based application, and is a part of manyMultimedia Messaging Service (MMS) applications. SMIL can be combined with other XML-based specifications such as with SVG (as has been done withSVG animation) and with XHTML (as done withHTML+TIME).
SMIL 2.0 became a W3C Recommendation on 9 August 2001.[7] SMIL 2.0 introduced a modular language structure that facilitated integration of SMIL semantics into other XML-based languages. Basic animation and timing modules were integrated into Scalable Vector Graphics (SVG) and the SMIL modules formed a basis forTimed-Text. The modular structure made it possible to define the standard SMIL language profile and theXHTML+SMIL language profile with common syntax and standard semantics.
SMIL 2.1 became a W3C Recommendation on 13 December 2005.[4][8] SMIL 2.1 includes a small number of extensions based on practical experience gathered using SMIL in theMultimedia Messaging System on mobile phones.
SMIL 3.0 became a W3C Recommendation in December 2008.[5] It was first submitted as a W3C Working draft on December 21, 2006.[9] The last draft revision was released on October 6, 2008.[10][11]
A SMIL document is similar in structure to anHTML document in that they are typically divided between an optional<head> section and a required<body> section. The<head> section contains layout and metadata information. The<body> section contains the timing information, and is generally composed of combinations of three main tags—sequential ("<seq>", simple playlists), parallel ("<par>", multi-zone/multi-layer playback) and exclusive ("<excl>", event-triggered interrupts). SMIL refers to media objects byURLs, allowing them to be shared between presentations and stored on different servers forload balancing. The language can also associate different media objects with differentbandwidth requirements.
For playback scheduling, SMIL supportsISO-8601wallclock() date/time specification to define begin/end events for playlists.
SMIL files take either a.smi or.smil file extension. However,SAMI files and Macintoshself mounting images also use.smi, which creates some ambiguity at first glance. As a result, SMIL files commonly use the.smil file extension to avoid confusion.
SMIL was created during a time when structured data using XML was very popular and during a time whenInternet Explorer was very popular. Thus "combining" SMIL with other markup languages was considered one of thebest current practices of the day.
Example of a non-interactive (but animated)SVG with SMIL. The SVG file demonstrates animation of transformation and motion.Example of an interactive SVG with SMIL demonstratingmouse events.
WhileRSS andAtom areweb syndication methods, with the former being more popular as a syndication method forpodcasts, SMIL is potentially useful as a script orplaylist that can tie sequential pieces of multimedia together and can then be syndicated through RSS or Atom.[12][13] In addition, the combination of multimedia-laden .smil files with RSS or Atom syndication would be useful for accessibility to audio-enabled podcasts by thedeaf through Timed Text closed captions,[14] and can also turn multimedia into hypermedia that can be hyperlinked to other linkable audio and video multimedia.[15]
VoiceXML can be combined with SMIL to provide a sequential reading of several pre-provided pages or slides in avoice browser, while combining SMIL withMusicXML would allow for the creation of infinitely-recombinable sequences of music sheets. Combining SMIL+VoiceXML or SMIL+MusicXML with RSS or Atom could be useful in the creation of an audible pseudo-podcast with embedded hyperlinks, while combining SMIL+SVG with VoiceXML and/or MusicXML would be useful in the creation of an automatically audio-enabledvector graphicsanimation with embedded hyperlinks.
SMIL is also one of the underlying technologies used for "Advanced Content" in the (discontinued)HD DVD format for adding interactive content (menus etc.).
The field ofDigital Signage is embracing SMIL as a means of controlling dynamic advertising in public areas.[19][20]
Most commonly usedweb browsers have native support for SMIL, but it has not been implemented in Microsoft browsers. It was to be deprecated in Google Chrome,[21] but it has now been decided to suspend that intent until alternatives are sufficiently developed.[22] Other software that implement SMIL playback include:
A SMIL file must be embedded, then opened using a plug-in such as Apple's QuickTime or Microsoft's Windows Media Player, to be viewed by a browser that doesn't support SMIL.
^ViewSonic (September 2009),Working With Smil; Introduction; Playing A Smil Demo; Advanced Customization Via Smil - ViewSonic NMP-550 User Manual, p. 11