맨위로가기

미디어 파운데이션

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

미디어 파운데이션은 윈도우 운영체제에서 멀티미디어 데이터를 처리하기 위한 API 및 런타임 환경이다. 아키텍처는 제어 계층, 코어 계층, 플랫폼 계층으로 구성되며, 코어 계층은 미디어 소스, 미디어 싱크, 미디어 파운데이션 변환(MFT)으로 이루어진 파이프라인을 포함한다. MFT는 코덱, 멀티플렉서 등 데이터 변환을 담당하며, 향상된 비디오 렌더러(EVR)를 통해 비디오 콘텐츠를 렌더링한다. 미디어 파운데이션은 다양한 미디어 형식을 지원하며, 윈도우 미디어 플레이어, 파이어폭스 등 여러 응용 프로그램에서 사용된다. DirectShow를 대체하며 고선명 콘텐츠 및 DRM 보호 콘텐츠 지원, DXVA 사용, 시스템 자원 효율성 향상 등의 장점을 제공한다.

더 읽어볼만한 페이지

  • 멀티미디어 프레임워크 - 퀵타임
    퀵타임은 1991년 애플에서 처음 출시된 멀티미디어 프레임워크로, 다양한 기능 업데이트를 거치며 발전했으나 애플의 소극적인 지원으로 쇠퇴하였고, 비디오 및 오디오 트랜스코딩, 코덱 지원 등의 특징을 가지며 퀵타임 플레이어를 통해 다양한 파일 형식을 재생할 수 있도록 지원했으나, 2016년 4월 윈도우 버전 지원이 중단되었다.
  • 멀티미디어 프레임워크 - 다이렉트쇼
    DirectShow는 마이크로소프트에서 개발한 윈도우 기반 멀티미디어 프레임워크이자 API로, 필터 그래프를 통해 비디오 재생, 오디오 녹음, 편집, 인코딩 등 다양한 작업을 처리하며, 뛰어난 코덱 확장성을 가지지만 복잡한 구조와 코덱 충돌 문제가 있다.
  • 마이크로소프트 윈도우 멀티미디어 기술 - 윈도우 디스플레이 드라이버 모델
    윈도우 비스타부터 도입된 윈도우 디스플레이 드라이버 모델(WDDM)은 성능 향상, 안정성, 새로운 기술 지원을 목표로 개발된 디스플레이 드라이버 아키텍처로, 가상화된 비디오 메모리, GPU 스케줄링, 프로세스 간 Direct3D 표면 공유, 향상된 오류 허용성 등의 특징을 가지며 데스크톱 윈도우 관리자(DWM)를 통한 합성 데스크톱 환경 구현에 필수적이다.
  • 마이크로소프트 윈도우 멀티미디어 기술 - 윈도우 미디어 플레이어
    윈도우 미디어 플레이어는 마이크로소프트에서 개발하여 윈도우 운영 체제에서 오디오, 비디오, 이미지 파일을 재생하는 데 사용되는 미디어 플레이어 응용 프로그램으로, 초기 버전은 '미디어 플레이어'라는 이름으로 출시되어 다양한 기능 추가 및 플랫폼 확장을 거쳤으나 현재는 대부분 지원이 중단되었고, 유럽 연합 경쟁법 위반 사건으로 인해 없는 버전도 출시되었다.
  • 윈도우 비스타 - 퍼블 플레이스
    퍼블 플레이스는 짝맞추기, 손과 눈의 협응력, 암호 해독 등 다양한 종류의 세 가지 미니 게임(퍼블 페어스, 컴피 케이크, 퍼블 숍)으로 구성된 게임 모음집이다.
  • 윈도우 비스타 - 윈도우 디스플레이 드라이버 모델
    윈도우 비스타부터 도입된 윈도우 디스플레이 드라이버 모델(WDDM)은 성능 향상, 안정성, 새로운 기술 지원을 목표로 개발된 디스플레이 드라이버 아키텍처로, 가상화된 비디오 메모리, GPU 스케줄링, 프로세스 간 Direct3D 표면 공유, 향상된 오류 허용성 등의 특징을 가지며 데스크톱 윈도우 관리자(DWM)를 통한 합성 데스크톱 환경 구현에 필수적이다.
