동영상 재생시만 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를 사용한다.
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
 if 로 시작하는 두번째 줄은 현재 video playback 플러그인이 동작중인지 확인하는 부분이다. 확인 후 만약 동작 중이라면  dbus-send로 시작하는 네번째 줄의 명령을 통해서 Texture Filter를 Good으로 바꾸고, 다섯번째 줄에서 mplayer로 동영상을 재생한 후, dbus-send 로 시작하는 여섯번째 줄이 다시 Texture Filter를 Fast로 바꾼다. 만약 video playback 플러그인이 꺼저 있는 상태라면 Texture Filter에 영향을 주지 않을 채 동영상을 재생한다.('08. 2. 8 스크립트 수정) 동영상을 재생할 때는 약간의 속도 감소가 있겠지만, 최대한 쾌적하게 동영상을 보기 위해서 스크립트를 만들어 봤

Mplayer

by sakuragi | 2007/07/27 03:17 | :: C space :: 컴퓨터 | 트랙백 | 덧글(30)

트랙백 주소 : http://sakuragis.egloos.com/tb/3636040
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by 환상경 at 2007/07/27 13:11
훠;;;; 대단하심 !_!
Commented by sakuragi at 2007/07/27 16:09
환상경, 그냥 dbus-monitor로 어떤 이벤트가 발생하는지 체크해서 그대로 dbus-send 로 그 이벤트를 발생시켜준다는 생각으로 시작했는데, 제대로 옵션들을 찾는데 시간이 좀 걸렸어요. :)
Commented by 푸우 at 2007/07/29 11:00
ㅎㅎ;; 이건 어떻게 하는건가요???
쉘스크립트라.... 어떻게 하는지 몰라도 저도 속도를 중시하는 터.... 해보고 싶습니다~~~
Commented by sakuragi at 2007/07/29 16:50
푸우, Compiz-Fusion의 Video Playback Plugin을 안쓰신다면 아무것도 아니예요. :)
Commented by 떠돌이곰 at 2007/08/01 16:13
전 언제나 텍스쳐 설정은 Best(...)
그나저나 저도 Video Playback Plugin 이 무엇일까 궁금했는데 알고보니 패치를 적용해야 하는 것이었군요~ 다행히도 트레비노 쪽 저장소에 있어서 성공했습니다. xv로 해놓고 돌리니 CPU 점유율이 절반정도로 나오네요~ 게다가 싱크 안맞는 동영상들도 다 해결 된 것 같습니다^^ 항상 compiz나 베릴 쓸때 동영상의 CPU점유율이 높다는게 불만이었는데 이렇게 해결되는군요~ 감사합니다~

