Использование DirectX API для просмотра потока h264, декодированного FFMPEG - PullRequest
0 голосов
/ 08 мая 2011

Я пытаюсь транслировать видео между двумя клиентами.

Клиент A должен транслировать видео на сервер в формате h264, а Клиент B должен транслировать его с сервера.В нисходящем направлении я использую FFMPEG для декодирования пакетов NAT через RTP.

Моя проблема в том, что я должен отображать изображение с помощью DirectX API, для которого требуются параметры:

  1. битовый поток
  2. параметры изображения
  3. матрица квантования
  4. информация о срезе.

С другой стороны, результирующими параметрами нисходящего потока с FFMPEG являются SPS (набор параметров последовательности) и PPS (набор параметров изображения).

Я предполагаю, что PPS FFMPEG и «параметры изображения» DirectX, по крайней мере, касательно связаны, однако я не уверен, как получить остальные параметры (bitstream, quant_matrx и slce_info) из PPSи СПС.

Будем очень благодарны за любые предложения (за исключением тех, которые отправляют меня обратно в Google, когда я устало тащусь после двух дней поисков).

С уважением
-E

1 Ответ

0 голосов
/ 04 июня 2011

Похоже, вы пытаетесь использовать интерфейс DirectX, который хочет кодированное видео, а не декодированное видео, как вы должны получать из ffmpeg. У вас должна быть серия декодированных кадров, которые нужно просто отобразить через DirectX / DirectShow.

Если вы хотите, чтобы DirectX и / или видеодрайвер / аппаратное обеспечение расшифровывали его, вам нужно найти правильный интерфейс для его отправки.

Боюсь, в вашем вопросе недостаточно подробностей, чтобы дать лучший ответ.

...