미디어 파운데이션

2. 아키텍처

미디어 파운데이션 아키텍처


미디어 파운데이션(MF) 아키텍처는 "제어 계층", "코어 계층", "플랫폼 계층"으로 구분된다.

  • 제어 계층: 응용 프로그램이 미디어 소스, 변환, 싱크를 선택하고 연결하여 데이터 처리 파이프라인(토폴로지)을 구성한다.
  • 코어 계층: 미디어 파운데이션의 주요 기능이 캡슐화되어 있으며, 미디어 파이프라인을 통해 데이터를 처리한다. (미디어 소스, 미디어 싱크, 미디어 파운데이션 변환(MFT)으로 구성)
  • 플랫폼 계층: 파일 접근, 네트워킹, 시계 동기화 등 멀티미디어 렌더링 시간을 맞추기 위한 서비스를 제공한다.


미디어 파운데이션은 보호된 미디어 경로를 통해 콘텐츠 보호를 제공하고, 프레젠테이션 클록과 동기화하여 렌더링 속도를 제어한다.[14] 소스 객체는 코딩된 메타데이터(비트 전송률, 프레젠테이션 타이밍 정보)와 설명 메타데이터(제목, 작성자 이름 등)를 추출한다.[14]

"미디어 세션" 객체는 토폴로지 설정과 데이터 흐름을 용이하게 하며, 응용 프로그램은 "토폴로지 로더"를 통해 파이프라인 토폴로지를 지정한다. 미디어 세션은 프레젠테이션 클록과의 동기화를 관리한다.[14]

2. 1. 코어 계층

미디어 파운데이션의 핵심 기능은 코어 계층에 캡슐화되어 있다. 코어 계층에는 미디어 파이프라인이 포함되어 있는데, 이 파이프라인은 미디어 소스, 미디어 싱크, 미디어 파운데이션 변환(MFT) 의 세 가지 구성 요소로 이루어져 있다. 미디어 소스와 미디어 싱크 사이의 데이터는 MFT에 의해 처리된다.

코어 계층은 파일 접근, 네트워킹, 시계 동기화와 같은 서비스를 사용하여 멀티미디어 렌더링 시간을 맞춘다. 이러한 서비스는 플랫폼 계층의 일부이며, 소스 및 싱크 바이트 스트림, 프레젠테이션 클록에 접근하는 데 필요한 서비스와 코어 계층 구성 요소가 비동기적으로 작동하도록 하는 객체 모델을 제공하며, 일반적으로 OS 서비스로 구현된다. 일시 중지, 중지, 빨리 감기, 되감기 또는 시간 압축은 프레젠테이션 클록을 제어하여 수행할 수 있다.

2. 1. 1. 미디어 소스

미디어 소스는 압축 또는 비압축 멀티미디어 데이터의 원본 역할을 하는 객체이다. 파일, 네트워크 서버, 캠코더 등 다양한 데이터 소스를 캡슐화하여 공통 추상화로 소스별 기능을 제공한다. URI, 파일 또는 바이트 스트림에서 미디어 소스를 생성하는 "소스 리졸버" 객체를 사용할 수 있으며, 비표준 프로토콜에 대한 지원은 해당 프로토콜에 대한 소스 리졸버를 생성하여 추가할 수 있다. 또한, 여러 소스(재생 목록)를 시퀀스로 사용하거나 여러 소스를 단일 논리 소스로 합치기 위해 "시퀀서" 객체를 사용할 수 있다.

2. 1. 2. 미디어 싱크

미디어 싱크는 처리된 멀티미디어 데이터를 받는 객체이다. 미디어 싱크는 렌더러 싱크와 아카이브 싱크로 나뉜다. 렌더러 싱크는 콘텐츠를 출력 장치에 렌더링하며, 압축되지 않은 데이터를 입력으로 받는다. 아카이브 싱크는 파일과 같은 영구 저장 시스템에 콘텐츠를 저장하며, 출력 유형에 따라 압축 또는 압축되지 않은 데이터를 사용할 수 있다.

2. 1. 3. 미디어 파운데이션 변환 (MFT)

