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
2025
2026
 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