RTCVideoSourceStats: framesPerSecond property

The framesPerSecond property of the RTCVideoSourceStats dictionary indicates the number of frames originating from this video source in the last second.

The property is not defined on the stats object for the first second of its lifetime.


A number indicating the frames originating from this source in the last second.


This example shows how you might iterate the stats object returned from RTCRtpSender.getStats() to get the video source stats, and then extract the framesPerSecond.

// where sender is an RTCRtpSender
const stats = await sender.getStats();
let videoSourceStats = null;

stats.forEach((report) => {
  if (report.type === "media-source" && report.kind==="video") {
    videoSourceStats = report;

// Note, test is conditional in case the stats object
// does not include video source stats
const fps = videoSourceStats?.framesPerSecond;


Identifiers for WebRTC's Statistics API
# dom-rtcvideosourcestats-framespersecond

Browser compatibility

BCD tables only load in the browser