MFT는 데이터를 다른 형태로 변환하는 객체이다. MFT에는 멀티플렉서 및 디멀티플렉서, 코덱 또는 DSP 효과(예: 리버브) 등이 포함된다.

2. 2. 플랫폼 계층

플랫폼 계층은 파일 접근, 네트워킹, 시계 동기화와 같은 서비스를 사용하여 멀티미디어 렌더링 시간을 맞춘다. 이러한 서비스는 소스 및 싱크 바이트 스트림, 프레젠테이션 클록에 접근하는 데 필요한 서비스와 코어 계층 구성 요소가 비동기적으로 작동하도록 하는 객체 모델을 제공하며, 일반적으로 OS 서비스로 구현된다.[14] 일시 중지, 중지, 빨리 감기, 되감기 또는 시간 압축은 프레젠테이션 클록을 제어하여 수행한다.[14]

2. 3. 제어 계층

응용 프로그램은 제어 계층에서 파이프라인 구성 요소를 선택하고 연결하여 데이터 흐름을 설정한다. 미디어 파운데이션은 DirectShow의 "푸시" 모델과 달리, "풀" 모델을 사용하여 데이터 흐름을 제어한다.[14][15] Protected Media Path를 통해 콘텐츠 보호를 지원한다. 프레젠테이션 클록과 동기화하여 렌더링 속도를 조절한다. 소스 객체는 코딩된 메타데이터(비트 전송률 및 프레젠테이션 타이밍 정보)와 설명 메타데이터(제목 및 작성자 이름 등)를 추출하여 전달한다.[14]

2. 4. 미디어 세션

미디어 파운데이션은 응용 프로그램에서 명시적으로 수행하지 않아도 토폴로지를 설정하고 데이터 흐름을 쉽게 만드는 데 사용할 수 있는 미디어 세션 객체를 제공한다. 미디어 세션 객체는 제어 계층에 존재하며, 토폴로지 로더 객체를 노출한다.[14] 응용 프로그램이 로더에 필요한 파이프라인 토폴로지를 지정하면 구성 요소 간의 필요한 연결이 자동으로 생성된다.[14] 미디어 세션 객체는 프레젠테이션 클록과의 동기화 작업을 관리한다. 프레젠테이션 클록 객체를 생성하고 싱크에 대한 참조를 전달한다. 그런 다음 클록의 타이머 이벤트를 사용하여 파이프라인을 따라 데이터를 전파한다. 또한 응용 프로그램의 일시 중지, 중지 또는 재개 요청을 처리하기 위해 클록의 상태를 변경한다.[14]

3. 실용적인 MF 아키텍처

이론적으로 미디어 파운데이션(Media Foundation, MF) 아키텍처는 미디어 세션, 파이프라인, 미디어 소스, 변환, 미디어 싱크 모델 하나만 존재한다. 그러나 이 아키텍처는 설정하기 복잡할 수 있으며, 간단한 솔루션을 위해 미디어 데이터 처리를 처리하도록 설계된 가볍고 구성하기 비교적 쉬운 MF 구성 요소가 상당한 범위로 존재한다. 따라서 실제적인 고려 사항으로 인해 기본 파이프라인 디자인의 변형 구현이 필요했고, 파이프라인 모델 외부에서 작동하는 소스 리더(Source Reader) 및 싱크 라이터(Sink Writer)와 같은 구성 요소가 개발되었다.

일부 출처에서는 미디어 파운데이션 아키텍처를 다음 세 가지 일반적인 클래스로 나눈다.


  • 파이프라인 아키텍처
  • 리더-라이터 아키텍처
  • 파이프라인과 리더-라이터 아키텍처 간의 하이브리드

3. 1. 파이프라인 아키텍처

미디어 파운데이션의 파이프라인 아키텍처는 별도의 미디어 세션 객체와 파이프라인을 사용한다. 미디어 데이터는 하나 이상의 미디어 소스에서 하나 이상의 미디어 싱크로 흐르며, 선택적으로 0개 이상의 미디어 파운데이션 변환(MFT)을 거친다. 미디어 데이터를 파이프라인을 통해 관리하는 것은 미디어 세션이며, 해당 파이프라인은 여러 분기 및 브랜치를 가질 수 있다. MF 애플리케이션은 사용자 지정 MFT 구성 요소를 구현하고 파이프라인의 적절한 위치에 삽입하여 미디어 소스에서 미디어 싱크로 이동하는 동안 미디어 데이터에 접근할 수 있다.

3. 2. 리더-라이터 아키텍처

리더-라이터 아키텍처는 소스 리더(Source Reader) 구성 요소를 사용하여 미디어 데이터를 제공하고, 싱크 라이터(Sink Writer) 구성 요소를 사용하여 데이터를 소비한다. 소스 리더는 일종의 내부 파이프라인을 포함하지만, 애플리케이션에서는 접근할 수 없다. 소스 리더는 미디어 소스가 아니며, 싱크 라이터는 미디어 싱크가 아니므로 파이프라인에 직접 포함되거나 미디어 세션에 의해 관리될 수 없다.

일반적으로 미디어 데이터는 애플리케이션의 작업에 의해 소스 리더에서 싱크 라이터로 흐른다. 애플리케이션은 미디어 데이터 패킷(미디어 샘플(Media Sample)이라고 함)을 소스 리더에서 가져와 직접 싱크 라이터에 제공하거나, 동일한 작업을 수행하는 소스 리더에 콜백 함수를 설정한다. 실제로 애플리케이션은 데이터 전송을 관리하므로 파이프라인 아키텍처 애플리케이션의 미디어 세션과 유사한 역할을 수행한다.

미디어 파운데이션(MF) 애플리케이션은 소스 리더와 싱크 라이터 간의 미디어 샘플 전송을 관리하므로 항상 원시 미디어 데이터에 접근할 수 있다. 소스 리더 및 싱크 라이터 구성 요소는 미디어 데이터 형식 변환을 지원하기 위해 미디어 변환(MFT)을 자동으로 로드할 수 있는 제한적인 기능을 가지고 있지만, 이는 내부적으로 수행되며 애플리케이션은 이에 대한 제어 권한이 거의 없다.

3. 3. 하이브리드 아키텍처

소스 리더와 싱크 라이터는 사용하기 쉽고, 파이프라인 아키텍처는 미디어 데이터 흐름을 매우 정교하게 제어할 수 있다. 그러나 향상된 비디오 렌더러와 같이 파이프라인에서 사용할 수 있는 많은 구성 요소는 리더-라이터 아키텍처 애플리케이션에서 바로 사용할 수 없다. 소스 리더가 생성한 미디어 샘플의 구조는 미디어 소스가 출력하는 구조와 동일하므로, 미디어 샘플이 파이프라인을 통과할 때 이를 가로채어 사본을 미디어 싱크에 제공하는 파이프라인 아키텍처를 설정할 수 있다. 이를 하이브리드 아키텍처라고 하며, 싱크 라이터의 사용 편의성을 활용하면서 미디어 세션 및 파이프라인의 정교한 처리 기능을 활용하는 애플리케이션을 가질 수 있게 해준다. 싱크 라이터는 파이프라인의 일부가 아니며, 미디어 세션과 상호 작용하지 않는다.

실제로 미디어 데이터는 샘플 그래버 싱크(Sample Grabber Sink)라는 특수 미디어 싱크에 의해 처리되어 미디어 데이터를 소비하고 사본을 싱크 라이터에 전달한다. 또한 미디어 샘플이 파이프라인을 통과할 때 이를 복사하여 싱크 라이터에 전달하는 사용자 지정 미디어 변환(MFT)을 사용하여 하이브리드 아키텍처를 구현할 수도 있다. 두 경우 모두 파이프라인의 특수 구성 요소는 효과적으로 간단한 리더-라이터 애플리케이션처럼 작동하여 싱크 라이터에 공급한다. 일반적으로 하이브리드 아키텍처는 파이프라인과 싱크 라이터를 사용한다. 이론적으로 소스 리더가 어떻게든 미디어 샘플을 파이프라인에 주입할 수 있는 메커니즘을 구현할 수 있지만, 샘플 그래버 싱크와 달리 그러한 표준 구성 요소는 존재하지 않는다.

