MPEG 파일을 보기위한 플러그인은 뭔가요?

Mozilla Firefox 사용에 대한 일반적인 질문과 답을 해 주는 게시판입니다. 질문을 하기 전에 FAQ를 읽어 보시는게 도움이 될 것입니다.
Post Reply
Darth AhKIN

MPEG 파일을 보기위한 플러그인은 뭔가요?

Post by Darth AhKIN »

간혹 웹서핑하다보면 embed 태그로 붙은 mpeg 파일들이

있는데, 모질라에서 보면 플러그인을 설치하라고 나오더군요.

Quicktime 을 설차히라고 나오는데 퀵타임말고 그냥 별도의

플러그인 설치없이 IE처럼 화면상에서 미플로 재생하는 방법은

없나요? 옵션에 봐도 특별한 항목은 없는거 같고, 확장자는

분명 미플로 연결되어 있는거 같던데요.

윈도XP sp2에 미플10 파폭 1.0 프리뷰 버젼입니다.
hyeonseok
해커
해커
Posts: 691
Joined: 2004 08 11 22:14 59
Contact:

Post by hyeonseok »

제가 잘은 모르지만...몇자 적어 봅니다. (틀릴 수도 있습니다. :) )

미디어 파일들을 서버에서 특정 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 버젼이던가?)가 구동이 되더군요.
빛알갱이
해커
해커
Posts: 1146
Joined: 2004 01 15 20:06 36

Post by 빛알갱이 »

현석님 얘기에 조금 더합니다. MS IE에서 object를 조금만 제대로 구현해 놓았어도 이제는 deprecated된 embed를 쓰지 않고 object를 겹치기로 써서 (바깥쪽에서는 classid를 지정해서 ActiveX control을 부르고, 안쪽 Object에서는 모질라 등을 위한 마임 형식 등 지정) MS IE와 다른 브라우저를 모두 만족시킬 수 있는데, MS IE의 object 구현이 이상해서 잘 안 됩니다. 결국, object 안에 embed를 넣어 두는 방법(현석님이 얘기한)을 쓰는 수 밖에 없나 봅니다.

이처럼 embed를 쓴 경우에 또다른 문제의 가능성은 써버쪽에서 보내는 MIME type (확장자가 아니라)이 [0] WMP plugin이 지원한다고 모질라에게 알려 주는 것에 포함되지 않았을 수도 있습니다. WMP가 다룰 수 있는 MIME type 목록에 대한 registry를 변경해도 WMP plugin이 지원한다고 모질라에게 선언하는 MIME type은 변하지 않는 것 같습니다. (혹시 바꾸는 법 아시는 분?) 이 사실은 'about:plugins'에 가서 WMP plugin이 지원한다고 하느 플러그인 목록을 보시면 알 수 있습니다. 서버에서 그 파일에 대해 보내는 MIME type이 무엇인지 확인해서 about:plugins에서 WMP plugin이 지원한다고 주장하는 목록에 들어 있지 않은지 살펴 보아야 합니다. [1] 예를 들어, 'application/x-mplayer2'는 들어 있어도 'audio/mpeg' (후자가 IANA에 등록된 mp3 audio 파일에 대한 MIME type입니다)는 들어 있지 않아서 대부분의 사이트에서 mp3 음악 파일도 quicktime player를 설치해야만 들을 수 있습니다.

만약 들어 있지 않다면 이것을 강제로 바꾸는 수가 있기는 한데, 새로운 플러그인을 설치하거나 모질라/불여우를 새로 시작하면 날아가 버릴 가능성이 높습니다. [2]pluginreg.dat라는 파일 (불여우 프로파일이 있는 디렉토리에 있습니다. 실제 프로파일이 있는 디렉토리가 아니라 프로파일들 목록이 있는 디렉토리. 즉, 'Documents and Setting\사용자 이름\Application Data\Mozilla Firefox' : 정확한 경로는 확인해 보십시오)에 해당 MIME type을 적어 넣는 것입니다.

그런데, 이렇게까지 하시느니 그냥 quicktime을 설치하시는 편이 낫겠지요? 저만 그런지 몰라도 quicktime plugin 단추를 눌러도 제대로 설치가 안 되더군요 (제가 Adim 권한이 없는 사용자로서 시도해서 그런지). http://www.apple.com/quicktime
에 가셔서 quicktime player를 다운로드하신 다음에 Admin 권한이 있는 사용자로서 설치하고 불여우를 다시 시작하세요.

[0] embed tag에서 지정하는 MIME type이 써버에서 보내는 것을 override하는지 안 하는지 확인해 보지 않았습니다. 제가 지금 가물가물한데, 아마도 override하지 않는 것이 표준인 것 같습니다.

[1] HTTP 헤더를 보는 무료 도구는 다음과 같은 것이 있습니다.
리눅스/유닉스나 Mac OS X 사용자는 wget (-S option)이나 curl을 쓸 수도 있고요. Windows용 wget도 있기는 합니다. 이것을 나열하는 이유는 웹 표준 검사를 위해서도 이것이 필수적이기 때문입니다.

http://webtools.mozilla.org/web-sniffer/
http://www.delorie.com/web/headers.html
http://www.rexswain.com/httpview.html
http://www.delorie.com:81/some/url.html
http://www.i18ngurus.com/cgi-bin/TestLang.pl

[2] https://bugzilla.mozilla.org/show_bug.cgi?id=265140
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest