Python implementation of WebRTC and ORTC for real-time peer-to-peer communication
87
{
"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-aiortcdocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10