Media Foundation SDK를 사용하여 WMV로 비디오를 인코딩 중입니다. 속성을 사용하여 B 프레임 수를 설정할 수 있지만 그 위치를 설정하는 방법은 없습니다. http://msdn.microsoft.com/en-us/library/windows/desktop/ff819354%28v=vs.85%29.aspxMedia Foudation을 사용한 WMV 인코딩 : "B 프레임 수"지정
우리의 코드를 수행 대략 다음과 같습니다 :
- 전화 MFStartup
- 전화 MFCreateAttributes 한 번 우리가 먹서을 설정할 수 있습니다, 비디오 및 오디오를 속성이 MFPKEY_NUMBFRAMES라고하며 여기에 설명 된 것을
속성
- 예를 들어 비디오 비트율을 설정하여 이전 단계에서 만든 IMFAttributes를 구성합니다. pVideoOverrides-> SetUINT32 (MF_MT_AVG_BITRATE, m_i VideoBitrateBPS);
- 는 싱크 작가에 WriteSample 전화, 각 프레임에 대한 IMFReadWriteClassFactory :: CreateInstanceFromURL
- 를 호출하여 싱크 작가를 만들
내가에 IMFAttribute에 B 프레임 속성을 설정 해야하는 건가요 통화 MFShutdown 비디오 비트 레이트를 설정 했습니까?
고마워요. 직접 토폴로지를 작성하지 않고 IMFSinkWriter 및 일부 IMFAttributes 만 있습니다. WMV9 인코더에 액세스하려면 어떻게합니까? – Warpin
또한 튜토리얼 링크는 빌드하지 않으며 (해당 웹 페이지 하단의 주석 참조) 소스 파일에서만 변환 할 수 있습니다. 비 압축 비디오 및 오디오 샘플을 피드 할 수 있어야합니다. – Warpin