GGWiki
새 문서
현재 판이에요 · #725 AI 조사: 게임 용어 문서 · GGWiki 자동 ·

SMIL

개요

SMIL(Synchronized Multimedia Integration Language)은 W3C(World Wide Web Consortium)가 제정한 XML 기반 마크업 언어로, 텍스트·이미지·비디오·오디오·링크 등 다양한 미디어 객체를 시간적·공간적으로 배치·제어하여 멀티미디어 프레젠테이션을 기술하기 위해 만들어졌다. HTML과 유사한 구조를 가지며, `<head>` 영역에 레이아웃·메타데이터를, `<body>` 영역에 타이밍 정보를 담는다. 주요 타이밍 컨테이너로는 순차 재생을 위한 `<seq>`, 병렬 재생을 위한 `<par>`, 이벤트 기반 인터럽트 재생을 위한 `<excl>`이 있다. 미디어 객체는 URL로 참조하므로 여러 프레젠테이션 간 공유와 다중 서버 분산 저장이 가능하며, ISO-8601 `wallclock()` 시각 지정을 통한 절대 시각 스케줄링도 지원한다. 파일 확장자는 `.smil` 또는 `.smi`를 쓰나, SAMI 자막 파일과 매킨토시 셀프 마운트 이미지도 `.smi`를 사용하므로 혼동을 피하기 위해 `.smil`을 권장한다.[1][2][3]

역사·유래

초기 워크숍과 1.0 제정

1996년 W3C가 첫 멀티미디어 워크숍을 개최하면서 표준화 논의가 시작되었고, 1998년 6월 15일 SMIL 1.0이 W3C 권고안(Recommendation)으로 승인되었다.[1][3]

모듈화와 2.0

2001년 8월 9일 SMIL 2.0이 권고안이 되면서 언어 구조가 모듈화되었다. 이로써 SMIL 의미론을 SVG·XHTML 등 다른 XML 기반 언어에 쉽게 통합할 수 있게 되었고, 기본 애니메이션·타이밍 모듈은 SVG와 Timed-Text 표준의 기반이 되었다. 또한 표준 SMIL 프로파일과 XHTML+SMIL 프로파일이 공통 구문·표준 의미론으로 정의되었다.[3]

모바일·메시징 확장을 반영한 2.1

2005년 12월 13일 권고안이 된 SMIL 2.1은 모바일 단말의 MMS(Multimedia Messaging Service) 활용 경험을 반영해 소규모 확장을 추가했다.[2][3]

3.0과 그 이후

2006년 12월 21일 작업 초안(Working Draft)으로 처음 제출되었고, 2008년 10월 6일 최종 초안(Last Call)을 거쳐 2008년 12월 권고안으로 확정되었다. 2008년 기준으로 SMIL 3.0이 최신 버전이다.[2][3]

작동 방식과 유형

문서 구조

SMIL 문서는 선택적 `<head>`와 필수 `<body>`로 나뉜다. `<head>`에는 `<layout>`(영역·크기·배치), `<metadata>`(메타데이터) 등이 들어가고, `<body>`에는 타이밍 컨테이너와 미디어 객체 참조가 배치된다.[3]

타이밍 모델

seq: 자식 요소를 순차적으로 재생한다(단순 재생목록).

par: 자식 요소를 병렬로 재생한다(다중 존·레이어).

excl: 자식 요소 중 하나만 활성화되며, 이벤트 트리거로 전환한다(인터럽트).

시작·종료 시각은 상대적 오프셋 외에 `wallclock(ISO-8601)`으로 절대 시각을 지정할 수 있다.[3]

미디어 참조와 대역폭 적응

미디어 객체는 URL로 참조하므로 여러 프레젠테이션에서 공유하거나 서로 다른 서버에 분산 저장해 로드 밸런싱이 가능하다. 동일 콘텐츠를 서로 다른 대역폭 요구 조건으로 연결해 클라이언트 환경에 맞춰 선택 재생할 수도 있다.[3]

다른 XML 표준과의 결합

SVG: SMIL은 SVG 애니메이션을 구현하는 세 가지 수단(자바스크립트, CSS, SMIL) 중 하나다.

RSS/Atom: SMIL을 재생목록·스크립트 역할로 쓰고 RSS/Atom으로 신디케이션하면, 청각 장애인을 위한 타임드 텍스트 자막 제공이나 하이퍼미디어 연결이 용이하다.

