Я понимаю, что Phonon работает, по крайней мере, в Windows, так как QT предоставляет фононный плагин для 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 без проблем?