Synchronized Multimedia Integration Language (SMIL (/smaɪl/)) is a World Wide Web ConsortiumrecommendedExtensible Markup Language (XML) markup language to describe multimedia 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 to HTML.
Members of the World Wide Web Consortium (also known as the "W3C") created SMIL for streaming 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 many Multimedia Messaging Service (MMS) applications. SMIL can be combined with other XML-based specifications such as with SVG (as has been done with SVG animation) and with XHTML (as done with HTML+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 for Timed-Text. The modular structure made it possible to define the standard SMIL language profile and the XHTML+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 the Multimedia 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 an HTML 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 by URLs, allowing them to be shared between presentations and stored on different servers for load balancing. The language can also associate different media objects with different bandwidth requirements.
For playback scheduling, SMIL supports ISO-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 Macintosh self 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 when Internet Explorer was very popular. Thus "combining" SMIL with other markup languages was considered one of the best current practices of the day.
While RSS and Atom are web syndication methods, with the former being more popular as a syndication method for podcasts, SMIL is potentially useful as a script or playlist 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 the deaf 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 a voice browser, while combining SMIL with MusicXML 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-enabled vector 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 of Digital Signage is embracing SMIL as a means of controlling dynamic advertising in public areas.[19][20]
Most commonly used web 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