Details
-
Bug
-
Resolution: Cannot Reproduce
-
P3: Somewhat important
-
None
-
5.9.3
-
None
-
Debian 9 (stretch) amd64 with KDE
Qt from Online Installer
Description
Running qmlvideo -url "rtsp://admin:admin@192.168.1.108:80/cam/realmonitor?channel=1&subtype=0&proto=Private3" to display IP camera video output via rtsp protocol results in this error:
0:00:02.666240768 14268 0x7f3858006b70 WARN decodebin gstdecodebin2.c:4592:gst_decode_bin_expose:<decodebin2> error: no suitable plugins found: Missing decoder: application/x-rtp (application/x-rtp, media=(string)application, payload=(int)100, clock-rate=(int)90000, encoding-name=(string)STREAM-ASSIST-FRAME, a-packetization-supported=(string)DH, a-rtppayload-supported=(string)DH, a-recvonly=(string)"", ssrc=(uint)1619523952, clock-base=(uint)63856, seqnum-base=(uint)63856, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1)
Full output (with GST_DEBUG=3 set):
Starting /home/debian/Qt/Examples/Qt-5.9.3/multimedia/video/build-qmlvideo-Desktop_Qt_5_9_3_GCC_64bit-Release/qmlvideo... 0:00:02.298414542 14268 0x55d41d484a00 FIXME bin gstbin.c:4350:gst_bin_query: implement duration caching in GstBin again 0:00:02.300814450 14268 0x55d41d484a00 FIXME bin gstbin.c:4350:gst_bin_query: implement duration caching in GstBin again 0:00:02.326638039 14268 0x55d41d484a00 FIXME bin gstbin.c:4350:gst_bin_query: implement duration caching in GstBin again 0:00:02.326691878 14268 0x55d41d484a00 FIXME bin gstbin.c:4350:gst_bin_query: implement duration caching in GstBin again 0:00:02.377707216 14268 0x55d41d484a00 FIXME bin gstbin.c:4350:gst_bin_query: implement duration caching in GstBin again 0:00:02.379078141 14268 0x55d41d484a00 FIXME bin gstbin.c:4350:gst_bin_query: implement duration caching in GstBin again 0:00:02.480994371 14268 0x55d41d484a00 FIXME bin gstbin.c:4350:gst_bin_query: implement duration caching in GstBin again 0:00:02.481035983 14268 0x55d41d484a00 FIXME bin gstbin.c:4350:gst_bin_query: implement duration caching in GstBin again 0:00:02.543182871 14268 0x7f387404e050 FIXME default gstutils.c:3826:gst_pad_create_stream_id_internal:<fakesrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id 0:00:02.544957259 14268 0x7f387404e0f0 FIXME default gstutils.c:3826:gst_pad_create_stream_id_internal:<fakesrc1:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id 0:00:02.545341838 14268 0x7f387404e0a0 FIXME default gstutils.c:3826:gst_pad_create_stream_id_internal:<fakesrc2:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id 0:00:02.666103144 14268 0x7f3858006b70 WARN uridecodebin gsturidecodebin.c:938:unknown_type_cb:<uridecodebin0> warning: No decoder available for type 'application/x-rtp, media=(string)application, payload=(int)100, clock-rate=(int)90000, encoding-name=(string)STREAM-ASSIST-FRAME, a-packetization-supported=(string)DH, a-rtppayload-supported=(string)DH, a-recvonly=(string)"", ssrc=(uint)1619523952, clock-base=(uint)63856, seqnum-base=(uint)63856, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1'. 0:00:02.666207204 14268 0x7f3858006b70 WARN default descriptions.c:1222:gst_pb_utils_get_codec_description: No description available for media type: application/x-rtp 0:00:02.666240768 14268 0x7f3858006b70 WARN decodebin gstdecodebin2.c:4592:gst_decode_bin_expose:<decodebin2> error: no suitable plugins found: Missing decoder: application/x-rtp (application/x-rtp, media=(string)application, payload=(int)100, clock-rate=(int)90000, encoding-name=(string)STREAM-ASSIST-FRAME, a-packetization-supported=(string)DH, a-rtppayload-supported=(string)DH, a-recvonly=(string)"", ssrc=(uint)1619523952, clock-base=(uint)63856, seqnum-base=(uint)63856, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1) 0:00:02.667262701 14268 0x7f387404e400 WARN basesrc gstbasesrc.c:2950:gst_base_src_loop:<udpsrc6> error: Internal data stream error. 0:00:02.667290827 14268 0x7f387404e400 WARN basesrc gstbasesrc.c:2950:gst_base_src_loop:<udpsrc6> error: streaming stopped, reason not-linked (-1) qml: [qmlvideo] VideoItem.onError error 2 errorString Cannot play stream of type: <unknown> qml: [qmlvideo] Content.onFatalError 0:00:02.670339878 14268 0x7f3844017e30 WARN GST_PADS gstpad.c:4106:gst_pad_peer_query:<decodebin0:src_0> could not send sticky events 0:00:02.670431828 14268 0x7f3844017e30 WARN GST_PADS gstpad.c:4106:gst_pad_peer_query:<decodebin0:src_0> could not send sticky events 0:00:02.803801281 14268 0x55d41dffaad0 WARN rtspsrc gstrtspsrc.c:5505:gst_rtspsrc_try_send:<source> send interrupted 0:00:02.803826567 14268 0x55d41dffaad0 WARN rtspsrc gstrtspsrc.c:7588:gst_rtspsrc_pause:<source> PAUSE interrupted 0:00:02.807714944 14268 0x55d41dffaad0 WARN rtspsrc gstrtspsrc.c:5505:gst_rtspsrc_try_send:<source> send interrupted 0:00:02.807730883 14268 0x55d41dffaad0 WARN rtspsrc gstrtspsrc.c:7043:gst_rtspsrc_close:<source> TEARDOWN interrupted Warning: "No decoder available for type 'application/x-rtp, media=(string)application, payload=(int)100, clock-rate=(int)90000, encoding-name=(string)STREAM-ASSIST-FRAME, a-packetization-supported=(string)DH, a-rtppayload-supported=(string)DH, a-recvonly=(string)\"\", ssrc=(uint)1619523952, clock-base=(uint)63856, seqnum-base=(uint)63856, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1'." 0:00:02.817327462 14268 0x55d41d484a00 FIXME bin gstbin.c:4350:gst_bin_query: implement duration caching in GstBin again 0:00:02.817364648 14268 0x55d41d484a00 FIXME bin gstbin.c:4350:gst_bin_query: implement duration caching in GstBin again 0:00:03.218046762 14268 0x55d41d484a00 FIXME bin gstbin.c:4350:gst_bin_query: implement duration caching in GstBin again 0:00:03.218173987 14268 0x55d41d484a00 FIXME bin gstbin.c:4350:gst_bin_query: implement duration caching in GstBin again /home/debian/Qt/Examples/Qt-5.9.3/multimedia/video/build-qmlvideo-Desktop_Qt_5_9_3_GCC_64bit-Release/qmlvideo exited with code 0
Meanwhile, I can launch KDE dragon player with gstreamer backend, and it managed to play the video, although same warning occurs (while QtMultimedia interpreted it as error?):
$ env PHONON_BACKEND=phonon_gstreamer PHONON_BACKEND_DEBUG=2 PHONON_DEBUG=2 dragon Stopped state updated actions updated menus set titles seekable changed to false Opening QUrl("rtsp://admin@192.168.1.108:80/cam/realmonitor?channel=1&subtype=0&proto=Private3") detected mimetype: "application/octet-stream" QPainter::begin: Paint device returned engine == 0, type: 2 Initial offset is 0 using index: -1 returned desc has index: -1 using index: 0 returned desc has index: -1 chapters: 0 titles: 0 going from "Loading" to "Stopped" Stopped state updated actions updated menus set titles chapters: 0 titles: 0 going from "Stopped" to "Paused" Paused state updated actions updated menus set titles PHONON-GST [WARNING] "Warning: gsturidecodebin.c(938): unknown_type_cb (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0\nMessage:No decoder available for type 'application/x-rtp, media=(string)application, payload=(int)100, clock-rate=(int)90000, encoding-name=(string)STREAM-ASSIST-FRAME, a-packetization-supported=(string)DH, a-rtppayload-supported=(string)DH, a-recvonly=(string)\"\", ssrc=(uint)393883596, clock-base=(uint)12236, seqnum-base=(uint)12236, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1'." hasVideo changed true Paused state updated actions updated menus set titles () () () metaDataChanged Disc ID: "" set titles () () () update recent files list () () () metaDataChanged Disc ID: "" set titles seekable changed to false chapters: 0 titles: 0 going from "Paused" to "Playing" Updating channels, subtitle count: 0 adjusting size to video resolution Playing state updated actions updated menus set titles stop cursorTimer trying to fetch subtitle information fetched subtitle information
And dragon is in fact using gstreamer:
$ fgrep rtsp /proc/$(pgrep dragon)/maps 7f6297a3a000-7f6297a57000 r-xp 00000000 08:01 793567 /usr/lib/x86_64-linux-gnu/libgstrtsp-1.0.so.0.1004.0 7f6297a57000-7f6297c56000 ---p 0001d000 08:01 793567 /usr/lib/x86_64-linux-gnu/libgstrtsp-1.0.so.0.1004.0 7f6297c56000-7f6297c59000 r--p 0001c000 08:01 793567 /usr/lib/x86_64-linux-gnu/libgstrtsp-1.0.so.0.1004.0 7f6297c59000-7f6297c5a000 rw-p 0001f000 08:01 793567 /usr/lib/x86_64-linux-gnu/libgstrtsp-1.0.so.0.1004.0 7f6297e7a000-7f6297e9f000 r-xp 00000000 08:01 139315 /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstrtsp.so 7f6297e9f000-7f629809f000 ---p 00025000 08:01 139315 /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstrtsp.so 7f629809f000-7f62980a0000 r--p 00025000 08:01 139315 /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstrtsp.so 7f62980a0000-7f62980a1000 rw-p 00026000 08:01 139315 /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstrtsp.so
P.S. to make dragon player work with gstreamer, I believe I had to installed phonon4qt5-backend-gstreamer.