본문 바로가기

컴퓨터&인터넷

초보가 미디어플레이어와 코덱(디코더)에 관해 알게된 몇가지 - 코덱 수동 설치


미디어 코덱에 관해 찾아보고 알게된 정보들을 정리해봤습니다.



디지털로 된 오디오파일이나 비디오파일을 재생하면 오디오 및 비디오의 디지털 코드(?)를 컴퓨터가 해석해서 최종적으로 스피커와 모니터로 볼 수 있게됩니다.

컴퓨터의 프로그램을 만들때 사용되는 컴퓨터 언어를 그냥 코드라고 간단히 이해해도 될 것 같습니다.

응용 소프트웨어 프로그램 뿐만 아니라 모든 종류의 파일들도 디지털 코드로 짜여져 있고요. 음악파일, 동영상파일도 예외는 아닙니다. 디지털 코드(?)를 파일 포맷이라고 쉽게 이해해도 될 것 같습니다.

mp3 음악파일, mp4 비디오파일, exe 실행파일, txt 텍스트파일 등등의 확장자로 표기된 파일 포맷으로 코드의 종류를 알아보기 쉽게 합니다.

그리고 이런 특정 파일포맷을 해석해서 최종결과물을 사용자에게 보여주기 위해서는 특정 소프트웨어 프로그램이 있어야 합니다.


일반적으로 광범위하게 사용되는 파일 포맷은 대부분 소스 코드가 공개되어 있고 아무 제약없이 사용할 수 있습니다. mp3 같은게 대표적입니다.

이런 파일포맷을 재생할때는 mp3 라는 이름의 확장자를 가진 파일들이 가진 고유의 디지털 코드를 해석할 수 있는 프로그램이 필요합니다. 미디어 플레이어 프로그램 같은거요.

예를 들어 어떤 소프트웨어 기업에서 오디오나 비디오 코드를 재생할 수 있는 획기적인 방법을 개발해낸 상황을 생각해볼 수 있습니다.

파일 용량이 작으면서도 품질은 뛰어난 새로운 디지털 포맷(코드)을 만들어내고 mp10 이라는 새로운 이름의 확장자를 붙였습니다. 그리고 소스 코드를 공개하지 않고 자사의 유료 소프트웨어 프로그램에서만 재생하도록 할 수 있습니다.


음악파일 포맷인 mp3, flac 등과 비디오파일 포맷인 mp4, avi, mkv 등과 거의 대부분의 미디어파일 포맷은 모두 공개된 파일포맷입니다.

공개된 코드라는건 누구나 그 코드를 이용해 응용 소프트웨어를 만들 수 있다는 말입니다. 그리고 이런 오디오 비디오 파일 포맷들은 대부분의 미디어 플레이어에서 재생 가능합니다.


미디어 플레이어가 미디어 파일을 재생할 때는 미디어 소프트웨어마다 각기 다른 방법(?)으로 재생합니다.

원소스인 미디어 파일 포맷은 압축률, 음질, 용량 등이 같지만 어떤 방법을 써서 재생시키느냐 따라 최종 결과물이 달라질 수도 있기 때문입니다.

그런 방법들 중 가장 필수적이고도 중요한 것은 가장 효율적인 방법으로, 다시말해 cpu를 가장 적게 사용하면서 최상의 결과물을 만들어내도록 미디어파일 포맷을 해석하는 '코덱'을 사용하는 방법입니다.

아예 새로운 코덱을 개발하거나 기존의 코덱의 라이센스를 따서 수정하거나 해서 사용하는 것입니다.


코덱은 사운드나 동영상을 컴퓨터에서 볼 때 꼭 필요한 필수 라이브러리(?) 입니다.

윈도우에는 기본적이고 대중적인 미디어파일 포맷을 재생할 수 있도록 필수 코덱과 그 코덱을 사용하는 플레이어인 윈도우미디어플레이어가 포함되어 있습니다.

라이센스 문제로 윈도우에 포함되지 않아 인식하지 못하는 파일포맷은 다른 프로그램을 설치해서 재생할 수 있습니다.

