2014-06-20 3 views
0

Black Magic Design DecklinkAPI.dll을 사용하여 입력 비디오를 표시하거나 미리 볼 수있는 방법은 무엇입니까? 프레임별로 비디오를 가져올 수는 있지만 프레임을 Form/Window에 어떻게 표시 할 수 있을지 모르겠습니다. 내가 볼바이트에서 비디오를 미리보기/표시하는 방법

void IDeckLinkInputCallback.VideoInputFrameArrived(IDeckLinkVideoInputFrame video, 
    IDeckLinkAudioInputPacket audio) 
{ 
    IntPtr pData; 
    video.GetBytes(out pData); 

    // What should I do to get the preview? 

    System.Runtime.InteropServices.Marshal.ReleaseComObject(video); 
} 

또 다른 방법은 IDeckLinkScreenPreviewCallback을 구현하는 것입니다 :

가 더 완전한
void IDeckLinkScreenPreviewCallback.DrawFrame(IDeckLinkVideoFrame theFrame) 
{ 
    // Constructor: m_ph = new CDeckLinkDX9ScreenPreviewHelper(); 
    m_ph.SetFrame(theFrame); 

    // Should I use this method instead to get the preview? 

    System.Runtime.InteropServices.Marshal.ReleaseComObject(theFrame); 
} 

코드 샘플을하지만 그들은 여전히 ​​코드의 중요한 비트 누락 : 나는 IDeckLinkInputCallback을 구현할 수 blackmagic SDK in c#을. BMD Decklink SDK 설명서는 here입니다.

감사합니다.

+0

은 BMD Decklink SDK 기술 지원에 대한 질문이 아닙니다. – AnthonyLambert

+0

당신은 그들이 첫 번째 단계가되어야 Anthony 연락 맞습니다. 그러나 제조사에 대한 경험이 있고 C# 개발자가 없으며 평범한 C# 예제는 모두 가지고 있다고 말할 수 있습니다.) BMD SO 커뮤니티의 경우가 아니더라도이 커뮤니티의 지식은 훨씬 광범위합니다. 제조업체. –

답변

2

DeckLink SDK를 사용하여 비디오를 캡처하는 경우 프레임을 프레젠테이션 API (GDI, GDI +, DirectShow, Media Foundation 등)에서 사용할 수있는 형식으로 변환해야하는 것은 사용자의 책임입니다. 일반적으로 RGB가 아닌 픽셀 형식으로 캡처 할 수 있으며 비표준 스트라이드로 캡처 할 수도 있습니다.

또는 DeckLink DirectShow 비디오 캡처 소스를 사용하여 비디오를 캡처하고 DirectShow API과 호환되는 피드로 사용할 수 있습니다. 표준 구성 요소를 사용하여 비디오를 미리보고 처리 할 수 ​​있습니다. C#에서 DirectShow 그래프를 구축하고 제어 할 수 있습니다. DirectShow.NET library.

+0

그 프레젠테이션 API 중 어느 것을 사용해야할지 모르겠습니다. "좋아하는"사람 있어요? DirectShow.NET은 약간 구식 것 같습니다. WPF MediaKit은 가장 빠르고 안전한 방법 일 수있는 (및 MF) 그것을 사용합니다. 감사합니다 –

+1

[내 개인적인 좋아하는 DirectShow를] (http://stackoverflow.com/questions/12101195/media-foundation-vs-directshow-and-media-containers-webm-and-ogg-theora),하지만 나는 추진하지 않습니다 이. MF를 사용하는 유일한 이유는 DirectShow가 강제로 중단 된 최신 플랫폼에서 지원된다는 것입니다. DirectShow.NET은 좋은 입지를 가지고 있습니다 (더 많은 정보/샘플을 가지고). 새로운 개발은 보이지 않는다는 사실에 혼란 스러울 지 모르지만, 전체 API와 래퍼는 안정된 상태에 있기 때문에 괜찮습니다. –

관련 문제