제가 잘은 모르지만...몇자 적어 봅니다. (틀릴 수도 있습니다.
)
미디어 파일들을 서버에서 특정 mime-type 을 가지고 사용자 컴퓨터에 전송됩니다.
예를 들어서
http://mysite.com/mymovie.mpeg 파일을 브라우져에서 호출을 하게 되면 각 확장자에 따라서 적절한 mime-type 이 http 헤더에 표기 되고 그 정보를 가지고 브라우져는 "아. 이거는 미디어 파일이니까 mpeg 를 실행할 수 있는 프로그램을 실행하면 되는 군" 이라고 알게 됩니다.
html 에서도 이 mime-type 을 정할 수 있습니다.
<object type="application/~~~"></object>
와 같이 type 에 정확한 mime-type 을 적어주면 브라우져가 페이지를 랜더링 할때 해당 플러그인(IE 의 경우 active-x)을 구동 시키고 화면에 "embed" 됩니다.
문제는 IE 의 경우 표준에서 지정한 것과는 다르게 특정 active-x 장치의 classid 를 지정해줘야 플러그인을 불러들인다는 것에 있습니다.
윈도우미디어플레이어나 플래쉬플레이어나 퀵타임플레이어등은 정해진 classid 를 가지고 있고 이것을 올바로 지정해 주어야 플러그인이 로드가 됩니다. 플래쉬에서 html 퍼블리시를 해보면 <object classid="clsid:XXXXXXXXXXXXXXXX"> 와 같이 암기가 불가능한 코드가 나오는 것을 보신적이 있을 것입니다.
그런데 저렇게 classid 를 정하면.....IE 에서만 나옵니다.
만약 classid 를 지정안하고 해당 미디어의 mime-type 을 정해주면 PC 에 설치 되어 있는 가장 적절한 (해당 mime-type 을 볼 수 있는) 플레이어가 로드 됩니다. 그런데 IE 에서는 안보입니다.
!! 이럴수가
둘다 만족 시키는 방법이 현재로서는 없어서 매크로미디어에서는 IE 를 위한 object element 와 NN 계열을 위한 embed 를 같이 사용하는 방법을 "권장"하고 있는 것입니다. 일종의 버그(?)를 이용한 방법이죠. 그래도 많은 브라우져에서 테스트 됐고 일단 잘 나오니까 사용하는 것 같습니다.
얘기가 길어진 것 같은데...
object 에서 mime-type 만 입력하면 미디어플레이어가 구동이 되어서 볼 수 있지만 IE 에서는 볼 수가 없습니다.
현재까지 알려진 몇몇 방법(일종의 hack 같은 것들입니다.)을 사용하면 무리없이 볼 수 있지만 기본적으로 퀵타임으로 재생하라고 html 에 적혀 있는 것을 강제로 미디어 플레이어로 재생하라고 할 수는 없을 것 같군요.
퀵타임을 로딩하려는 것으로 봐서 object 에 embed 가 포함되어 있는 것 같은데 특별한 방법은 없을 것 같습니다. 저같은 경우 그낭 embed 만 사용하면 윈도우미디어플레이어(구형, 4.6 버젼이던가?)가 구동이 되더군요.