RTPDUMP(1)
π RTPDUMP π
okay bestie, welcome to rtpdump β a General Commands Manual situation, and honestly? it's giving main character energy for anyone who lives and breathes RTP. she parses and prints RTP packets, and she does it iconically. β¨
β¨ SYNOPSIS β¨
rtpdump [-h] [-F format] [-f infile] [-o outfile] [-t minutes]
[-x bytes] [address]/port
πΈ DESCRIPTION πΈ
so here's the vibe: rtpdump reads RTP and RTCP packets on the address/port you give her β or from standard input by default β and dumps a processed version to standard output. and like, the output she makes? it's suitable as input for rtpplay(1) and rtpsend(1). slay. π«Ά
the IPv4 address can be specified in dotted decimal notation or as a hostname, and it defaults to 127.0.0.1. the port number must be given as a decimal numbers between 1 and 65535. yes, decimal numbers, she said what she said. π
the options are as follows:
π OPTIONS π
-F formatβ write the output in the given format, which is one of the following:dump,header,payload,ascii,hex,rtcp,short.
okay so let's break these down one by one because there's lore here:
the dump format is a binary format suitable as input for rtpplay(1). the generated output file should have a .rtp filename extension. the file starts with
#!rtpplay1.0 address/port\n
the version number indicates the file format version, not the version of RTP tools used to generate the file. the current file format version is 1.0. this is followed by one RD_hdr_t header and one RD_packet_t structure for each received packet. all fields are in network byte order. the RTP and RTCP packets are recorded as-is. the structures are as follows:
typedef struct {
struct timeval start; /* start of recording (GMT) */
uint32_t source; /* network source (multicast) */
uint16_t port; /* UDP port */
} RD_hdr_t;
typedef struct {
uint16_t length; /* length of original packet, including header */
uint16_t plen; /* actual header+payload length for RTP, 0 for RTCP */
uint32_t offset; /* ms since the start of recording */
} RD_packet_t;
the header format is like dump, but does not save the audio/video payload. the payload format only saves the audio/video payload. π¦
the ascii format, which is the default, saves text parsed packets, suitable for rtpsend(1). see below for an example. the hex format is like ascii, but with a hex dump of the payload. the rtcp format is like ascii, but only saves RTCP packets.
the short format dumps RTP or VAT data in lines such as
[-]time timestamp [seq]
where - indicates a set marker bit, time is the arrival time, timestamp is the RTP timestamp, and seq is the RTP sequence number (only used for RTP packets). iykyk. π
-f infileβ read packets from infile instead of from the network or from standard input. heads up: the file must have been recorded using thedumpformat. no cap, it has to bedump. π-hβ print a short usage summary and exit. the classic little escape hatch, we love her. π-o outfileβ dump to outfile instead of to standard output. redirect your whole personality. β¨-t minutesβ only listen for the first minutes. lowkey a time limit, highkey self care. β-x bytesβ process only the first number of bytes of the payload. this is only applicable for thedumpandhexformats β so don't come for her if it doesn't do anything elsewhere. π
π₯ EXAMPLES π₯
like, actual receipts. look at her go:
$ rtpdump -F ascii /1234
844525628.240592 RTP len=176 from=131.136.234.103:46196 v=2 p=0 x=0 cc=0 m=0 pt=5 (IDVI,1,8000) seq=28178 ts=954052737 ssrc=0x124e2b58
$ rtpdump -F rtcp /1234
844525628.243123 RTCP len=128 from=139.88.27.43:53154
(RR ssrc=0x125bd36f p=0 count=1 len=7
(ssrc=bc64b658 fraction=0.503906 lost=4291428375 last_seq=308007791
jit=17987961 lsr=2003335488 dlsr=825440558)
)
(SDES p=0 count=1 len=23
(src=0x125bd36f CNAME="yywhy@139.88.27.43" NAME="Michael Baldizzi
(NASA LeRC)" TOOL="vat-4.0a8" EMAIL="mbaldizzi@lerc.nasa.gov" )
)
$ rtpdump -F short /1234
-1511433758.442892 3988999488 54553
1511433758.480881 3988999648 54554
1511433758.500863 3988999808 54555
1511433758.520860 3988999968 54556
1511433758.540872 3989000128 54557
see that first short line with the -? that's the set marker bit, bestie. the way that little minus sign is doing so much. π
π SEE ALSO π
rtpplay(1), rtpsend(1) β her two besties, fr fr. go say hi. π«Ά
π AUTHORS π
rtpdump was written by Henning Schulzrinne <hgs@cs.columbia.edu>, with enhancements by Ping Pan and Akira Tsukamoto <akira.tsukamoto@gmail.com>. legends, all of them. π
cute little sign-off: this page is Debian's, dated November 23, 2017 β and that's the whole footer, no notes. ππ§ββοΈπ
π¦ where this page comes from
- nixos 26.05: rtptools 1.22
- nixpkgs unstable: rtptools 1.22
- π the page's license: BSD-3-Clause
- (c) 1998-2018 by Columbia University; all rights reserved
- (c) 2017-2018 by Jan Stary <hans@stare.cz>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms