1

글타래: QuickTime과 Windows용 Internet Explorer

일반 사용자들에게 해당되는 중요 정보:

Windows용 Internet Explorer version 5.5 SP2와 6.0 이후의 버전은 QuickTime 5.0.2 이전 버전에서 설치했던 Netscape용 plug-ins 형태의 plug-in을 더이상 지원하지 않습니다. 결과적으로, 위 버전의 Windows용 Explorer 사용자들은 웹 브라우저에서 QuickTime 형태의 내용을 볼 수가 없게 되었습니다. 하지만 Mac 사용자와 Netscape 사용자들은 영향을 받지 않습니다.

호환성을 회복하기 위해, Apple에서는 ActiveX control을 제공하고 있습니다. http://www.apple.com/quicktime/download/qtcheck/ 를 방문하시면, 이번 ActiveX control이 설치가 안되어 있을 경우, 경고 글과 함께 내려받으실 수가 있게 됩니다.

Web 개발자들과 Webmaster들에게 해당되는 중요 정보:

위에서 설명된 QuickTime 내용이 제대로 표시되지 않는 문제점을 누그러뜨리고 웹 싸이트 방문자들에게 긍정적인 사용자 체감을 안겨주기 위해서는 아래에 설명된 것과 같이 새로운 QuickTime의 ActiveX control을 사용할 수 있도록 HTML 코드를 수정해 주셔야 합니다.

이번 문제는 오직 Windows의 Internet Explorer 사용자들에게만 해당합니다.

배 경:

QuickTime은 사용자 브라우저의 웹 페이지에 영상을 표시하기 위해 plug-in 기술을 사용합니다. 그래서 이전에는, 브라우저 안에서 QuickTime 내용을 표시하기 위해 아래의 예와 같이 EMBED 요소를 사용하셨을 겁니다:

<EMBED src="sample.mov" width="160" height="144" autoplay="true" CONTROLLER="false" PLUGINSPAGE="http://www.apple.com/quicktime/download/"></EMBED>

이것이 정상적으로 작동하기 위해서는, 사용자는 시스템에 QuickTime plug-in을 설치하고 있어야 합니다. 만약, 적당한 QuickTime plug-in이 설치되어 있지 않다면, QuickTime 내용과 함께 HTML 페이지가 사용자의 브라우저에 읽혀질 때, 영상은 보이질 않게 됩니다. 대신, 브라우저는 "깨진 plug-in 아이콘"을 보여주면서 필요한 소프트웨어를 얻을 수 있도록 하는 기회를 사용자에게 전하게 됩니다. 이 방법은 불행하게도 약간의 부작용을 가지고 있어서 사용자의 관심을 여러분의 싸이트에서 다른 곳으로 이끌게 되며 설치 과정으로 인해 약간의 산만함을 야기시킬 수도 있습니다.

문 제 점

최근까지는, QuickTime으로 설치된 plug-in은 Windows와 Mac OS에 설치된 Netscape 브라우저와 Microsoft Internet Explorer 모두에서 정상적으로 작동했었습니다. 하지만, 현재는 Windows 사용자가 Internet Explorer 5.5 SP2 혹은 그 이후의 버전을 가지고 QuickTime 동영상을 재생하려고 하면, QuickTime plug-in과 함께 Apple의 새로운 QuickTime ActiveX  control이 설치되어 있지 않았다면 "깨진 plug-in 아이콘"을 보게 됩니다. Windows의 기타 다른 브라우저나 Mac OS 사용자들은 이러한 문제가 발생하지 않으며 QuickTime이 설치한 plug-in을 정상적으로 계속 사용하실 수 있고, 새로운 QuickTime ActiveX control을 설치하실 필요는 없습니다.

일단 사용자가 새로운 ActiveX control을 설치하게 되면, 더 이상의 문제는 발생하지 않고, 정상적으로 영상을 보실 수 있게 됩니다.

해결 방법

웹 페이지를 편집하실 때, QuickTime 내용물을 심어넣으실(embed) 경우 필요한 ActiveX control이 설치되어 있는 지를 확인하게 끔 HTML을 수정하시면 이러한 문제를 방지하실 수 있습니다. 이렇게 HTML을 수정하시면 웹 페이지가 Mac과 Windows 시스템 모두에서의 Netscape과 Internet Explorer 브라우저 상에서 같은 호환성을 갖게 되는 결과를 보여주게 됩니다.

수정이 필요한 코드는 아래의 예에서와 같이 HTML의 OBJECT 요소로 둘러싸인 안의 EMBED 요소로 구성되어 있습니다:

<OBJECTCLASSID="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"
CODEBASE="http://www.apple.com/qtactivex/qtplugin.cab"
HEIGHT=yy
WIDTH=xx
>

