This is a very simple asyncio library for interacting with an RTSP server, with basic RTP/RTCP support.
The intended use case is to provide a pretty low level control of what happens at RTSP connection level, all in python/asyncio.
This library does not provide any decoding capability, it is up to the client to decide what to do with received RTP packets.
One could easily decode using OpenCV or PyAV, or not at all depending on the intended use.
See examples
for how to use the lib internals, butfor quick usage:
import asyncio
from aiortsp.rtsp.reader import RTSPReader
async def main():
# Open a reader (which means RTSP connection, then media session)
async with RTSPReader('rtsp://cam/video.sdp') as reader:
# Iterate on RTP packets
async for pkt in reader.iter_packets():
print('PKT', pkt.seq, pkt.pt, len(pkt))
asyncio.run(main())