보통 인터넷에서 다운받아 설치하는 프로그램들 중 유료 미디어 플레이어에는 자체 개발한 특별한 코덱이 있는 경우가 많습니다.

무료 프로그램들은 공개된 코덱(오픈소스 코덱)을 사용합니다. 대부분의 유명 무료 미디어 플레이어들은 공개된 코덱의 라이센스를 사서 약간의 수정을 하는 경우가 많다고 합니다. 그래서 플레이어마다 코덱이 다 달라서 같은 코덱을 사용했다 하더라도 음질, 화질 등이 차이가 납니다.


'윈도우 미디어 플레이어(WMP)'로 모든 미디어파일 포맷을 재생하려면 특정 미디어파일 포맷을 재생할 수 있는 코덱을 윈도우에 설치하면 됩니다.

그러면 윈도우 기본 재생 프로그램인 윈도우미디어플레이어가 재생할 수 있는 미디어 파일 포맷의 종류rk 자동으로 추가되게 됩니다.


다른 플레이어를 설치하고 '기본 재생 프로그램'으로 사용한다면 플레이어 옵션에서 시스템에 설치된 코덱을 수동으로 지정해줄 수 있습니다.

이때 같은 미디어파일 포맷을 재생할 수 있는 코덱을 다른 종류로 중복 설치하면 코덱 간 충돌로 문제가 생깁니다.

보통 '통합 코덱팩'을 하나만 설치하는데, 코덱 설치는 일반적으로 중요한 시스템 폴더에 직접 설치하는 것이라서 여러 코덱팩들을 중복으로 설치하면 문제가 생깁니다.

이전 코덱팩을 완전히 지우지 않고 다른 코덱팩을 깐다거나 했다가는 코덱 간 충돌로 복잡한 문제들이 생길 수 있습니다.

귀찮지만 컴퓨터를 잘 관리하려면 필요한 코덱들만 개별적으로 까는 방법을 많이 추천하더군요.


코덱을 OS 시스템 자체에 굳이 안깔아도 됩니다.

미디어 플레이어가 자체 코덱을 개별 폴더에서 독립적으로 작동하게 해놨다면 코덱간의 충돌로 인한 문제를 피할 수 있습니다. 대부분의 플레이어들이 이런 방식을 씁니다.

팟플레이어같은 것만 설치해놓으면 거의 모든 미디어파일을 재생할 수 있습니다. 귀찮게 코덱 깔고 어쩌고 할 것 없이 팟플레이어 같은 플레이어 하나만 설치하면 코덱에 대해 신경쓰지 않아도 됩니다.

재생이 되지 않는 미디어가 있으면 그때마다 필요한 코덱을 찾아서 시스템에 설치하거나 플러그인 형식으로 미디어 프로그램 폴더에 복사해서 붙여넣기만 하면 됩니다.

보통 팟플과 LAV Filter 정도만 설치해두는걸 가장 많이 추천하시더군요.


미디어 플레이어를 설치하면 프로그램 폴더에 따로 코덱 폴더가 있는 것이 보통입니다.

만약 미디어플레이어 설치때 코덱을 시스템 폴더에 직접 설치해버리는 경우라면 다른 코덱이나 코덱팩을 개별적으로 깔때 문제가 생길 수 있는데 그런 플레이어가 있는지는 모르겠네요.

코덱을 시스템에 직접 설치한다는 건 [ windows > system32 ] 폴더에 코덱 파일을 넣고 시스템 레지스트리에 등록하는 등의 작업을 한다는 말입니다. 이렇게 시스템에 직접 코덱 설치를 하면 윈도우 기본 미디어플레이어에서 재생이 안되던 미디어 파일포맷이 재생이 됩니다.


팟플레이어같은 프로그램의 코덱이 마음에 안들거나 더 나은 코덱을 사용하고 싶으면 플레이어 자체 옵션 설정 메뉴에 있는 코덱이나 플러그인 설정에서 따로 등록해서 사용할 수 있습니다.