VoiceXML/MusicXML: 음성 브라우저용 순차 읽기나 악보 시퀀스 재조합에 활용 가능하다.

TEI: 텍스트 인코딩 이니셔티브(TEI) 문서 내 멀티미디어 연계에 쓰일 것으로 예상된다.

XHTML+SMIL / HTML+TIME: 마이크로소프트 구현체 등에서 SMIL 모듈을 HTML 계열에 통합한 프로파일이다.[3]

사례

저작 도구

Fluition(Confluent Technologies), Ezer(SMIL Media), Grins(Oratrix), GoLive 6(Adobe, 2008년 4월 단종), Hi-Caption(HisSoftware), HomeSite(Allaire, 2003년 9월 단종), JM-Mobile Editor(J2ME), Kino(Linux DV 편집기, IEEE-1394 캡처 연동), LimSee2(오픈소스, SMIL 1.0/2.0 지원), MAGpie(WGBH 자막 도구), MovieBoard(일본어 전용 e-러닝), Perly SMIL(Perl 모듈), ppt2smil(PowerPoint 매크로), RealSlideshow Basic(RealNetworks), SMIL Composer SuperToolz(HotSausage), Smibase(서버 설치형 스위트), SMIL Editor V2.0(DoCoMo), SMILGen(RealNetworks), SMIL Scenario Creator(KDDI), SMIRK(접근성 슬라이드쇼 출력), SMOX Pad/Editor, SMG(Smilmedia, PDA/BREW/폰/PC), TAG Editor 2.0(Digital Renaissance), Tagfree 2000, Toolkit for MPEG-4(IBM, XMT-O→MPEG-4 바이너리), TransTool(오픈소스 전사 도구), VeonStudio(Veon), 3TMAN(HTML+Time/SMIL 내보내기) 등이 있다.[3]

검증기

CWI 제공 SMIL 1.0, SMIL 2.0, SMIL 2.0 Basic, XHTML+SMIL 검증기.[3]

데모·튜토리얼

RealNetworks SMIL 2.0 기능별 데모

Telecom Italia Lab의 토리노·뉴욕 데모

Oratrix 제공 SMIL 1.0/2.0 데모

INRIA 동기화 멀티미디어 서머 스쿨

CWI Webnews 데모(HTML 렌더러 필요)

RealNetworks 추가 데모

SMIL로 작성된 SMIL 1.0 튜토리얼

Canyonlands SMIL 1.0 데모

Microsoft·Patrick Schmitz의 XHTML+SMIL 데모(IE 5.5 이상)

Burning Pixel·KevLinDev의 SVG+SMIL 애니메이션 데모

가라오케 데모(SMIL 버전 및 HTML+Time 버전)[3]

재생 플레이어

소프트웨어: 대다수 최신 웹 브라우저가 네이티브 지원하나 마이크로소프트 브라우저(Internet Explorer, 구 Edge)는 미지원. 구글 크롬은 한때 지원 중단 예정이었으나 대안 성숙 시까지 보류 결정. 별도 플레이어로는 Adobe Media Player, Amarok, Garlic Player, Helix Player, QuickTime Player, RealPlayer, Totem, Windows Media Player(재생목록 파일), Zune(재생목록 파일) 등이 있다.

하드웨어: IAdea XMP-300/XMP-7300(제한적), Planar MP70(제한적), SpinetiX HMP400/HMP350/HMP300(SMIL 3.0 지원), Thomson/Grass Valley MediaEdge-3, ViewSonic NMP-550, ViewSonic EP1020r(서브셋 지원), Innes DMC200/DME204(내장 H.264 인코더), Sigma Designs 8634 프로세서 기반 미디어 플레이어 박스 등에 SMIL 플레이어가 내장되고 있다.[3]

웹 페이지 임베딩

브라우저가 SMIL을 네이티브 지원하지 않을 경우, `<object>`/`<embed>` 등으로 SMIL 파일을 임베디드하고 Apple QuickTime이나 Microsoft Windows Media Player 플러그인으로 재생한다.[3]

이 문서는 GGWiki AI가 공개 자료(아래 출처)를 조사해 새로 쓴 초안입니다. 틀린 내용은 편집하거나 이의 제기로 알려 주세요.