MenuIcon

Owl-Networks Archive

LoginIcon

XP: 동영상이 저장된 폴더에 접근하던 중 발생하는 탐색기 오류

| 분류: 컴퓨터 사용 경험 | 최초 작성: 2009-01-05 04:19:43 |

- 부제 : 탐색기의 동영상 등 미리 읽기 (프리뷰) 기능 해제 / 차단하기 -


1. 발단

윈도우 탐색기를 이용하여 동영상이 저장된 폴더에 접근하려고 할 때, 탐색기가 오류를 발생시키면서 다운되는 경우가 있다. (이 경우 십중팔구, - 작업막대와 탐색기를 분리된 프로세서로 실행하도록 설정해두지 않았다면 - 쉘이 다운되어 버리는, 즉 하단의 작업 막대가 사라져 버리는 현상이 발생할 것이다.) 필자도 이러한 현상이 발생하였는데, 해당 폴더에 접근하던 도중 그런 문제가 생기는 경우도 있고, 특정한 동영상 파일을 클릭한 경우 (이런 경우 윈도우는 그 정보를 얻기 위해 이 파일을 미리 읽는다.)에 발생하는 경우도 있었다.

Image2.jpg


이러한 현상의 원인으로 일차적으로 추론할 수 있는 것은 코덱 문제이다. 시스템에 등록된 코덱끼리 충돌을 일으키고 있거나, 코덱 자체의 버그 등으로 인하여 오동작하는 경우이다. 그 이외의 경우는 대개 다운로드 받거나 생성한 동영상 자체에 문제가 있는 경우이다. (그 이외의 경우는 필자가 예상할 수 있는 범위를 넘어선다.)

Image4.jpg


이 화면은 윈도우에서 오류가 발생했을 때 오류 보고를 위하여 작성하는 appcompat.txt 파일의 확장자를 xml으로 바꾸어 IE에서 읽은 것이다. 이 파일에는 이 오류를 발생시킨 범인이 기록되어 있다. msyuv.dll 이 문제의 범인임을 쉽게 알 수 있는데, 이 녀석은 Microsoft UYVY Video Decompressor 라고 하는 녀석이다. (필자가 알고 있기로는 이녀석도 코덱이다.)


따라서 일반적으로는, 현재 설치된 코덱을 최신 버전으로 교체하거나, 동영상에 문제가 있는 경우 동영상을 다시 생성하거나 다시 구하면 된다. 그러나 일단 필자의 경우에 문제가 된 msyuv.dll 은 XP 서비스팩 3에 포함된 최신의 것이므로 여기에 문제가 있다고 보기는 어려웠다.

혹시나 싶어서 서비스팩 2에 존재하던 msyuv.dll 을 복사하여 C:\WINDOWS\SYSTEM32 에 있는 msyuv.dll 파일을 대체해 보았다. (그리고 dllcache 에 있는 파일도 대체했다.) 그랬더니 일단 오류는 발생하지 않았지만, 그 파일을 읽고 있는 탐색기의 CPU 점유율이 90%대를 넘어서는 현상이 발생했다. (일반적으로 점유율 100% 프리즈(freeze) 라고 이야기되는 그 현상 말이다.) 결국 오류를 내며 종료되건 시스템이 freeze 되건 오류를 내기는 마찬가지인 셈이다.


그렇다면 동영상의 문제인데, 이러한 오류를 발생시키는 동영상이 너무 많아서, 그것들을 일일이 다 교체한다는 것은 너무 시간과 비용을 많이 요하는 것이었다. (게다가, 이러한 동영상들은 필자가 사용하는 KMPlayer 등을 이용하면 아무런 문제 없이 재생이 되는 것들이었다.)



2. 방법


혹시나 싶어 네이버 지식인을 검색해보니, 미디어 플레이어를 다시 깔아보라거나, 인터넷 익스플로러를 다시 깔아 보라는 등의 어이없는 답변들이 도배가 되고 있었다. 최고의 압권은 통합코덱 최신버전을 깔아보라는 것이었는데, 코덱 충돌이 원인인 경우, 거기에다 온갖 잡다한 코덱이 한꺼번에 깔리는 통합코덱을 설치할 경우 아예 시스템이 맛이 갈 수도 있다.


