IT_etc/유용한 전산 지식들..

[펌] SMIL 소개

JJun ™ 2014. 5. 29. 01:27



 출처: http://unipro.tistory.com/107






SMIL는 Synchronized Multimedia Integration Language의 약어로써, 멀티미디어 데이터를 XML을 이용하여
시간적, 공간적으로 배치, 제어하기 위한 W3C 표준 프레젠테이션 언어이다.


SMIL 형식

최상의 요소(root element) 로서 <smil>를 사용한다. <head> 섹션에는 메타 태그 정보를 <body> 섹션에는 미디어 정보를 표현한다.

<smil>
   <head>
       <!-- meta tag information -->
   </head>
   <body>
       <!-- multimedia(audio, video, image, text etc) information -->
   </body>
</smil>


SMIL의 예

  <head>
    <meta name="sync" content="soft"/>
    <layout>
      <root-layout id="SMIL-" width="492" height="810"/>
      <region id="address-region" width="50%" height="8%"/>
      <region id="image-region" top="8%" height="91%"/>
    </layout>
  </head>
  <body>
    <seq>
      <par>
        <text type="text/plain" region="address-region"
              src="Herengracht284.txt" dur="2s"/>
        <img region="image-region"
             src="http://www.amsterdam.nl/bmz/adam/pics/h284.jpg"/>
      </par>
      <par>
        <text type="text/plain" region="address-region"
              src="Herengracht539.txt"/>
        <img region="image-region"
             src="http://www.amsterdam.nl/bmz/adam/pics/h539.jpg" dur="2s"/>
      </par>
    </seq>
  </body>
</smil>


미디어 객체 요소 (Media Object Elements)

  • ref
  • text
  • textstream
  • img
  • audio
  • video
  • animation
  • <ref src="anything" />
    <text src="caption.html" />
    <textstream src="stockticker.rtx" />
    <img src="graph.jpg" />
    <audio src="audio.aac" />
    <video src="video.mp4" />
    <animation src="cute.anim" />


집단 요소

  • par : 병렬적(parallel)으로 재생할 요소를 묶는다.
  • <par>
      <text src="leader_title.html" region="m_title" dur="5s" />
      <video src="cnn.mpg" region="V-Main" />
      <audio src="cnn.aiff" region="music" />
    </par>
  • seq : 순차적(sequential)으로 재생할 요소를 묶는다.
  • <seq>
      <video src="logo.mpg" region="V-main" />
      <video src="anchor.mpg" region="V-main" />
    </seq>
    par와 seq를 혼합하여 사용할 수 있다.
    <seq>
      <par>
        <text src="leader_title.html" region="m_title" dur="5s"/>
        <video src="cnn.mpg" region="V-Main" />
        <audio src="cnn.aiff" region="music" />
      </par>
      <par>
        <text src="story_title.html" region="m_title" dur="2s" />
        <video src="anchor.mpg" region="V-Main" />
        <audio src="anchor.aiff" region="music" />
      </par>
    <seq>
  • switch : 최초의 수용 가능한 요소를 선택하여 재생한다.
  • <switch>
      <audio systemBitrate="44000" src="hi-res.aiff" />
      <audio systemBitrate="16000" src="low-res.aiff" />
    </switch>


속성

    <text type="text/plain" src="info.txt" />
    <video src="zoomin.mpg" clipBegin="smpte=00:01:19:20" clipEnd="smpte=00:01:38:40" />
    <video src="zoomin.mpg" dur="6.5" />
    <video src="zoomin.mpg" repeat="3" />
    <video src="zoomin.mpg" repeat="indefinite" />
    <video id="v1" src="cnn.mpv" begin="1.4s" />
    <audio src="cnn.aiff" region="music" begin="id(v1)(0.5s)" />
    <text src="title.html" region="m_title" begin="4s" end="8s" />
  • src : URI, 데이타의 위치를 나타낸다.
  • type : mime 타입
  • clipBegin, clipEnd : 클립내 시작과 끝 위치
  • dur : 지속시간을 명시적으로 나타낸다.
  • repeat : 반복 횟수
  • begin,end : 시작 시간과 종료 시간
  • region : 요소를 표시할 위치를 나타낸다.


출처