A Synchronized Multimedia Integration Language (SMIL, pronuncia-se "smile") possibilita programação simples de apresentações audiovisuais interativas. A SMIL é tipicamente usada para apresentações multimídia que podem integrar transmissão de áudio e vídeo com imagens, textos ou qualquer outro tipo de mídia.
Apresentações SMIL são descritas por arquivos de texto. Você pode criar ou editar uma apresentação SMIL usando um editor de texto e também pode gerar automaticamente um documento SMIL usando qualquer linguagem script que crie arquivos de texto. Um documento SMIL especifica quais elementos de mídia para apresentar, quando e onde apresentá-los.
Elementos de mídia em documento SMIL são especificados pela URL. Elementos de mídia podem ser arquivos, como arquivos de texto, imagens JPEG, filmes QuickTime ou transmissões ao vivo. A URL que especifica os elementos de mídia pode usar qualquer um dos protocolos comuns: HTTP, FTP, RTSP, acesso a arquivos e assim por diante.
Sua apresentação SMIL pode usar quaisquer elementos de mídia que o QuickTiime consiga reproduzir, incluindo imagens estáticas, áudio, texto, vídeos QuickTime, animações sprite, transmissões ao vivo, panoramas VR e objetos de vídeo VR.
Como os documentos SMIL são arquivos de texto, a SMIL também dá um jeito de gerar automaticamente vídeos QuickTime personalizados usando um script, como AppleScript, PERL ou CGI script — tudo que possa gerar saídas de texto que criem um documento SMIL. Se você tem um script que insere banners de publicidade nas suas páginas de Internet, por exemplo, pode usar o mesmo script para inserir a publicidade no documento SMIL junto com a transmissão de vídeo QuickTime.
Assim como as faixas de um vídeo QuickTIme, os elementos de mídia em uma apresentação SMIL podem ser sequenciados, sobrepostos ou contrabalanceados em tempo e espaço.
Estrutura SMIL
A SMIL é baseada em XML, consequentemente é mais rigidamente estruturada do que o HTML, mas usa a mesma sintaxe familiar de <tag> e </tag>.
A SMIL é diferente do HTML de uma forma que todas as tags são case sensitive (sempre caixa baixa) e todas as tags têm que ser explicitamente finalizadas, independentemente de haver um par de tags que envolva outros elementos (<tag> elementos </tag>) ou uma tag seja independente e termine com " />" (<tag parâmetros />).
A SMIL também difere do HTML porque o HTML mixa frequentemente a estrutura e o conteúdo no mesmo documento, enquanto a SMIL normalmente não faz isso. Enquanto um documento HTML contém texto a ser exibido, um documento SMIL contém a URL de um arquivo de texto no lugar.
Assim como o HTML, um documento SMIL precisa de head e body. A estrutura de um arquivo SMIL é exibida abaixo.
<smil>
<head>
<layout>
<!-- layout tags -->
</layout>
</head>
<body>
<!-- body tags -->
</body>
</smil>

