/aiortsp

An Asyncio-based RTSP library

Primary LanguagePythonGNU Lesser General Public License v3.0LGPL-3.0

RTSP Library for asyncio

https://travis-ci.com/marss/aiortsp.svg?branch=master https://coveralls.io/repos/github/marss/aiortsp/badge.svg?branch=master

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())