Details
-
Bug
-
Resolution: Fixed
-
P1: Critical
-
6.5.2, 6.6.0 Beta3
-
Windows 10 22H2, MSVC 2019 x64, VLC 3.0.18, ffplay 6.0 (installed from Chocolatey)
-
2ec4170ac (dev), e2910eac2 (6.6), 9918c243b (6.5), 7ba178db0 (dev), 015b24017 (6.9), 5b4d30993 (6.8), a85cfeebc (dev), 034295c95 (6.9), 5e1d8bdfc (6.8)
Description
Code
import QtQuick import QtMultimedia import QtQuick.Controls.Fusion Window { id: root width: 800 height: 600 visible: true title: `${video.source} (${video.playbackState})` Video { id: video anchors.fill: parent source: "rtsp://localhost:8090/stream" } Button { text: video.playbackState === MediaPlayer.StoppedState ? "Play" : "Stop" onClicked: { if (video.playbackState === MediaPlayer.StoppedState) video.play() else video.stop() } } }
Steps to reproduce
- Start a local RTSP server
- Example instructions: https://docs.videolan.me/vlc-user/3.0/en/advanced/streaming/rtsp_session.html
- Example Command Prompt command: vlc.exe http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4 --sout="#rtp {sdp=rtsp://:8090/stream}"
- Run the code above
- Click "Play"
- Wait for the video to start playing (it might take ~10 seconds)
- While Qt is still playing the video, play the same stream using ffplay
- Docs: https://ffmpeg.org/ffplay.html
- Example Command Prompt command: ffplay.exe rtsp://localhost:8090/stream
Outcomes
The issues faced by Qt appear before ffplay is launched, so they are not caused by having multiple receivers:
- The video playback in Qt is choppy (video stream might freeze/glitch every now and then; audio stream might go silent every now and then)
- The same video stream plays perfectly smoothly in ffplay
- Qt shows missed packets in stderr:
[rtsp @ 000002842BA285C0] The profile-level-id field value is not a valid number: 64001f qt.multimedia.ffmpeg.mediadataholder: AVStream duration -9223372036854775808 is invalid. Taking it from the metadata qt.multimedia.ffmpeg.mediadataholder: AVStream duration -9223372036854775808 is invalid. Taking it from the metadata "Invalid argument" [rtsp @ 000002842BA285C0] method PAUSE failed: 405 Method not allowed [rtsp @ 000002842BA285C0] max delay reached. need to consume packet [rtsp @ 000002842BA285C0] RTP: missed 178 packets failed to get textures for frame; format: 172 textureConverter null [rtsp @ 000002842BA285C0] jitter buffer full [rtsp @ 000002842BA285C0] RTP: missed 413 packets [rtsp @ 000002842BA285C0] max delay reached. need to consume packet [rtsp @ 000002842BA285C0] RTP: missed 1 packets [rtsp @ 000002842BA285C0] jitter buffer full [rtsp @ 000002842BA285C0] RTP: missed 1 packets [rtsp @ 000002842BA285C0] max delay reached. need to consume packet [rtsp @ 000002842BA285C0] RTP: missed 1 packets [rtsp @ 000002842BA285C0] max delay reached. need to consume packet [rtsp @ 000002842BA285C0] RTP: missed 1 packets [rtsp @ 000002842BA285C0] max delay reached. need to consume packet [rtsp @ 000002842BA285C0] RTP: missed 1 packets [rtsp @ 000002842BA285C0] max delay reached. need to consume packet [rtsp @ 000002842BA285C0] RTP: missed 1 packets [rtsp @ 000002842BA285C0] max delay reached. need to consume packet [rtsp @ 000002842BA285C0] RTP: missed 1 packets [rtsp @ 000002842BA285C0] max delay reached. need to consume packet [rtsp @ 000002842BA285C0] RTP: missed 1 packets [rtsp @ 000002842BA285C0] max delay reached. need to consume packet [rtsp @ 000002842BA285C0] RTP: missed 1 packets [rtsp @ 000002842BA285C0] max delay reached. need to consume packet [rtsp @ 000002842BA285C0] RTP: missed 1 packets [rtsp @ 000002842BA285C0] max delay reached. need to consume packet [rtsp @ 000002842BA285C0] RTP: missed 1 packets [rtsp @ 000002842BA285C0] max delay reached. need to consume packet [rtsp @ 000002842BA285C0] RTP: missed 1 packets [rtsp @ 000002842BA285C0] max delay reached. need to consume packet [rtsp @ 000002842BA285C0] RTP: missed 2 packets ...
Attachments
Issue Links
- relates to
-
QTBUG-116779 FFmpeg backend: GUI thread freezes when initializing an network source
-
- Closed
-