4. 미디어 파운데이션 변환 (MFT)

미디어 파운데이션 변환(MFT)은 미디어 데이터 처리를 위한 일반적인 모델을 나타낸다. 이는 주로 미디어 파운데이션에서 디코더, 인코더, 믹서 및 디지털 신호 프로세서(DSP)를 구현하는 데 사용되며, ''미디어 소스''와 ''미디어 싱크'' 사이에서 작동한다. 미디어 파운데이션 변환은 DirectX 미디어 오브젝트(DMO)로 처음 도입된 변환 모델의 진화된 형태이다. MFT의 동작은 더 명확하게 지정되어 있으며, 하이브리드 DMO/MFT 객체도 생성할 수 있다. 애플리케이션은 미디어 파운데이션 파이프라인 내에서 MFT를 사용하거나 독립 실행형 객체로 직접 사용할 수 있다.

마이크로소프트는 윈도우 비스타, 윈도우 7윈도우 8에서 개발자들에게 DirectShow 필터 대신 ''미디어 파운데이션 변환''을 작성할 것을 권장한다. 비디오 편집 및 비디오 캡처의 경우, 마이크로소프트는 윈도우 비스타에서 미디어 파운데이션의 주된 초점이 아니기 때문에 DirectShow를 사용할 것을 권장한다. 윈도우 7부터 MFT는 AVStream 기반 미디어 장치에 대한 하드웨어 가속 비디오 처리, 인코딩 및 디코딩도 지원한다.[1]

4. 1. MFT 유형

MFT는 다음과 같은 유형이 될 수 있다.

유형
오디오 및 비디오 코덱
오디오 및 비디오 효과
멀티플렉서 및 디멀티플렉서
티(Tees)
색 공간 변환기
샘플 속도 변환기
비디오 스케일러


5. 향상된 비디오 렌더러 (EVR)

미디어 파운데이션은 비디오 콘텐츠를 렌더링하기 위해 향상된 비디오 렌더러(EVR)를 사용하며, 이는 믹서 역할도 수행한다. EVR은 최대 16개의 동시 스트림을 혼합할 수 있으며, 첫 번째 스트림은 ''참조 스트림''이다. 참조 스트림을 제외한 모든 스트림(서브스트림)은 픽셀 단위의 투명도 정보와 지정된 z-order를 가질 수 있다. 참조 스트림은 투명한 픽셀을 가질 수 없으며, 모든 스트림의 뒤쪽에 고정된 z-order 위치를 갖는다. 최종 이미지는 모든 스트림에서 해당 픽셀의 색상과 투명도를 기준으로 각 픽셀의 색상을 지정하여 단일 표면에 합성된다.

내부적으로 EVR은 스트림 혼합을 위해 ''믹서'' 객체를 사용한다. 믹서는 필요에 따라 출력의 디인터레이싱과 색상 보정을 적용할 수도 있다. 합성된 프레임은 ''프레젠터'' 객체로 전달되며, 이 객체는 DWM 및 장치를 사용하는 다른 응용 프로그램과 공유되는 Direct3D 장치에 렌더링되도록 예약한다. 출력 비디오의 프레임 속도는 참조 스트림의 프레임 속도와 동기화된다. 서브스트림이 다른 프레임 속도를 갖는 경우, EVR은 추가 프레임을 버리거나(서브스트림이 더 높은 프레임 속도를 갖는 경우) 동일한 프레임을 두 번 이상 사용한다(더 낮은 프레임 속도를 갖는 경우).

6. 지원되는 미디어 형식

윈도우 비스타윈도우 미디어 오디오(WMA)와 윈도우 미디어 비디오(WMV) 인코딩을 기본 지원한다. 디코딩의 경우, 윈도우 비스타에서 MP3 스트림을 읽을 수 있지만, MP3 출력을 위한 MP3 파일 싱크는 윈도우 7에서만 사용 가능하다.[5] 개발자는 인코더/디코더 MFT 또는 사용자 지정 미디어 소스/미디어 싱크를 작성하여 다른 형식에 대한 지원을 추가할 수 있다.

