2011-03-01 4 views
1

나는 C#에서 tv 튜너 캡처 응용 프로그램을 개발 중입니다. 나는 그것에 대한 DirectShowNet을 사용하고 내 장치는 AverMedia 슈퍼 009입니다. 나는 capturegraphbuilder.renderstream() 메서드를 사용하고 핀 캡처 및 미리보기 핀을 사용하고 있습니다. 또한 vmr9 렌더러를 사용했습니다. 그러나 내가 얻는 결과물은 인터레이스 된 것입니다. 즉, 화면에서 모션이있을 때마다 그림이 가장자리로 표시되어 디인터레이스하고 싶습니다.DirectShowNet의 디인터레이스 TV 튜너 출력

VMR9의 입력 핀에서 'FORMAT_VideoInfo'형식으로 나타납니다. "videoHeader.InterlaceFlags & AMInterlace.IsInterlaced"를 선택하면 비디오가 인터레이스되지 않은 것으로 나타납니다. 인터넷에서 읽은 내용에 따라 FORMAT_VideoInfo를 디인터레이스 할 수 없으므로 FORMAT_VideoInfo2로 변환해야합니다. 그래서 어느 누구든지 videoinfo를 videoinfo2로 변환하는 방법을 알고있었습니다.

저는 또한 AlparySoft, ffdshow, DScaler와 같은 소프트웨어 디인터레이스 필터를 사용했습니다. 그러나 여전히 움직이는 부분은 톱니 모양으로 나타납니다.

그래서 그래프를 디인터레이스해야하는지 pls가 안내합니다.

덕분에, 가네

+0

다른 소프트웨어를 사용하여 그림이 여전히 들쭉날쭉 해지는 경우 심각한 문제가 있습니다. –

+0

Danial 안녕하세요. 제대로 사용하지 않고 제대로 사용하고 구성하는 방법을 알려주시겠습니까? – ganesh

답변

0

당신은 DirectShow에서이 지루한 작업이다 필터를 변환 작성해야 VideoInfo2하는 VideoInfo 변환합니다. 이 방법을 선택하면 DirectShow SDK (현재는 Windows SDK의 일부)의 대비 예제 필터에서 시작할 수 있습니다.

일부 동영상을 AVI 파일로 저장하고 VirtualDub에서 가능한 한 많은 deinterlace filters (예 : 영역 기반 또는 디 인터레이스 멀티플렉서)으로 디인터레이스 해보세요. 비디오에서 잘 작동하는 필터를 찾으면 wrapper을 사용하여 DirectShow 앱에서 해당 필터를 사용할 수 있습니다.

관련 문제