Получение кадра от устройства Blackmagic

Я пытаюсь начать работать с Balckagic SDK. и я попытался получить кадр устройства «DeckLink SDI»

void    get_video(IDeckLink* decklink){
HRESULT                         result;
IDeckLinkInput*                 decklinkinput = NULL;
BSTR                            name = NULL;
IDeckLinkDisplayModeIterator*   displayModeIterator = NULL;
IDeckLinkInputCallback*         theCallback = NULL;
IDeckLinkVideoInputFrame*       decklinkInputVideoframe =NULL;
IDeckLinkDisplayMode*           displayMode = NULL;
IDeckLinkVideoInputFrame*       inputVideoFrame;
IDeckLinkAudioInputPacket*      inputAudioPacket;
IBMDStreamingDeviceInput*       capture;
IDeckLinkVideoFrame*            deckLinkVideoFrame = NULL;
unsigned long                       avaibleFrames = NULL;result = decklink->QueryInterface(IID_IDeckLinkInput,(void**) &decklinkinput);result = decklinkinput->GetDisplayModeIterator(&displayModeIterator);

result = decklinkinput->SetCallback(theCallback);
result = decklinkinput->EnableVideoInput(BMDDisplayMode::bmdModeHD1080i50,BMDPixelFormat::bmdFormat8BitYUV,bmdVideoInputEnableFormatDetection);
result = decklinkinput->DisableAudioInput();

result = decklinkinput->StartStreams();
decklinkinput->GetAvailableVideoFrameCount(&avaibleFrames);cout<<"Number of avaible frames " << avaibleFrames<<endl;
result = decklinkinput->SetCallback(theCallback);
theCallback->VideoInputFrameArrived(inputVideoFrame, inputAudioPacket);
result = decklinkinput->StopStreams();}

и у меня нет синтаксической ошибки, все, что я получаю, это число fram равно 0. и я не знаю, как сохранить кадр. Я благодарен за любую помощь.

0

Решение

Посмотрите на примеры кода. Процесс:

  1. Инициализировать панель Decklink
  2. Зарегистрируйте обратный звонок и начните потоковую передачу
  3. Продолжить с другой работой в главном потоке

Теперь каждый раз, когда доступен кадр, Decklink SDK будет вызывать зарегистрированную функцию обратного вызова с только что обработанным кадром. Из поста выше я чувствую, что вы не понимаете концепцию обратного вызова.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector