[Bug 797280] New: webrtcbin: video pixelated

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Fri Oct 12 11:12:32 UTC 2018


https://bugzilla.gnome.org/show_bug.cgi?id=797280

            Bug ID: 797280
           Summary: webrtcbin: video pixelated
    Classification: Platform
           Product: GStreamer
           Version: unspecified
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gst-plugins-bad
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: degtyaryov at gmail.com
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

Hello.

I using gstwebrtc-demos for experiments.
I no modifications this demo, video are chronically pixelated.

My run demo on Intel Core i5-2300. Tested on Fedora 28 and AltLinux 7.
GStreamer 1.14.1-1.14.4 and git master branch.

On localhost for vp8:
chrome -> gstreamer video pixeleted after few seconds and not restoring. FIXME
videodecoder gstvideodecoder.c:933:gst_video_decoder_drain_out: Sub-class
should implement drain()
firefox -> gstreamer not pixelated.

Via internet for vp8: 
chrome -> gstreamer video pixeleted after few seconds and not restoring. FIXME
videodecoder gstvideodecoder.c:933:gst_video_decoder_drain_out: Sub-class
should implement drain()
firefox -> gstreamer pixelated periodical and restoring. FIXME videodecoder
gstvideodecoder.c:933:gst_video_decoder_drain_out: Sub-class should implement
drain()

On localhost for vp9:
chrome -> gstreamer video not pixeleted, after one minute decode error. Logged
vp9dec0 Failed to decode frame
firefox -> gstreamer not pixelated.

Via internet for vp9: 
chrome -> gstreamer video not pixeleted, after one minute decode error. Logged
vp9dec0 Failed to decode frame
firefox -> gstreamer pixelated periodical and restoring.  FIXME videodecoder
gstvideodecoder.c:933:gst_video_decoder_drain_out: Sub-class should implement
drain()

On localhost for h264:
chrome -> gstreamer not working.

Via wi-fi for h264: 
ios safari -> gstreamer pixelated periodical and restoring.

I modified demo for transfer video hd 720p. I took 720p video clip (~ 2000
kbit/s), split the video and audio into different files.
Replace videotestsrc on filesrc ! decodebin.

On localhost:
chrome -> gstremer  video pixeleted after few seconds and not restoring.
gstreamer -> chrome video from file normally reproduced in good quality and not
pixelated. Periodically, the video freezes(slows down), but continues to play.

I modified demo for connection gstreamer <-> gstreamer and show packets-lost
statistics.

On localhost on CPU Intel Core i5-2300  both videos pixelated.
On localhost on CPU Intel Core i7-7500U not pixelated, video can play for
hours. But sometimes it is suddenly pixelated and not restored.

Via internet video starts to pixelate even without packet loss.
Without vaapi logged:
FIXME videodecoder gstvideodecoder.c:933:gst_video_decoder_drain_out: Sub-class
should implement drain()

For vaapi logged:
0:01:05.094888406 31361      0x164a190 WARN                basesink
gstbasesink.c:3008:gst_base_sink_is_too_late:<sink> warning: A lot of buffers
are being dropped.
0:01:05.094911959 31361      0x164a190 WARN                basesink
gstbasesink.c:3008:gst_base_sink_is_too_late:<sink> warning: There may be a
timestamping problem, or this computer is too slow.
0:01:09.812852771 31361      0x164a190 WARN                basesink
gstbasesink.c:3008:gst_base_sink_is_too_late:<sink> warning: A lot of buffers
are being dropped.
0:01:09.812895157 31361      0x164a190 WARN                basesink
gstbasesink.c:3008:gst_base_sink_is_too_late:<sink> warning: There may be a
timestamping problem, or this computer is too slow.

or

0:00:46.437781309 30576 0x7fcdbc086a80 WARN         rtpjitterbuffer
rtpjitterbuffer.c:570:calculate_skew: delta - skew: 0:00:21.974949098 too big,
reset skew
0:00:54.432961894 30576 0x7fcdbc086a80 WARN         rtpjitterbuffer
rtpjitterbuffer.c:570:calculate_skew: delta - skew: 0:00:07.929154280 too big,
reset skew
0:00:55.091775442 30576 0x7fcdbc086a80 WARN         rtpjitterbuffer
rtpjitterbuffer.c:570:calculate_skew: delta - skew: 0:00:01.005567476 too big,
reset skew
0:00:55.751770789 30576 0x7fcdbc086a80 WARN         rtpjitterbuffer
rtpjitterbuffer.c:570:calculate_skew: delta - skew: 0:00:01.006104407 too big,
reset skew
0:00:56.032690630 30576 0x7fcd8c0044a0 WARN            videodecoder
gstvideodecoder.c:2780:gst_video_decoder_prepare_finish_frame:<vp8dec0>
decreasing timestamp (0:00:46.420374279 < 0:00:47.392941755)
0:00:56.035278829 30576 0x7fcd8c0044a0 WARN            videodecoder
gstvideodecoder.c:2780:gst_video_decoder_prepare_finish_frame:<vp8dec0>
decreasing timestamp (0:00:46.454371755 < 0:00:47.392941755)
0:00:56.037620125 30576 0x7fcd8c0044a0 WARN            videodecoder
gstvideodecoder.c:2780:gst_video_decoder_prepare_finish_frame:<vp8dec0>
decreasing timestamp (0:00:46.487322322 < 0:00:47.392941755)
0:00:56.039805150 30576 0x7fcd8c0044a0 WARN            videodecoder
gstvideodecoder.c:2780:gst_video_decoder_prepare_finish_frame:<vp8dec0>
decreasing timestamp (0:00:46.520118718 < 0:00:47.392941755)
0:00:56.042165373 30576 0x7fcd8c0044a0 WARN            videodecoder
gstvideodecoder.c:2780:gst_video_decoder_prepare_finish_frame:<vp8dec0>
decreasing timestamp (0:00:46.553719923 < 0:00:47.392941755)


I tried to minimize the load on the processor. I check gstreamer(h264) <->
gstreamer(h264) via internet using vaapi for decoder and encoder.
Video is almost not pixelated. Only sometimes and immediately restored. Packet
loss is about the same as in previous tests.


How to make the video just slow down when there is a shortage of computer
resources and then continued to play?

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list