Skip to content

Flex FEC send from pion cause frame tears in browser. #318

@3DRX

Description

@3DRX

Your environment.

  • github.com/pion/webrtc/v4 v4.0.14
  • github.com/pion/interceptor v0.1.37
  • Any browser with relative new version, desktop chromium and mobile safari in my case.

What did you do?

I use flexfec03 via the following code

	err = m.RegisterCodec(
		webrtc.RTPCodecParameters{
			RTPCodecCapability: webrtc.RTPCodecCapability{
				MimeType:     webrtc.MimeTypeFlexFEC + "-03",
				ClockRate:    9000,
				Channels:     0,
				SDPFmtpLine:  "repair-window=10000000",
				RTCPFeedback: nil,
			},
			PayloadType: 118,
		},
		webrtc.RTPCodecTypeVideo,
	)

// ...

	fecInterceptor, err := flexfec.NewFecInterceptor()
	if err != nil {
		panic(err)
	}
	i.Add(fecInterceptor)

Through logging in sender and observing receiver stats I'm pretty sure pion is sending encoded FEC packets correctly. But when I randomly drop some packets in a controlled network, the framerate in clientside didn't drop significantly, but the video tears apart from time to time. I think this perhaps means the browser can recover frames from FEC paload, but the recovered frame is incorrect.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions