Closed boxerab closed 5 years ago
Sdk version is 2018 R2, on HD 530
Here is a pipeline that shows this problem:
gst-launch-1.0 -v rtspsrc location="rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov" latency = 0 ! rtph264depay ! h264parse ! mfxh264dec live-mode=true ! videoconvert ! d3dvideosink
Error is:
gstbasesink.c(2902): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstD3DVideoSink:d3dvideosink0:
There may be a timestamping problem, or this computer is too slow.
WARNING: from element /GstPipeline:pipeline0/GstD3DVideoSink:d3dvideosink0: A lot of buffers are being dropped.
If I set latency to default value of 2000 ms, then problem seems to go away. So, it looks like a problem with latency. Perhaps the multi-threading in Intel SDK makes it poorly designed for low latency RTSP streaming ?
See here at the end of the page for a discussion of multi-threading problems when combining GStreamer and MSDK.
Is MSDK suitable for playing live stream ?
Strange thing is that sometimes, the stream runs without any dropped frames at all.
Setting sync=false
on the video sink fixes this issue, but this fix has its own issues.
I am displaying an RTSP stream with low latency. I use the playbin plugin to set up the pipeline.
Using software
avdec_h264
without hardware decode, there are no dropped frames. So, machine can keep up in software mode. Hardware decode is worse.