플레이어 자체 설정에서 코덱을 등록할 때, B 라는 미디어플레이어의 코덱을 사용해보고 싶다면 B 프로그램 폴더의 코덱이 들어있는 폴더로 가서 확장자가 .ax 나 .dll 인 코덱 파일의 경로를 직접 지정해주면 됩니다. 아니면 파일을 복사해서 A 플레이어의 코덱 플러그인 폴더에 넣어둬도 됩니다.

어떤 미디어 플레이어의 경우는 코덱을 아예 시스템 폴더에 직접 넣어버리는 경우도 있다고 하네요. 이 경우와 위에 적은 시스템에 직접 설치해서 윈미플에서도 재생가능하게하는 작업은 다르다고 합니다.

'시스템 와이드'로 연동되는게 아니고 그냥 그 플레이어의 코덱 폴더를 따로 만들지 않고 system32 폴더에 설치해버린다는 말입니다.


애용하는 코덱팩이 있고 어떤 플레이어에서든 그 코덱을 직접 지정해서 사용하고싶다면 그 코덱팩만 시스템에 직접 설치하면 됩니다.

LAV filter 가 대표적인데 LAV홈페이지에서 코덱 설치파일을 다운받아 설치만 하면 됩니다.

(LAV Filter는 무설치 포터블 버전도 있습니다. 압축을 풀고 필요한 코덱 파일의 주소 경로를 입력해주거나 복사해서 플레이어 플러그인 경로에 넣어주면 됩니다.) 


** 코덱팩을 비추하는 이유는

코덱이 꼬이고 애드웨어가 함께 설치된다.

설치과정에서 서드파티 어플리케이션 같이 설치할것인지 체크하는 항목에서 체크해제할 것. 

(실수로 같이 설치를 해도 '프로그램 추가/제거'에서 삭제 가능) 

코덱 충돌은 삭제나 재설치를 반복하면서 정상적으로 등록해제가 안될 때 발생. 

코덱팩 제거 시 정상적으로 등록해제를 하지 않는 팩들은 같은 코덱팩을 버전 업그레이드 할때도 문제가 생길 수 있음. 

여러 다른 팩들을 여러번 설치하는 경우, 팩 제거 시 정상적으로 등록해제를 하지않는 팩이 있었을 경우 꼬인다. 또한 대부분의 코덱들이 같은 경로에 설치되는 경우가 빈번하고 코덱들 버전이 상이해지면서 등록 시스템이 달라지는 경우가 생기는데 이럴경우 업그레이드된 코덱이 포함된 다른 팩을 설치시 100% 꼬인다.

- 게시판에서 퍼온 글


미디어 플레이어 옵션에서 코덱 파일을 개별적으로 설정하면 코덱과 관련된 문제도 없고 간편하지만,

특정 코덱만 하나하나 시스템에 직접 수동 설치할 수도 있습니다.

(시스템 전체가 특정 파일 포맷을 인식하도록 하는 이유는 좀더 편하게 미디어 파일을 재생할 수 있기 때문입니다. 운영체제에 등록되서 인식된 파일 포맷은 미디어 프로그램 옵션 설정에 들어가 복잡하고 어려운 과정을 거치지 않고, 윈도우 '기본 프로그램 지정' 같은 설정만 하게되면 파일을 재생할 수 있기 때문입니다.)


코덱 파일은 보통 확장자가 dll 또는 ax 입니다.

코덱 파일을 구한 후 윈도우가 직접 인식할 수 있도록 하려면 다음과 같이 하면 됩니다.

dll 이나 ax 파일을 [ windows > system32 ] 폴더에 넣고

[ 작업표시줄 > 시작 > 실행 ] 을 클릭한 후 아래와 같이 입력해서 레지스트리에 등록하면 됩니다.

regsvr32 코덱이름.ax  또는  regsvr32 코덱이름.dll

등록 해제할 때는  regsvr32 /u 코덱이름.ax  또는  regsvr32 /u 코덱이름.dll

