Играть видеопоток RTP с помощью QT?

Всего несколько причин использования суррогатных ключей:

  1. Устойчивость : Изменение ключа из-за бизнес-или естественной потребности будет негативно связанные с влиянием таблицы. Суррогатные ключи редко, если когда-нибудь, должны быть изменены, потому что нет никакого значения, связанного со значением.

  2. Соглашение : Позволяет Вам иметь стандартизированное соглашение о присвоении имен столбца Primary Key вместо того, чтобы иметь необходимость думать о как к объединяющим таблицам с различными названиями их PKs.

  3. Скорость : В зависимости от значения PK и типа, суррогатный ключ целого числа может быть меньшим, быстрее чтобы индексировать и искать.

8
задан Community 23 May 2017 в 11:45
поделиться

2 ответа

Я смог заставить его работать, используя решение libVLC. Я не могу гарантировать, что это лучшее решение, хотя, поскольку я просто прекратил поиски после этого.

Вот ссылка на пример libVLC.

3
ответ дан 5 December 2019 в 23:15
поделиться

Насколько я понимаю, Phonon работает по крайней мере в Windows, так это то, что QT предоставляет подключаемый модуль phonon backend для DirectShow (\ plugins \ phonon_backend \ phonon_ds94.dll) и GStreamer в вашем случае. Затем вы должны либо получить, либо написать свой собственный фильтр DirectShow, который может принимать потоки RTP в качестве источника. DirectShow позаботится о декодировании, а Phonon позаботится о рендеринге.

Итак, если бэкэнд работает, код приложения будет таким же простым, как:

        Phonon::MediaObject *media = new Phonon::MediaObject();
        Phonon::VideoWidget *video = new Phonon::VideoWidget();
        Phonon::createPath(media, video);
        media->setCurrentSource(source);
        media->play();

Похоже, проблема заключается в том, что бэкэнд GStreamer принимает RTP в качестве источника . Можете ли вы без проблем воспроизвести этот источник в автономном GStreamer?

2
ответ дан 5 December 2019 в 23:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: