Project

rtcp

0.0
No commit activity in last 3 years
No release in over 3 years
Parse RTCP data into Ruby objects
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

> 1.0.0
>= 0
>= 2.6.0
>= 0.5.0
 Project Readme

Description¶ ↑

The RTP Control Protocol (RTCP) gathers statistical data about RTP sessions, for example transmitted octet and packet counts, lost packet counts, round-trip delay time and interarrival jitter.

This library parses RTCP data into ruby objects.

Features¶ ↑

  • Parse RTCP Packets into Ruby Objects

  • Supports the following RTCP Packet types:

    • 200: Sender Report

    • 201: Receiver Report

    • 202: Source Description

    • 203: Goodbye

    • 204: Application-Defined (Does not decode application-dependent data)

    • 206: Payload-Specific FB message (Does not decode FCI block)

    • 207: Extended Report

    • 209: Receiver Summary Information

Examples¶ ↑

Parse an RTCP Packet¶ ↑

require 'rtcp'

rr = RTCP.decode(rtcp_rr_data)   # => [RTCP::RR Object]
rr.ssrc                          # => 3945864703
rr.length                        # => 8
rr.version                       # => 2
rr.report_blocks                 # => []

Parse a sequence of RTCP Packets¶ ↑

require 'rtcp'

msgs = RTCP.decode(rtcp_data)    # => [Array of RTCP::* Objects]

msgs[0].class                    # => RTCP::RR
msgs[0].ssrc                     # => 3945864703

msgs[1].class                    # => RTCP::SDES
msgs[1].chunks                   # => [Array of Hashes]
msgs[1].chunks[0][:ssrc]         # => 3945864703
msgs[1].chunks[0][:type]         # => :cname
msgs[1].chunks[0][:data]         # => "00-09-df-1b-ec-0a"

msgs[2].class                    # => RTCP::RSI
msgs[2].ssrc                     # => 3945864703
msge[2].ntp_timestamp            # => [Time Object]

msgs[3].class                    # => RTCP::APP
msgs[3].name                     # => "PLII"
msgs[3].app_data                 # => [Binary Data -- The application data]

msgs[4].class                    # => RTCP
msgs[4].to_s                     # => [Binary Data -- The whole RTCP packet]

Requirements¶ ↑

  • Rubies (tested, at least):

    • 1.9.3

    • JRuby 1.7.3 (1.9 mode)

Install¶ ↑

$ gem install

Copyright © 2013 Christian Rusch