<PARAM NAME="src" VALUE="MyMovie.mov" >
<PARAM NAME="AutoPlay" VALUE="true" >
<PARAM NAME="Controller" VALUE="false" >

<EMBED SRC="MyMovie.mov"
HEIGHT=yy WIDTH=xx
TYPE="video/quicktime"
PLUGINSPAGE="http://www.apple.com/quicktime/download/"
AUTOPLAY="true"
CONTROLLER="false"
/>

</OBJECT>

여기서, CLASSID는 항상 다음과 같아야 합니다: clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B

또한 CODEBASE도 항상 다음과 같아야 합니다: http://www.apple.com/qtactivex/qtplugin.cab

PLUGINSPACE는 항상 다음과 같아야 합니다: http://www.apple.com/quicktime/download/

다른 속성들은 해당 웹 페이지의 상황에 맞게 수정하시면 됩니다. 위의 두 곳에서 사용된 SRC 속성의 "sample.mov"는 실제 재생될 동영상의 URL로 대치하시면 되고, 또 HEIGHT과 WIDTH 값은 동영상의 실제 높이와 넓이의 값(pixels)을 넣어주시면 됩니다.

이미, 사용하고 계신 페이지가 QuickTime plug-in을 위한 EMBED 요소들을 가지고 있다면, 각각을 위에서와 같이 CLASSID와 CODEBASE 변수 값을 갖는 OBJECT 요소로 감싸주시면 되고 SRC와 기타 변수 값들은 이미 존재하는 EMBED 요소에 맞게 수정해 주시면 됩니다. 여기에 사용된 OBJECT는 QuickTime이 인식할 수 있는 모든 EMBED 요소들과 함께 사용하실 수 있습니다. 더 자세한 정보는 http://developer.apple.com/documentatio … ion_3.html 를 참고하시기 바랍니다.

현존하는 웹 페이지들을 위해서, OBJECT 요소를 싸이트의 "대문" 페이지에 추가하는 것으로 충분합니다. 일단 "대문"에 있는 OBJECT 요소가 사용자들로 하여금 ActiveX control을 설치하게 만들면 이어지는 모든 페이지들에서는 기존 EMBED 요소들이 올바로 작동하게 될 겁니다. 만약, "대문"의 페이지가 항상 가장 먼저 접속하게 될 지를 확신하실 수 없다면, 모든 페이지들이 OBJECT 요소들을 사용할 수 있게 수정되어야 합니다.

작동 원리

OBJECT 요소는 Windows 9x/NT/2000/XP 시스템의 Internet Explorer와 QuickTime ActiveX control을 지원하는 기타 브라우저들에서 사용될 수 있습니다. 안에 둘러싸인 EMBED 요소는 Netscape 브라우저, Mac용 Internet Explorer, 그리고 "Netscape 형태"의 QuickTime plug-in을 지원하는 기타 브라우저들에서 사용됩니다. OBJECT 요소를 인식하는 브라우저들은 EMBED 요소를 무시하게 되며, 반대로 OBJECT 요소를 인식하지 못 하는 브라우저들은 EMBED 요소를 사용하게 됩니다.

OBJECT 요소 안, CLASSID 변수는 어떤 ActiveX control을 사용할 지를 개별적인 값으로 알려주게 됩니다.  CLASSID의 변수 값인 "clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"는 Internet Explorer에게 QuickTime ActiveX control을 사용할 것을 알려줍니다. 만약, 사용자가 이전에 시스템에 ActiveX control을 설치하지 않았다면, CODEBASE 변수가 브라우저에게 이것을 어디서 내려받을 수 있는 지를 알려주게 됩니다. Internet Explorer는 자동적으로 사용자에게 ActiveX control을 내려받고 설치할 것을 권하게 되며, 설치 후에 브라우저를 다시 실행시킬 필요 없이 동영상을 재생할 수 있게 되고,  만약 QuickTime이 이전에 설치되어 있지 않은 상태라면, QuickTime을 내려받아 설치할 것을 권고하게 됩니다. 항상 CODEBASE URL로 "http://www.apple.com/qtactivex/qtplugin.cab"를 사용하셔야 되고, 이 URL은 항상 가장 최신 버전의 QuickTime ActiveX control을 가리키게 됩니다.

