CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-aiortc

Python implementation of WebRTC and ORTC for real-time peer-to-peer communication

87

1.02x
Overview
Eval results
Files

rubric.jsonevals/scenario-2/

{
  "context": "This evaluation assesses the engineer's ability to use aiortc's RTP receiver functionality to accept, decode, and process incoming audio streams. It focuses on proper use of RTCPeerConnection for establishing connections, handling SDP negotiation and ICE candidates, and receiving audio tracks through the RTP receiver mechanism.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "RTCPeerConnection instantiation",
      "description": "Creates an RTCPeerConnection instance to manage the WebRTC connection",
      "max_score": 10
    },
    {
      "name": "SDP offer handling",
      "description": "Uses RTCSessionDescription to parse the incoming offer and calls setRemoteDescription() with the remote offer",
      "max_score": 15
    },
    {
      "name": "SDP answer generation",
      "description": "Calls createAnswer() to generate a response and setLocalDescription() to apply it locally",
      "max_score": 15
    },
    {
      "name": "ICE candidate processing",
      "description": "Uses RTCIceCandidate to create candidate objects from provided parameters and calls addIceCandidate() to add them to the connection",
      "max_score": 15
    },
    {
      "name": "Track reception event",
      "description": "Registers an event handler for the 'track' event on RTCPeerConnection to receive incoming media tracks",
      "max_score": 15
    },
    {
      "name": "Audio frame reception",
      "description": "Uses the track's recv() method in an async loop to receive audio frames from the RTCRtpReceiver",
      "max_score": 15
    },
    {
      "name": "Audio saving",
      "description": "Uses av.AudioFrame objects or similar to process received frames and save them to a WAV file using PyAV or wave module",
      "max_score": 10
    },
    {
      "name": "Connection lifecycle",
      "description": "Properly manages async operations with asyncio and calls close() on the RTCPeerConnection to clean up resources",
      "max_score": 5
    }
  ]
}

Install with Tessl CLI

npx tessl i tessl/pypi-aiortc

tile.json