덧. X11에서는 메타시티 상태일때도 CPU점유율이 좀 높은 편입니다. 그런데 xv로 오니 6~7% 먹네요~이야아~
Commented by 떠돌이곰 at 2007/08/01 16:15
그나저나 어제 compiz 업데이트 하더니 mplayer가 창 테두리 없이 그냥 나오네요=_=;; 요즘엔 플러그인에 기능이 또 몇가지 추가 되더니 버전업 할때마다 오류나는 것 같아요~ 저도 그냥 동결 시켜놓을걸..
Commented by sakuragi at 2007/08/01 16:44
떠돌이곰, 네, Mplayer 패치를 따로 적용해야 됩니다. 24bit color depth용은 트레비노 저장소에 있는 것을 쓰면 되고, 16bit color depth용은 제 플로그에 있는 것을 쓰면 됩니다. 창 테두리 문제는 혹시 Workarounds 플러그인에 Qt Window Fix 를 끄면 해결 될지도 모르겠습니다. :)
제 경우 GL 관련 어플들이 이 옵션을 키면 창 테두리가 안나오더군요.
Commented by 海바라기 at 2007/08/02 02:12
사쿠라기님//오오오오~~ 해결했습니다^^ 감사합니다~ 근데 Workaround 플러그인은 뭐하는 플러그인이죠~? 며칠전에 파이어폭스 메뉴 버그도 이것 때문이었을까요-_-;
Commented by 海바라기 at 2007/08/02 02:12
아..전 떠돌이곰 입니다^^;;
Commented by sakuragi at 2007/08/03 15:02
海바라기, Workarounds는 그동안 Beryl/Compiz을 쓸 때 충돌이 있었던 다른 어플과의 문제를 해결하기 위한 플러그인으로 보여지는군요. 이 플러그인은 버그를 만든다기 보다는 해결하기 위해 나온 플러그인이죠. :)
Commented by 푸우 at 2007/08/04 18:28
오호... 저도 엠플레이어가 갑자기 창이 사라져 고민했는데... 역쉬 여기에 답이 있군요....
ㅎㅎㅎ 아 그리고 사쿠라기님 저도 Compiz-Fusion의 Video Playback Plugin사용 한답니다..ㅎㅎ;;
뭐 그게 어떤작용을 하는지 잘몰라서 계속 따라하긴하는데..ㅎㅎ;; 아무튼 같은 노트북이다보니... 설정은 거의 같습니다...ㅋㅋㅋ;;
Commented by sakuragi at 2007/08/04 20:14
푸우, Video Playback Plugin은 원래 mplayer -vo xv가 compiz의 효과와 연동이 되지 않기 때문에, 패치된 mplayer를 사용함으로써 mplayer -vo xv시 x11로 출력을 해주는 기능을 합니다. 하지만 기존의 x11출력보다는 cpu 점유율이 현저히 낮지요. 벌써 이와 관련해서 4번이나 글을 썼으니 참고하시구요.
KLDP에도 동영상을 올려 둔 게 있으니, 참고 하세요~
http://kldp.org/node/84851
Commented by 푸우 at 2007/08/04 20:40
그래서 말인데요.....저 쉘스크립트를 어케 적용하는지 알수있을까요??? 제가 초보다보니 조금만 전문적으로 들어가도 이해가 부족하네요..ㅎㅎ;
Commented by sakuragi at 2007/08/04 21:18
푸우, 어떤 부분이 어떻게 이해가 안가시는지를 모르겠습니다. 어떤 부분이 어떻게 이해가 안가시는 건지, 어느 부분에서 막히시는지 상세하게 설명 부탁드립니다. 자꾸만 포스팅 했던 내용을 답글로 적는 것도 매우 비효율적인 일이니까요.
Commented by 푸우 at 2007/08/04 21:30
핫핫.. ㅈㅅ
나는 아래 쉘 스크립트를 /usr/bin/Mplayer로 만들고, mplayer 대신에 Mplayer를 사용한다.<--이부분이요
뭐... 만드는건 gedit로 복사해서 Mplayer까지는 만들었는데 어떻게 mplayer 대신에 Mplayer를 사용시
키는지를 모르겠습니다..ㅎㅎ;; 아니면 만들면 알아서 적용??
Commented by sakuragi at 2007/08/04 22:40
푸우, 동영상을 보실때 어떻게 보시는지요? mplayer를 어떻게 사용하고 계신지를 모르니까, 제가 또 질문을 해야 되는군요. :)

gmplayer 실행해서 보시는 건지, Nautilus에서 더블 클릭으로 보시는지? 아니면 뭔가 다른 방법을 쓰시는 건지? 저는 Nautilus에서 더블 클릭해서 실행해서 보는 데 이때 연결 프로그램을 Mplayer로 적용해서 봅니다.

그런데 Video Playback과 패치된 mplayer를 쓰시면서도 Video Playback plugin이 뭐하는 건지 모르겠다고 하셨는데, 애초에 이 작업은 뭔가 속도를 빠르게 해주는 것은 아닙니다.
Commented by 푸우 at 2007/08/04 22:46
흠.... 그렇군요..... 역쉬 뭔가는 알아야 적용을 시킬터인데.... 흠... 저는 그냥 mplayer를 쓴담니다..
흠... Nautilus를 써야 적용을 시키는 거군요.... 저는 좀더 알아보고 사용해야 할듯 합니다~~ㅎㅎ;;
괜한 신경쓰게하여~~ ㅈㅅ.. 하지만...Nautilus이란 프로그램이 있다는것을 알았다는것... 성과가 전혀 없는건 아니였습니다... 함 설치해봐야겠네~~ㅋㅋ 지금까지 감사 하였습니다~~ㅎㅎ
Commented by sakuragi at 2007/08/04 23:00
푸우, 그냥 mplayer를 쓰시면 저 스크립트(Mplayer)를 만들고, mplayer 대신에 Mplayer 라는 명령어를 쓰면 됩니다. 그리고 Nautilus는 전혀 새로운 프로그램이 아니고, '내 폴더'등을 열었을때 실행되는 '파일 브라우저'가 Nautilus입니다.

