ffmpeg to kurento rtp stream choppy video issue
Asked Answered
B

0

8

I use ffmpeg to make an rtp stream to kurento media server and then send it to browsers via webrtc.

ffmpeg (h264 RTP) -> Kurento -> (h264 WebRTC) Browser

I'm capturing virtual xorg display. This is my ffmpeg command:

ffmpeg -y -v info -fflags +genpts -f x11grab -draw_mouse 0 -r 25 -s 1280x720 -thread_queue_size 4096 -i :0.0+0,0 -an -c:v libx264 -preset veryfast -crf 25 -g 50 -pix_fmt yuv420p -maxrate 2976k -bufsize 5952k -ssrc 112233 -payload_type 103 -tune zerolatency -f rtp rtp://172.16.1.115:40258

This is my fake sdp offer used in negotiation with kurento RtpEndpoint

v=0
o=- 0 0 IN IP4 127.0.0.1
s=Stream
c=IN IP4 127.0.0.1
t=0 0
m=video 9 RTP/AVP 103
a=rtpmap:103 H264/90000
a=fmtp:103 packetization-mode=1
a=sendonly
a=direction:active
a=ssrc:112233 cname:[email protected] 

Here is the problem:

Some I-frames are choppy on bottom half slice of the frame while others have no problem.

It is sometimes corrected when another I-frame has arrived, but mostly choppy.

When choppiness happened, Kms log says:

kmsutils kmsutils.c:483:gap_detection_probe:kmsagnosticbin2-108:sink Stream gap detected, timestamp: 0:51:22.574766908, duration: 0:00:00.000008237

Normal stream (No choppy at all)

Normal Stream (No choppy at all)

Choppy stream

Choppy stream

When it is corrected with an I-Frame (Sometimes it happens)

Corrected stream

I have no clue about what could lead the issue.

Things that I tried to solve the problem.

  • Adding ?pkt_size=1000 (1100,900,1200. Since the mtu in kurento is 1200 default)
  • Changing -crf to different values in between 18-35
  • Changing -preset between medium and ultrafast
  • Changing framerate
  • Changing gop length (When i lower the gop length -More I-Frames- choppiness become shorter in duration but more frequent)
  • When I disable sliced-threads, there is no issue with bottom side but whole screen freezes in same scenario

Any help would be appreciated. Thanks.

Bradleigh answered 27/7, 2020 at 7:55 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.