Details
-
User Story
-
Resolution: Out of scope
-
P2: Important
-
None
-
6.2.0, 6.3.0
-
None
Description
In Qt5 /qml it was possible to playback udpsrc stream as rtp payload on Windows MSVC kit , below qml code works on Qt5, When migrating to qt6 (6.3) this same code stopped working anymore, No error reported in Qt creator .. only if I check Video element error, I get
Failed to load source
; in Qt6, QMultimedia back end is Windows media foundation , as of Qt supported-media-formats Under Widows section ,whatever available for whatever Windows media player ..so should also be for Qt , strangely, I can play the stream with same url using Windows media player , which also uses media foundation. I also have installed the K-Lite codec pack from codec guide in same reference .. , Qt6 tells nothing why loading source failed
qml Code
import QtQuick import QtQuick.Controls import QtMultimedia Window { id: root width: 640 height: 480 visible: true title: qsTr("Hello World") Component.onCompleted: { mediaplayer.source = "rtp://192.168.0.174:5005/? udpsrc.caps=application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)JPEG, payload=(int)26" //mediaplayer.source = "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4" mediaplayer.play() } Video { id: mediaplayer width: 640 height: 480 onErrorChanged: console.log("play error", mediaplayer.errorString , error) // Failed to load source } }
GStreamer pipeline for udp streaming:
gst-launch-1.0 filesrc location=./local_video.mp4 ! decodebin ! queue ! videoconvert ! jpegenc ! queue ! rtpjpegpay ! udpsink host=192.168.0.174 port=5000