그리고 푸우님도 말씀하셨지만 이런 저런 것을 적용하기 위해서는 직접 알아보셔야 되는 부분이 많겠지요. 저에게 너무 기본적인 것까지 세세한 설명을 바라시면 안됩니다. :) 제가 제공해 드릴 수 있는 부분은 그저 간단한 팁일 뿐이니까요. :D
Commented by 海바라기 at 2007/08/05 14:13
흐.. mplayer 설치했다가 창 날아간거 보고 트레비노쪽 mplayer 문제인줄 알고 다시 우분투 공식쪽으로 복귀했는데..원인이 그게 아니라는걸 알고는 좌절중입니다..ㅠㅠ
근데 언뜻 보면 metacity 상태에서 xv와 X11은 화질 외에는 별 차이가 없는 것 처럼 보이기도 하네요~ 그냥 X11에 눌러앉은 상태..-_-; 게다가 모질라 플러그인에는 적용되는거 같지 않더군요~
Commented by sakuragi at 2007/08/05 14:59
海바라기, metacity 상태에서도 X11 쪽이 CPU 점유율이 훨씬 높지요. 그리고 Xv가 하드웨어 가속이라서 화면 크기가 클수록 Xv쪽이 부드러운 재생을 보여줍니다. X11은 소프트웨어 가속이라 화면 크기에 비례해서 눈에 좀 거슬리는 부분이 있죠. 특히나 급격한 화면 전환이나 횡스크롤(?)되는 영상에서 심하게 차이가 나타납니다.
저는 모질라 플러그인만 X11 출력으로 쓴답니다.
Commented by 푸우 at 2007/10/27 14:15
쉘스크립트를 조금 공부하고 우분투 7.10으로 버전업을 한후에 다시 설정을 했는데요....
필터링을 good으로 모드가 변경되는것 까지는 되는데..... 설정변경이 안됩니다.... 보조프로그램에서 엠플레이어에서 설정을 들어가면 전에 설정한 것이 그대로 있지만 너틸러스에서 동영상보기를 실행하면 설정 자체를 어떻게 하는지 모르겠습니다. 아.. 너틸러스에서 동영상보는것은 사쿠라기님이 설정하신데로 Mplayer 로 하도록 제가 설정 변경했습니다.
Commented by sakuragi at 2007/10/30 20:59
푸우, mplayer 를 쓰시면 환경 설정은 ~/.mplayer/config 에서 해줍니다. :)
Commented by 푸우 at 2007/11/22 12:39
# Write your default config options here!
이거보고 급당황하여 구글에 서치하니 유저분들의 옵션들이 우르르 있군요~~ㅋㅋ
옵션중하나 선택하여 복사하여 폰트폴더만 바꾸니 기본옵션으로 출력됨니다~~
ㅎㅎ 감사합니다~~ 이제 번거러움에서 해방이 되는군요~~ ㅎㅎ;
Commented by sakuragi at 2007/11/22 14:07
푸우, 제가 쓰는 옵션도 아래 주소의 포스팅에서 확인 가능 합니다.
http://sakuragis.egloos.com/3003372
Commented by 푸우 at 2007/12/02 11:19
아... 사쿠라기님의 옵션중에 저에게 해당되는 문제점이 있어서 그냥 복사해버렸는데요....
원래크기에서는 잘작동 하는것이 전체화면에서는 까만 화면만 출력되네요?
혹시 이부분의 문제점이 있었는지?
Commented by sakuragi at 2007/12/03 23:50
푸우, zoom=yes 옵션이나 vo=xv:ck=set 와 colorkey=0x000000 옵션이 문제일 수도 있구요.
compiz 를 쓰시면 General Option에 있는 Undirect Fullscreen Windows 옵션이 꺼져 있는지도 확인해보시구요.
Commented by 푸우 at 2007/12/05 21:06
거참 안되네...원본크기로 봐야겠습니다. 옵션을 변경한상태에서는 재부팅말고는 재대로된 설정기능을 하지 못하군요..ㅎ;;
Commented by sakuragi at 2007/12/10 16:33
푸우, 뭔가 그냥 지나친 문제가 있는 게 아닐까요? :)
Commented by 푸우 at 2007/12/10 18:39
그런것 같아요.... 그런데 올려진 패치파일을 깔면 안되네요...ㅡ.ㅡ;;ㅋ
거참... 혹시나하고 페치된mplayer를 지우고 원본의 mplayer를 깔고 나서는 다시 잘돌아갑니다.
패치파일과 제컴이 않맞는것 같아요~~
Commented by sakuragi at 2007/12/19 03:57
푸우, 넵, 사실 저도 지금 쓰는 mplayer가 소소한 문제가 있기는 해요. :)

:         :

:

비공개 덧글

◀ 이전 페이지          다음 페이지 ▶

:+: sakuragi's Steam :+: