DirectShow RTSP SourceFilter с видео потоком MPEG-4 - PullRequest
0 голосов
/ 04 октября 2011

Я создаю простой фильтр источника прямого показа, используя FFmpeg. Я читаю rtp-пакеты из источника RTSP и передаю их декодеру. Работает для потока h264.

MyRtspSourceFilter[H264 Stream] ---> h264 Decoder --> Video Renderer

Плохая новость заключается в том, что он не работает для MPEG-4. Я могу подключить исходный фильтр rtsp к MPEG-декодеру. Я не получил исключения, но видео рендерер ничего не показывает. На самом деле просто покажите один кадр, затем ничего [просто остановите] ... Декодеры и средства визуализации являются сторонними, поэтому я не могу их отладить.

MyRtspSourceFilter[MP4 Stream] ---> MPEG-4 Decoder --> Video Renderer

Я могу успешно получать пакеты rtp из источника RTSP MPEG-4, используя FFmpeg. С этим проблем нет.

Кажется, я не установил что-то (?) В моем источнике Rtsps Фильтр, который не нужен для потока H264, но может быть важен для Поток MPEG-4

Что может вызвать разницу потоков h264 и MPEG-4 в исходном фильтре rtsp прямого показа? Есть идеи.

Подробнее:

- Сначала я попробую некоторые другие фильтры источника rtsp для потока MPEG-4 ... Хотя мой источник rtsp такой же, я вижу разные подтипы в их контактных соединениях.

- Во-вторых, я действительно подозреваю, что источником действительно является MPEG-4, поэтому я проверяю с помощью FFmpeg ... FFmpeg выдает идентификатор исходного кодека как "CODEC_ID_MPEG4".

Обновление: [Взломать]

Я просто установил m_bmpInfo.biCompression = DWORD ('xvid'), он просто работал нормально ... Но он статический. Как динамически получить / определить это значение, используя ffmpeg или другими способами ...

...