2010-12-28 5 views
0

DirectShow에서 asf writer 필터를 사용하여 원시 데이터 (비디오 프레임과 오디오 샘플 모두)를 .asf 파일로 인코딩하려고합니다. 내 필터 그래프 구조 : raw_send_filter -> asf 라이터 필터 raw_send_filter는 CBaseFilter 및 CBaseOutputPin을 구현합니다. 원시 데이터를 가져온 원본 필터 역할을 수행 한 다음 원시 데이터를 ASF 작성기 필터로 전달합니다. 프로세스는 다음 단계 :asf 작성기의 문제

  1. 하면 ("샘플"로 복귀) 버퍼를 제공 받기 함수를 사용하여 CBaseOutputPin::GetDeliveryBuffer
  2. 메가 샘플> GetPointer (& 버퍼);
  3. 세트 타임 스탬프 (프레임 레이트 = 30 개 프레임으로)
  4. 샘플에게 문제가 일부 원시 데이터 인코딩 이후

전달, I 더이상 제공 할 수 없다.

Avi Mux 필터를 사용하면 이런 식으로 .avi 파일을 인코딩 할 수 있습니다. 왜 내가 몇 가지를 인코딩 한 후에 샘플을 전달할 수 없다고 말할 수 있습니까?

감사합니다.

+0

오디오 및 비디오의 매우 짧은 조각을 보내는 경우 asf로 인코딩 할 수 있습니까? 예를 들어 100ms? – wimh

답변

0

아마도 ASF 멀티플렉서가 더 많은 데이터를 기다리고있을 수 있습니다. 같은 속도로 오디오와 비디오를 전송했는지 확인하십시오.

관련 문제