브라우저는 OBJECT 요소 혹은 EMBED 요소 둘 중 하나를 사용할 것이기 때문에, 모든 요소의 변수들은 각각 서로의 알맞은 값을 가지고 있어야 합니다. 위의 예에서는, EMBED 요소는 autoplay="true" 그리고 OBJECT 요소는 <param name="autoplay" value="true">를 가지고 있습니다. 그래서 QuickTime ActiveX control이나 QuickTime plug-in과 함께 둘 중에 어느 것이든 간에 읽혀질 때마다 동영상을 자동적으로 재생하게 됩니다. 여기서 중복되지 않는 속성들로는 CLASSID, CODEBASE, 그리고 PLUGINSPAGE가 있습니다. CLASSID와 CODEBASE는 OBJECT 요소에만 사용되며, PLUGINSPAGE는 EMBED 요소에만 해당됩니다.

비록 Windows Internet Explorer 5.5 SP2 이후의 버전은 더이상 QuickTime plug-in을 사용하지 않지만, 일단 QuickTime ActiveX control이 사용자의 시스템에 설치되면, Internet Explorer는 올바로 작성된 EMBED 요소를 제대로 인식하기 위해서 설치된 ActiveX control을 사용하게 됩니다.

추가 참고 글

OBJECT 요소에 관해서 더 자세한 정보는 다음을 참고하십시오:

The W3C Web site http://www.w3.org/TR/REC-html40/struct/ … def-OBJECT

HTML에 관한 더 자세한 정보는 다음을 참고하십시오:

HTML & XHTML: The Definitive Guide 4th Edition, by Chuck Musciano & Bill Kennedy, published by O'Reilly.

Dynamic HTML: The Definitive Reference, by Danny Goodman, published by O'Reilly.

웹 싸이트 안에서 사용되는 QuickTime에 관한 더 자세한 정보는 Morgan Kaufmann Publishers에서 발행한 QuickTime for the Web을 참고하십시오.

http://developer.apple.com/techpubs/qui … ebBook.htm

옮긴 Apple 문서: http://developer.apple.com/documentatio … ion_2.html

☛ QuickTime 동영상을 웹 브라우저에 표시하기 위해 널리 사용되던 EMBED tag는 W3C 표준에는 포함되지 않음으로 해서 몇몇 브라우저에 제대로 표시하는 데 문제가 있었습니다. 그래서, 또 다른 해법으로 W3C 표준을 지키면서 대신 포개어진(nested) OBJECT tag만으로 QuickTime 동영상을 표시해 줄 수 있는 방법이 다음의 글에 소개되어 있습니다.

QuickTime 동영상을 웹 페이지에 추가하는 방법(W3C 표준 규약 준수):

http://realdev1.realise.com/rossa/rende … ktime.html

한 가지 주의하실 것은 이 방법도 Netscape Communicator 4.8에서는 정상적으로 작동을 안하고, 또 Apple에서 권하는 방식에는 해당이 안되지만, 만약 사용자가 웹 브라우저의 CSS 혹은 JavaScript 기능을 꺼버렸다면 정상적으로 사용될 수가 없답니다.

miname씨가 수정함 (2005-12-05 01:28 PM)

+ = ²

2

댓글: QuickTime과 Windows용 Internet Explorer

현재 Apple의 사이트에서는 QuickTime 삽입을 위한 OBJECT와 EMBED 꼬리표들(tags)의 생성을 위해서 JavaScript 파일을 불러와서 함수들의 선언으로 손쉽게 처리하고 있다.

사용 가능한 함수들은,

[uli]QT_WriteOBJECT() - HTML 꼬리표들을 생성하고 함수가 선언되어 있는 문서에 삽입[/uli]
[uli]QT_WriteOBJECT_XHTML() - XHTML 꼬리표들을 생성하고 함수가 선언되어 있는 문서에 삽입[/uli]
[uli]QT_GenerateOBJECTText() - HTML 꼬리표들을 생성하고 함수가 선언되어 있는 문서에 string으로 삽입[/uli]
[uli]QT_GenerateOBJECTText_XHTML() - XHTML 꼬리표들을 생성하고 함수가 선언되어 있는 문서에 string으로 삽입[/uli]
[uli]AC_QuickTimeVersion() - 파일의 버전을 소숫점 번호로 돌려줌[/uli]

실제 함수 사용은 다음과 같은 형식으로 문서 안에서 불러주면 된다.

<script language="JavaScript" type="text/javascript">
      QT_WriteOBJECT(srcURL, width, height, activeXVersion,
         "attributeName1", "attributeValue1",
         "attributeName1", "attributeValue2",
         "attributeName1", "attributeValue3",
         "attributeName1", "attributeValue4",
         ...
         "attributeNameN", "attributeValueN"
      );
</script>

여기서 "classid", "codebase", 그리고 "pluginspage" 꼬리표들은 위의 속성 항목들에서 지정되지 않았다면, 자동적으로 기본 값들이 채워지게 된다.

+ = ²