윈도우 7은 윈도우 비스타의 코덱 지원을 확장하여, AVI, WAV, AAC/ADTS 파일 소스,[5] MP4, M4A, M4V, MP4V, MOV 및 3GP 컨테이너 형식을 읽기 위한 MPEG-4 파일 소스,[6] MP4 형식 출력을 위한 MPEG-4 파일 싱크를 포함한다.[7]

윈도우 7에는 Baseline 프로필 레벨 3 및 Main 프로필 지원이 가능한 H.264 인코더[8]와 AAC 로우 컴플렉시티(AAC-LC) 프로필 인코더가 포함되어 있다.[9]

윈도우 7은 H.264 디코더(Baseline, Main, High 프로필, 최대 레벨 5.1),[10] AAC-LC 및 HE-AAC v1(SBR) 멀티채널, HE-AAC v2(PS) 스테레오 디코더,[11] MPEG-4 Part 2 심플 프로필 및 고급 심플 프로필 디코더[12] (DivX, Xvid, 네로 디지털 등), MJPEG,[5] AVI용 DV[13] MFT 디코더를 도입했다. 윈도우 미디어 플레이어 12는 내장된 미디어 파운데이션 코덱을 사용하여 이러한 형식을 재생한다.

미디(MIDI) 재생은 아직 미디어 파운데이션을 통해 지원되지 않는다.

7. 응용 프로그램 지원

8. DirectShow와 비교

DirectShow는 점차 미디어 파운데이션으로 대체될 예정이나, 당분간 함께 사용될 것이다. 미디어 파운데이션은 DirectShow에 비해 다음과 같은 장점을 가진다.[14][15]


  • 고화질 콘텐츠 및 DRM으로 보호된 콘텐츠를 스케일러블하게 이용할 수 있다.
  • DirectShow 인프라 외부에서 DirectX 비디오 가속을 이용할 수 있다.
  • CPU, I/O, 메모리에 대한 응답성이 높고, 보다 부드러운 재생이 가능하다. 동영상 테어링도 감소한다.
  • 미디어 파운데이션의 확장성을 통해, 다른 콘텐츠 보호 시스템을 협조하여 이용할 수 있다.

참조

[1] 웹사이트 DXVA-HD http://msdn.microsof[...] 2010-04-18
[2] 웹사이트 Example Source https://github.com/O[...] 2019-01-19
[3] 웹사이트 Migrating from DirectShow to Media Foundation and comparison of the two https://web.archive.[...] 2007-02-22
[4] 웹사이트 Getting Started with Hardware Codec Support in AVStream http://msdn.microsof[...]
[5] 웹사이트 Supported Media Formats in Media Foundation http://msdn.microsof[...] 2010-04-18
[6] 웹사이트 MPEG-4 File Source http://msdn.microsof[...] 2010-04-18
[7] 웹사이트 MPEG-4 File Sink http://msdn.microsof[...] 2010-04-18
[8] 웹사이트 H.264 Video Encoder http://msdn.microsof[...] 2010-04-18
[9] 웹사이트 AAC Encoder http://msdn.microsof[...] 2010-04-18
[10] 웹사이트 H.264 Video Decoder http://msdn.microsof[...] 2010-04-18
[11] 웹사이트 AAC Decoder http://msdn.microsof[...] 2010-04-18
[12] 웹사이트 MPEG4 Part 2 Video Decoder http://msdn.microsof[...] 2010-04-18
[13] 웹사이트 DV Video Decoder http://msdn.microsof[...] 2010-04-18
[14] 웹사이트 Migrating from DirectShow to Media Foundation https://learn.micros[...] Microsoft Learn
[15] 웹사이트 Introduction to DirectShow - Win32 apps https://learn.micros[...] Microsoft Learn
[16] 웹사이트 Media Foundation Programming Guide - Win32 apps https://learn.micros[...] Microsoft Learn
[17] 웹사이트 Direct3D 9 Video APIs - Win32 apps https://learn.micros[...] Microsoft Learn
[18] 웹사이트 Whats New for Media Foundation - Win32 apps https://learn.micros[...] Microsoft Learn
[19] 웹사이트 Supporting Direct3D 11 Video Decoding in Media Foundation - Win32 apps https://learn.micros[...] Microsoft Learn



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com