We use the streaming plugin on the “legacy” Janus to broadcast content by using ffmpeg to pull in a remote rtsp stream and write out the rtp/rtcp to different ports that the streaming plugin pulls in.
The video broadcast on the client side looks great, but one of the items that we’d like to do is try to coordinate some sort of validation/indication on the client that the frames being displayed are not latent. Really just to say we want to do something with the track if the frames really aren’t “live” within some threshold of seconds due to networking using the NTP timestamp from the rtsp source.
I know that the NTP timestamp is sent in the RTCP Sender Report that FFMPEG drops unto the videortcpport that the plugin is listening on for our stream. But I’m not seeing any way to view the statistics of that Sender Report anywhere on my client’s PeerConnections.
When I was looking at the ICD for the RTCPeerConnection, it looks like in the specification we should be able to call getSenders() and then getStats(), to grab the remote-outbound-rtp/remote-inbound-rtp reports to collect data found in the RTCP Sender Report like the remoteTimestamp.
But for connections made through the streaming plugin, despite receiving the media track and receiving the video broadcast, the getSenders() is empty, so those corresponding reports are not available.
Is it expected that I wouldn’t see any senders (or their corresponding reports) from a stream that was forwarded over to the videoport/videortcpport ports for the streaming plugin?
And if so, is there an option to have that RtpSender available on the PeerConnection or another way to have that NTP timestamp available on the client’s PeerConnection?