별 수 없이 또 구글신께 문의했다. 약간의 수고 끝에 괜찮은 답을 얻었는데, 아예 탐색기에서 동영상의 정보를 미리 읽는 쉘 확장을 제거하는 방법이었다. 이를 적용하면 미리 보기 (Preview) 기능이 작동을 하지 않게 되지만, 실제로 동영상의 경우 미리 보기를 굳이 해야 할 이유도 없고, 오히려 그 폴더 안에 동영상이 많을 경우 미리 보기 기능은 속도만 저하시킬 뿐이다. (같은 이유로 필자 역시 눈엣가시처럼 생각하던 기능이다.) 따라서, 가차없이 기능을 꺼 버리기로 했다.

(1) 시작 → 실행 → cmd 를 실행한다.

(2) 다음을 실행한다.
regsvr32 /u shmedia.dll


(3) 다음과 같은 결과가 되면 성공이다.

Image5.jpg


(4) 만약 속도의 문제를 해결하기 위하여 이미지의 미리 보기 기능까지 끄고 싶다면 다음의 명령을 추가로 실행한다.
regsvr32 /u shimgvw.dll




3. 해결

위의 방법을 적용하고 나자, 동영상 등을 탐색기에서 미리 읽는 기능이 해제되었다. 따라서 동영상이나 이미지의 미리 보기가 설정되어 있는 폴더에 접근하여도 미리 보기 기능이 동작하지 않는다. 이미지의 미리보기 기능까지 해제한 경우 내 그림 폴더에 접근하여도 그림의 미리보기가 동작하지 않게 된다.

따라서, 속도를 위하여 이 기능을 해제하겠다고 한다면 위의 두 dll을 모두 등록 해제하고, 단지 동영상의 미리읽기 중 크래시 문제를 해결 내지 예방하기 위한 차원에서 이 기능을 해제할 경우 동영상에 해당하는 위 2-(2)만을 적용하면 된다.



4. 되돌리기

만약, 위 두 기능을 다시 살리고 싶다면, 시작 → 실행 → cmd 를 실행한 후 콘솔 모드에서 각각 다음의 명령을 적용하면 된다.

(1) 동영상 등 미리 보기 기능을 다시 활성화시키려면 :
regsvr32 shmedia.dll


(2) 이미지 미리 보기 기능을 다시 활성화시키려면 :
regsvr32 shimgvw.dll




첨부 파일은 위 명령을 배치 파일로 만들어둔 것입니다. 압축을 풀면 두 개의 첨부 파일이 나오는데,
- DisableAVIPreview.cmd 파일은 위 두 기능을 모두 해제하는 역할을 하며,
- EnableAVIPreview.cmd 파일은 위 두 기능을 다시 켜는 역할을 합니다.

다운로드 (크기: 254Byte)





5. 참고한 문서

* 이 방법은 다음의 페이지로부터 도움을 받았습니다 :

http://ings.ca/jim/2007/08/29/disable-avi-preview-in-windows-explorer/

위 링크에서는 이 방법을 적용하는 이유로서, 그 파일을 삭제, 이름 변경, 이동 등을 시도할 때 "Access Denied(접근이 거부되었습니다.)" 오류를 보게 되는 상황을 막기 위해서 라고 하고 있습니다. 그러나 이 문서와 같은 경우에도 이 방법은 유용합니다.

☞ 태그:

☞ 트랙백 접수 모듈이 설치되지 않았습니다.

☞ 덧글이 1 개 있고, 트랙백이 없습니다.

덧글을 남기시려면 여기를 클릭하십시오.

□ 나그네 님께서 2011-06-04 12:21:10 에 작성해주셨습니다.

특정 폴더만 열면 CPU 점유율이 상승해서 해결법을 찾고잇었는데

님 덕분에 해결했네요 감사합니다....

⇒ 부엉이 님께서 2011-06-04 15:03:24 에 답글을 작성하셨습니다.

도움이 되셨다면 다행입니다. ^^

[489] < [308] [307] [306] [303] [301] ... [300] ... [299] [298] [295] [294] [270] > [19]

(C) 2000-2023, Owl-Networks. Powered by Perl. 이 페이지는 HTML 5 표준에 따라 작성되었습니다.