2007년 07월 27일
동영상 재생시만 Texture Filter를 Good으로 바꾸기... Video Playback Plugin III
벌써 이 Video Playback Plugin에 관한 글만 이것으로 4번째이다. 왜 이렇게 여기에 집착하는 건지 내 자신도 모르겠다. 지난번의 포스팅에서도 잠깐 언급했다시피, 이 Video Playback Plugin(이후 Video plugin)에서 동영상을 크기를 확대 했을때 Compiz의 Texture Filter 설정값에 따라 동영상의 품질이 달라진다고 했다.
그 이유는 이 Video Plugin이 진짜 xv 출력(하드웨어 가속)을 하는 것이 아니고, 실제로는 x11에 출력을 하면서 xv 옵션에 맞춰서 가짜로 xv에 출력과 연동되는 것인데, mplayer의 x11 출력을 써본 사람은 알겠지만 CPU 점유율이 상당히 높다. 하지만 Video Plugin의 경우 적절한 mplayer의 scale 옵션(화질 보정 필터)등을 사용해서 적절한 수준에서 CPU 점유율을 낮추고 마치 x11에 출력한 것과 같이 Compiz 효과와 영상이 연동이 된다.
때문에 이런 scale 옵션(화질 보정 필터)의 경우 Compiz의 Texture Filter의 영향을 받는다. 어떻게 해서 이렇게 되는지는 정확히 모른다. 나는 그다지 좋은 사양의 컴퓨터를 가진 것이 아니고, 이전의 많은 포스팅에서도 언급했듯이 좀 더 나은 속도를 위해서 16bit(색상) depth 환경을 사용한다. 하지만 속도를 중요시하던 나도 Video Plugin 때문에 한동안 Texure Filter는 Good으로 사용했었다.
그만큼 속도면에서 희생했었다. Compiz의 Benchmark Plugin으로 확인 해봤을 때, Texture Filter가 Fast일 때와 Good일 때 상당히 수치 차이가 나는 것을 보고는 '동영상을 재생할 때만 Texture Filter를 Good으로 바꿀 수 없을까?' 하는 생각을 했고, dbus-send를 이용하면 될 것 같다는 생각을 가졌다. 이런 생각을 머리속에 가진채로 몇주를 헤맨것 같다. 그러다가 어제 오늘 집중적으로 구글링을 한 결과 해결할 방법을 찾았다.
나는 아래 쉘 스크립트를 /usr/bin/Mplayer로 만들고, mplayer 대신에 Mplayer를 사용한다.
if 로 시작하는 두번째 줄은 현재 video playback 플러그인이 동작중인지 확인하는 부분이다. 확인 후 만약 동작 중이라면 dbus-send로 시작하는 네번째 줄의 명령을 통해서 Texture Filter를 Good으로 바꾸고, 다섯번째 줄에서 mplayer로 동영상을 재생한 후, dbus-send 로 시작하는 여섯번째 줄이 다시 Texture Filter를 Fast로 바꾼다. 만약 video playback 플러그인이 꺼저 있는 상태라면 Texture Filter에 영향을 주지 않을 채 동영상을 재생한다.('08. 2. 8 스크립트 수정) 동영상을 재생할 때는 약간의 속도 감소가 있겠지만, 최대한 쾌적하게 동영상을 보기 위해서 스크립트를 만들어 봤
Mplayer

때문에 이런 scale 옵션(화질 보정 필터)의 경우 Compiz의 Texture Filter의 영향을 받는다. 어떻게 해서 이렇게 되는지는 정확히 모른다. 나는 그다지 좋은 사양의 컴퓨터를 가진 것이 아니고, 이전의 많은 포스팅에서도 언급했듯이 좀 더 나은 속도를 위해서 16bit(색상) depth 환경을 사용한다. 하지만 속도를 중요시하던 나도 Video Plugin 때문에 한동안 Texure Filter는 Good으로 사용했었다.

나는 아래 쉘 스크립트를 /usr/bin/Mplayer로 만들고, mplayer 대신에 Mplayer를 사용한다.
1 #!/bin/sh
2 if [ `dbus-send --print-reply --type=method_call --dest=org.freedesktop.compiz /org/freedesktop/compiz/core/allscreens/active_plugins org.freedesktop.compiz.get | grep video | wc -l` -gt 0 ]
3 then
4 dbus-send --print-reply --dest=org.freedesktop.compiz /org/freedesktop/compiz/core/allscreens/texture_filter org.freedesktop.compiz.set int32:1
5 mplayer "$1"
6 dbus-send --print-reply --dest=org.freedesktop.compiz /org/freedesktop/compiz/core/allscreens/texture_filter org.freedesktop.compiz.set int32:0
7 else
8 mplayer "$1"
9 fi
Mplayer
# by | 2007/07/27 03:17 | :: C space :: 컴퓨터 | 트랙백 | 덧글(30)
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
쉘스크립트라.... 어떻게 하는지 몰라도 저도 속도를 중시하는 터.... 해보고 싶습니다~~~
그나저나 저도 Video Playback Plugin 이 무엇일까 궁금했는데 알고보니 패치를 적용해야 하는 것이었군요~ 다행히도 트레비노 쪽 저장소에 있어서 성공했습니다. xv로 해놓고 돌리니 CPU 점유율이 절반정도로 나오네요~ 게다가 싱크 안맞는 동영상들도 다 해결 된 것 같습니다^^ 항상 compiz나 베릴 쓸때 동영상의 CPU점유율이 높다는게 불만이었는데 이렇게 해결되는군요~ 감사합니다~
덧. X11에서는 메타시티 상태일때도 CPU점유율이 좀 높은 편입니다. 그런데 xv로 오니 6~7% 먹네요~이야아~
제 경우 GL 관련 어플들이 이 옵션을 키면 창 테두리가 안나오더군요.
ㅎㅎㅎ 아 그리고 사쿠라기님 저도 Compiz-Fusion의 Video Playback Plugin사용 한답니다..ㅎㅎ;;
뭐 그게 어떤작용을 하는지 잘몰라서 계속 따라하긴하는데..ㅎㅎ;; 아무튼 같은 노트북이다보니... 설정은 거의 같습니다...ㅋㅋㅋ;;
KLDP에도 동영상을 올려 둔 게 있으니, 참고 하세요~
http://kldp.org/node/84851
나는 아래 쉘 스크립트를 /usr/bin/Mplayer로 만들고, mplayer 대신에 Mplayer를 사용한다.<--이부분이요
뭐... 만드는건 gedit로 복사해서 Mplayer까지는 만들었는데 어떻게 mplayer 대신에 Mplayer를 사용시
키는지를 모르겠습니다..ㅎㅎ;; 아니면 만들면 알아서 적용??
gmplayer 실행해서 보시는 건지, Nautilus에서 더블 클릭으로 보시는지? 아니면 뭔가 다른 방법을 쓰시는 건지? 저는 Nautilus에서 더블 클릭해서 실행해서 보는 데 이때 연결 프로그램을 Mplayer로 적용해서 봅니다.
그런데 Video Playback과 패치된 mplayer를 쓰시면서도 Video Playback plugin이 뭐하는 건지 모르겠다고 하셨는데, 애초에 이 작업은 뭔가 속도를 빠르게 해주는 것은 아닙니다.
흠... Nautilus를 써야 적용을 시키는 거군요.... 저는 좀더 알아보고 사용해야 할듯 합니다~~ㅎㅎ;;
괜한 신경쓰게하여~~ ㅈㅅ.. 하지만...Nautilus이란 프로그램이 있다는것을 알았다는것... 성과가 전혀 없는건 아니였습니다... 함 설치해봐야겠네~~ㅋㅋ 지금까지 감사 하였습니다~~ㅎㅎ
그리고 푸우님도 말씀하셨지만 이런 저런 것을 적용하기 위해서는 직접 알아보셔야 되는 부분이 많겠지요. 저에게 너무 기본적인 것까지 세세한 설명을 바라시면 안됩니다. :) 제가 제공해 드릴 수 있는 부분은 그저 간단한 팁일 뿐이니까요. :D
근데 언뜻 보면 metacity 상태에서 xv와 X11은 화질 외에는 별 차이가 없는 것 처럼 보이기도 하네요~ 그냥 X11에 눌러앉은 상태..-_-; 게다가 모질라 플러그인에는 적용되는거 같지 않더군요~
저는 모질라 플러그인만 X11 출력으로 쓴답니다.
필터링을 good으로 모드가 변경되는것 까지는 되는데..... 설정변경이 안됩니다.... 보조프로그램에서 엠플레이어에서 설정을 들어가면 전에 설정한 것이 그대로 있지만 너틸러스에서 동영상보기를 실행하면 설정 자체를 어떻게 하는지 모르겠습니다. 아.. 너틸러스에서 동영상보는것은 사쿠라기님이 설정하신데로 Mplayer 로 하도록 제가 설정 변경했습니다.
이거보고 급당황하여 구글에 서치하니 유저분들의 옵션들이 우르르 있군요~~ㅋㅋ
옵션중하나 선택하여 복사하여 폰트폴더만 바꾸니 기본옵션으로 출력됨니다~~
ㅎㅎ 감사합니다~~ 이제 번거러움에서 해방이 되는군요~~ ㅎㅎ;
http://sakuragis.egloos.com/3003372
원래크기에서는 잘작동 하는것이 전체화면에서는 까만 화면만 출력되네요?
혹시 이부분의 문제점이 있었는지?
compiz 를 쓰시면 General Option에 있는 Undirect Fullscreen Windows 옵션이 꺼져 있는지도 확인해보시구요.
거참... 혹시나하고 페치된mplayer를 지우고 원본의 mplayer를 깔고 나서는 다시 잘돌아갑니다.
패치파일과 제컴이 않맞는것 같아요~~