waveguide icon indicating copy to clipboard operation
waveguide copied to clipboard

FTL: Collect metadata about the stream

Open clone1018 opened this issue 2 years ago • 3 comments

Fields normally used are:

type StreamMetadata struct {
	AudioCodec        string
	IngestServer      string
	IngestViewers     int
	LostPackets       int
	NackPackets       int
	RecvPackets       int
	SourceBitrate     int
	SourcePing        int
	StreamTimeSeconds int
	VendorName        string
	VendorVersion     string
	VideoCodec        string
	VideoHeight       int
	VideoWidth        int
}

clone1018 avatar Jan 01 '23 23:01 clone1018

@clone1018 For clarity, do you think we do metadata collection at ftl ingress or after the local peer ingestor that we have for thumbnailer?

webrtc-stats was recently implemented with pion v3.2.0.which could be useful in providing the relevant metadata. Although, I think for this we would have to effectively pull metadata from the local webrtc ingestor. I'm not sure if that's really going to be useful.

nassah221 avatar May 05 '23 20:05 nassah221

Well, these metrics are used to debug the quality of the stream that the streamer is pushing to us. So they should exist either at, or right after the video ingestion layer (FTL / RTMP / SRT / etc). If we put it after the peer ingestor the numbers wouldn't be right. I ended up implementing a couple of these, but there's more work to do for sure.

clone1018 avatar May 06 '23 10:05 clone1018

Though, webrtc-stats will be crucial for debugging Glimesh => Viewer connections!

clone1018 avatar May 06 '23 10:05 clone1018