libnemesi

  • warning: preg_match(): Compilation failed: unknown option bit(s) set at offset 0 in /var/www/lscube.org/htdocs/drupal/includes/bootstrap.inc on line 896.
  • warning: preg_match(): Compilation failed: unknown option bit(s) set at offset 0 in /var/www/lscube.org/htdocs/drupal/includes/unicode.inc on line 47.
  • warning: preg_match(): Compilation failed: unknown option bit(s) set at offset 0 in /var/www/lscube.org/htdocs/drupal/includes/unicode.inc on line 47.
  • warning: Creating default object from empty value in /var/www/lscube.org/htdocs/drupal/modules/taxonomy/taxonomy.pages.inc on line 34.
  • warning: preg_match(): Compilation failed: unknown option bit(s) set at offset 0 in /var/www/lscube.org/htdocs/drupal/includes/bootstrap.inc on line 896.
  • warning: preg_match(): Compilation failed: unknown option bit(s) set at offset 0 in /var/www/lscube.org/htdocs/drupal/includes/bootstrap.inc on line 896.
  • warning: preg_match(): Compilation failed: unknown option bit(s) set at offset 0 in /var/www/lscube.org/htdocs/drupal/includes/bootstrap.inc on line 896.
  • warning: preg_match(): Compilation failed: unknown option bit(s) set at offset 0 in /var/www/lscube.org/htdocs/drupal/includes/bootstrap.inc on line 896.

Libnemesi - the RTSP/RTP client library

Libnemesi let you add multimedia streaming playback in your applications in a quick and straightforward way. This software, derived from the experience matured with NeMeSi is fully compliant with IETF's standards for real-time streaming of multimedia contents over Internet. libnemesi implements RTSP – Real-Time Streaming Protocol (RFC2326) and RTP/RTCP – Real-Time Transport Protocol/RTP Control Protocol (RFC3550) supporting the RTP Profile for Audio and Video Conferences with Minimal Control (RFC3551).

The library provides two different API:

Libnemesi internals

Libnemesi is implemented with several nested threads dispatched for every session. Within the main thread we send requests to the various servers identified by an RTSP Controller structure, then a thread is dispatched to handle responses.

  • First of all by calling rtsp_init we create an RTSP thread which handles incoming RTSP packets.
  • The RTSP thread as soon as it receives a valid SETUP response from the server creates two different threads to handle RTP and RTCP packets
  • The RTP thread as soon as its created initializes the various parsers for the session

libnemesi - roadmap

Here a quick draft.

  • Structure
    • nemesi is the library, the old NeMeSi will be used as complex example once cleaned but that is low priority. Our priority is having a good and easy to use library
  • API cleanup
    • Provide a simpler way to register custom rtp parsers.
    • Improve the examples.
    • Expose better the network capabilities.
  • Code Cleanup
    • Style update
    • Merge small files in something more organic
  • Rationalization
    • Use external netembryo
    • Use external bufferpool
Syndicate content