참조 -  http://www.free-codecs.com/guides/how_to_install_uninstall_dll_and_ax_files.htm



** 이 글은 컴퓨터 전문가나 사용경험이 많은 고급사용자의 글이 아닙니다. 용어나 설명 등에 문제가 있으면 지적해주세요. 수정하겠습니다.



# 그 외 유용한 기타 정보 정리 (퍼온글)


▪ 팟플레이어는 64비트 버전을 사용하든 32비트 버전을 사용하든 가장 중요한 점은 설치 시에 오픈 코덱 설치를 묻는 체크란이 있는데, 무조건 체크해서 설치하도록 하자.

오픈 코덱 설치라고 해서 PC에 추가적으로 잡다한 코덱팩을 설치하는 것이 아니고, 오디오 재생을 위한 DLL 파일만 팟플레이어 폴더에 추가로 저장되는 것뿐이다.

오픈 코덱을 꼭 설치를 해야 DTS, AC3 등의 코덱을 정상적으로 팟플레이어에도 사용할 수 있게 된다. 단,아예 외장 코덱(대표적으로 LAVFilters)을 쓸 생각이라면 설치하지 않아도 된다.

(32비트 버전은 코덱 호환성이 좋아 안정적. 64비트 버전은 속도 및 성능에서 약간 유리)


▪ 인터넷에 동영상을 초고화질로 본다는 미명 하에 LAVFilters를 사용한 방법이 돌아다니고 있는데, 실제로는 화질과는 그다지 관련이 없다.

간단히 말하면, 개발이 거의 완료된 디코더들은 그것들이 디코더의 표준 스펙을 준수하는 한 화질 차이는 전혀 없는 것이 당연하다.

다시 말해 DxVA와 같은 하드웨어 디코더나 ffmpeg 디코더들(LAV, 팟플 내장)의 디코딩 품질은 동일한 것이 당연하고 그래야 한다. 만약 다르다면 그것은 디코더에 버그가 있거나 디코딩 후 처리(후처리)가 다른 부분이 있기 때문이다..

가끔 외부 코덱을 사용해, 필터 처리를 하는 것을 초고화질 설정법이라고 소개해 놓은 블로그도 있다. 하지만 색감 보정 및 영상 노이즈를 줄이는 처리 기술은 원본 영상에 인위적인 왜곡을 가해 만들어지는 것일뿐, 초고화질 설정법이 아니다. 

게다가 현재 배포되는 블루레이급 영상은 원본의 화질이 충분히 뛰어나다. 다만, 팟플레이어 내장 코덱은 yadif를 이용한 디인터레이스를 지원하지 못한다. 만약 초고화질을 원한다면 디코딩 이후의 렌더러 단계에서 madVR을 쓰는 것이 목적에 보다 가깝다.


▪ 하드웨어 가속으로 동영상을 재생하는 것은 일장일단이 있다.

하드웨어 가속이 잘 되지 않는 경우도 있고 이 때문에 오히려 재생에 문제가 발생할 수도 있다. 그런 경우 가속을 끄는 것이 좋다. 또 하드웨어 가속은 내장 코덱 이용을 일차적으로 권장한다

(하드웨어가속으로 cpu 사용량을 줄일 수 있음)


▪ 특정 필터가 화질이 더 좋아보인다면 디코딩 품질이 더 좋은 것이 아니라 색감보정 및 영상노이즈 처리로 가해진 보정효과 때문임.

오디오디코더의 경우도 마찬가지임. 뮤직플레이어인 푸바와 aimp 및 여타 다른 무료 프로그램에서 사용하는 디코더의 처리 품질은 동일.


▪ 화질 관련 몇가지

dxva 보다 cpu를 사용하는 것이 화질이 더 좋음. cpu 자원 더 소모.

컬러스페이스는 yuy2 가 보다 원본색감에 가까움. 자원을 약간 더 많이 소모. 컬러 스페이스는 사용자 기호가 천차만별. 플레이어마다, 원본 영상마다 권장하는 컬러스페이스가 있음.



# 관련글 : 가벼운 뮤직플레이어