2013-03-31 4 views
1

Windows 7에서 고정 크기 원시 픽셀 프레임을 MPEG로 인코딩하려고합니다.이 작업을 수행하기 위해 media foundaiton transofrmation을 사용하려고합니다. 그러나 미디어 기능은 원시 프레임을 MPEG로 직접 변환하는 것을 지원하지 않습니다. 대신, 미디어 싱크를 사용하여 원시 픽셀 버퍼를 WMV3 형식으로 변환 한 다음 트랜스 코드 토폴로지를 사용하여 WMV를 MPEG로 변환해야합니다.원시 기초 프레임을 MPEG 비디오로 변환하는 미디어 기초

미디어 기초가 프레임 버퍼를 MEPG로 직접 변환하는 방법이 있습니까?

또한이 일을하는 동안은 MEPG에 하나의 프레임 WMV 비디오를 변환 할 수 없습니다 트랜스 코딩 프레임 워크의 문제로 실행하고 있습니다. 이유는 모르지만 단일 프레임 WMV가 공급되면 빈 MPEG 파일을 생성합니다. 미디어 기반에 대한 알려진 제한입니까?

안부

GT

P.S. 나는 이것을하기 위해 직접 쇼를위한 필터 그래프를 구현하려고하지는 않는다. 미디어별로 발견 된 문서는 직접 쇼에서 제공하는 모든 기능을 제공해야합니다.

답변

1

Media Foundation은 압축을 처리하는 H.264 Video Encoder MFT/DMO를 제공합니다.

DirectShow (사용하고 싶지 않지만 타사 인코더를 사용하여 MPEG-4 및 MPEG-4 AVC로 압축하는 유사한 옵션 제공)와 달리 Media Foundation을 사용하면 자체적으로 완전한 그래프 (토폴로지)에 삽입하지 않아도됩니다. Microsoft는 Windows 7부터 시작하는 H.264 인코더만을 제공합니다 (사용자에게 좋습니다).

MFT의 사용은 그러나 그들이 정확히 "파일"아니다, MSDN 문서에서 설명하고 당신이 압축 된 H.264 (MPEG-4 AVC) NAL 단위를 얻을 것이다 단계별로 다음과 같은됩니다. MPEG-4 파일은 Microsoft에서 MPEG-4 File Sink을 제공하는 MPEG-4 Part 14 사양에 따라 포맷 된 데이터입니다. 후자는 기본적으로 개별 구성 요소 대신 토폴로지를 사용한다고 가정합니다.

토폴로지에 삽입 할 사용자 지정 비디오 원본 노드를 구현하고 H.264 인코더를 통해 데이터를 MPEG-4 파일 싱크로 라우팅하거나 비디오 인코더와 파일 싱크를 개별적으로 인스턴스화하는 인코딩 토폴로지를 작성하거나 그들을 토폴로지 설정 외부에서 사용하고 그들 사이에서 데이터를 전달하십시오.

미디어마다 미디어가 발견되면 직접 쇼에서 제공하는 모든 기능을 제공해야합니다.

되지는 안되며, 그렇지 않습니다. Microsoft는 Windows 7 이상의 Media Foundation을 통해서만 MPEG-4 비디오 인코더 및 멀티플렉서를 제공하며 MF 구성 요소의 래퍼를 통하지 않는 한 DirectShow에서 사용할 수 없도록합니다. 그러나 MF는 여러면에서 DS보다 열등합니다. 구형 OS에서는 기능 세트, 확장 성 및 오버 헤드가 있습니다.