API / MFC/DirectShow

DirectShow의 기본 키워드 정의

행복하면 2010. 3. 22. 09:51

필터(filter)
    - Directshow에서 가장 핵심적인 객체
    - 멀티미디어 작업의 일부를 분담하는 역할
    - 여러 개의 필터들이 모여 멀티미디어 파일을 재생
    - 예를 들어,
        그래프 에디터를 이용하여 L11.mp3를 실행 시킬 때


            L11.MP3
            MPEG-1 Stream Splitter
            MPEG Layer-3 Decode
            Default DirectSound Device
        이 4개의 필터를 이용하여 mp3를 재생하게 됩니다.


소스 필터 (source filter)
    - 필터 그래프 시작점에 해당되며, 멀티미디어 작업을 진행하기 위해 파일을 읽는 역할
      예) L11.MP3


트랜스폼 필터(transform filter)
    - 입력 핀으로부터 데이터를 받아 처리 한 후 출력 핀으로 보내는 역할
    - 일반적으로 인코딩/디코딩 기능을 가지고 있음
      예) MPEG Layer-3 Decode


랜더러 필터(reanderer filter)
    - 입력 핀으로 부터 데이터를 받아 사용자에게 보여주는 역할을 하는 필터
      예) Default DirectSound Device


스플리터 필터(splitter filter)
    - 2종류 이상의 데이터들을 구별하는 역할
    - 입력 핀으로 부터 데이터 구별 한 후 2개 이상의 출력 핀으로 데이터를 보냄
    - 주로 동영상 파일 재생 할 때 영상과 음성을 구별하기 위해 사용


먹스 필터(mux filter)
    - 스플리터 필터와는 반대의 역할
    - 두 개 이상의 입력 핀으로 데이터들을 받아 하나의 스트림으로 통합
    - 주로 동영상 파일을 만들 때 사용 영상과 음성을 통합하기 위해


핀 (pin)
    - 필터들을 연결하기 위해 사용되는 객체, 입력핀과 출력핀이 존재


필터 그래프(filter graph)
    - 멀티미디어 작업을 처리하기 위한 필터들의 집합


필터 그래프 매니저(filter graph manager)
    - 필터 그래프를 관리하는 역할을 맡는 객체
    - Directshow 어플리케이션들의 필터를 사용하기 전에 반드시 이 객체를 생성해야 함
    - 생성 후 필터 그래프를 완성할 수 있고, 완성된 필터 그래프로
      재생, 녹음, 녹화 등의 멀티미디어 작업 실행가능


인터페이스(interface)
    - 어떤 프로그램/ 모듈/ 컴포넌트가 COM 컴포넌트를 사용할 수 있는 수단 또는 매개체
    - COM 컴포넌트를 사용할 때에는 프로그램이 직접 COM 컴포넌트를 만들거나
      접근 할 수 없어 인터페이스를 사용함


CoCreateInstance
    - COM 컴포넌트를 생성하는 함수이며, 생성 후 인터페이스를 가져옴
QueryInterface
    - 모든 COM 컴포넌트에는 이 함수가 구현되어야 하며, 다른 COM 컴포넌트의
      인터페이스를 가져오기 위해 사용


IID(Interface IDentifier)
    - 인터페이스의 고유한 ID값, 128비트 값에 의해 고유하게 지정
    - Uuidgen.exe(도스창에서 사용할 수 있는 툴), Guidgen.exe(visual c++ 예제 프로그램)로
      COM 라이브러리의 CoCreateGuid 함수를 호출 후, Wind32 RPC API함수인 UUIDCreate를 호출하여
      내부 알고리즘에 의하여 GUID를 생성
      C:\Program Files\Microsoft Visual Studio 8\Common7\Tools 여기폴더 안에 존재
    - IID는 GUID(Globally Unique IDentifier) 이라고 할 수 있음


DirectShow의 COM 컴포넌트
    - Directshow 어플리케이션의 미디어 파일을 제어하기 위한 필요한 기본적인 객체들이 필터 그래프와 필터
    - 필터 그래프와 필터 모두 COM 기술로 구현이 되었으므로 COM 컴포넌트


COM 컴포넌트
    - COM 기술을 이용하여 정의되는 객체


IUnknown 인터페이스
    - 모든 인터페이스들과 COM 컴포넌트들에게 공통적인 특성을 부여하기 위해 만들어진 인터페이스
    - 모든 인터페이스들은 IUnknown을 상속받는 것을 규칙



원  작  자 : 도모네(
http://blog.naver.com/netrance)

참조페이지 :
http://blog.naver.com/netrance/110049276005
                 http://blog.naver.com/netrance/110052282290
                 http://blog.naver.com/netrance/110052285041
                 http://blog.naver.com/netrance/110052381977

※ 이 글은 네이버 블로거 도모네님의 글을 수정한 글입니다.