Skip to content
Romain Bouqueau edited this page Mar 5, 2024 · 32 revisions

Warning

GPAC's wiki has moved to wiki.gpac.io.

This github wiki will no longer be updated.

You can contribute to GPAC's documentation here.

RTP/RTSP/SDP input

Register name used to load filter: rtpin
This filter may be automatically loaded during graph resolution.

This filter handles SDP/RTSP/RTP input reading. It supports:

  • SDP file reading
  • RTP direct url through rtp:// protocol scheme
  • RTSP session processing through rtsp:// and satip:// protocol schemes

The filter produces either PIDs with media frames, or file PIDs with multiplexed data (e.g. MPEG-2 TS).
The filter will use:

  • RTSP over HTTP tunnel if server port is 80 or 8080 or if protocol scheme is rtsph://.
  • RTSP over TLS if server port is 322 or if protocol scheme is rtsps://.
  • RTSP over HTTPS tunnel if server port is 443 and if protocol scheme is rtsph://.

The filter will attempt reconnecting in TLS mode after two consecutive initial connection failures.

Options

src (cstr): location of source content (SDP, RTP or RTSP URL)
firstport (uint, default: 0): default first port number to use (0 lets the filter decide)
ifce (str): default interface IP to use for multicast. If NULL, the default system interface will be used
ttl (uint, default: 127, minmax: 0-127): multicast TTL
reorder_len (uint, default: 1000): reorder length in packets
reorder_delay (uint, default: 50): max delay in RTP re-orderer, packets will be dispatched after that
block_size (uint, default: 0x100000): buffer size for RTP/UDP or RTSP when interleaved
disable_rtcp (bool, default: false): disable RTCP reporting
nat_keepalive (uint, default: 0): delay in ms of NAT keepalive, disabled by default (except for SatIP, set to 30s by default)
force_mcast (str): force multicast on indicated IP in RTSP setup
use_client_ports (bool, default: false): force using client ports (hack for some RTSP servers overriding client ports)
bandwidth (uint, default: 0): set bandwidth param for RTSP requests
default_port (uint, default: 554, minmax: 0-65535): set default RTSP port
satip_port (uint, default: 1400, minmax: 0-65535): set default port for SATIP
transport (enum, default: auto): set RTP over RTSP

  • auto: set interleave on if HTTP tunnel is used, off otherwise and retry in interleaved mode if UDP timeout
  • tcp: enable RTP over RTSP
  • udp: disable RTP over RTSP

udp_timeout (uint, default: 10000): default timeout before considering UDP is down
rtcp_timeout (uint, default: 5000): default timeout for RTCP traffic in ms. After this timeout, playback will start out of sync. If 0 always wait for RTCP
first_packet_drop (uint, default: 0, updatable): set number of first RTP packet to drop (0 if no drop)
frequency_drop (uint, default: 0, updatable): drop 1 out of N packet (0 disable dropping)
loss_rate (sint, default: -1, updatable): loss rate to signal in RTCP, -1 means real loss rate, otherwise a per-thousand of packet lost
user_agent (str, default: $GUA): user agent string, by default solved from GPAC preferences
languages (str, default: $GLANG): user languages, by default solved from GPAC preferences
stats (uint, default: 500): update statistics to the user every given MS (0 disables reporting)
max_sleep (sint, default: 1000): set max sleep in milliseconds:

  • a negative value -N means to always sleep for N ms
  • a positive value N means to sleep at most N ms but will sleep less if frame duration is shorter

rtcpsync (bool, default: true): use RTCP to adjust synchronization
forceagg (bool, default: false): force RTSP control aggregation (patch for buggy servers)
ssm (strl): list of IP to include for source-specific multicast
ssmx (strl): list of IP to exclude for source-specific multicast

HOME » Filters

Filters Overview

General Filters Concepts
gpac General Usage
Built-in Properties

GPAC Configuration

Configuration File
Global Options
Logging

Filters Help

Inspect packets (inspect)
Probe source (probe)
Compositor (compositor)
ISOBMFF/QT demultiplexer (mp4dmx)
MPEG-4 BIFS decoder (bifsdec)
MPEG-4 OD decoder (odfdec)
File input (fin)
BT/XMT/X3D loader (btplay)
HTTP input (httpin)
SVG loader (svgplay)
JPG/J2K/PNG/BMP reframer (rfimg)
PNG/JPG decoder (imgdec)
ADTS reframer (rfadts)
LATM reframer (rflatm)
MP3 reframer (rfmp3)
FAAD decoder (faad)
MAD decoder (maddec)
OpenJPEG2000 decoder (j2kdec)
AC3 reframer (rfac3)
A52 decoder (a52dec)
AMR/EVRC reframer (rfamr)
OGG demultiplexer (oggdmx)
Vorbis decoder (vorbisdec)
Theora decoder (theoradec)
MPEG-2 TS demultiplexer (m2tsdmx)
UDP/TCP input (sockin)
DVB for Linux (dvbin)
OpenSVC decoder (osvcdec)
VideoToolBox decoder (vtbdec)
MediaCodec decoder (mcdec)
MPEG-4 LASeR decoder (lsrdec)
SAF demultiplexer (safdmx)
MPEG-DASH and HLS client (dashin)
CENC decryptor (cdcrypt)
CENC encryptor (cecrypt)
ISOBMFF/QT multiplexer (mp4mx)
QCP reframer (rfqcp)
H263 reframer (rfh263)
M1V/M2V/M4V reframer (rfmpgvid)
NHNT reader (nhntr)
NHML reader (nhmlr)
AVC/HEVC reframer (rfnalu)
MPEG PS demultiplexer (m2psdmx)
AVI demultiplexer (avidmx)
Subtitle loader (txtin)
TTXT/TX3G decoder (ttxtdec)
WebVTT decoder (vttdec)
TTML decoder (ttmldec)
RTP/RTSP/SDP input (rtpin)
File output (fout)
Raw AAC to LATM writer (uflatm)
ADTS writer (ufadts)
MHAS writer (ufmhas)
Media Reframer (reframer)
Stream to file (writegen)
AVC/HEVC to AnnexB writer (ufnalu)
QCP writer (writeqcp)
WebVTT unframer (ufvtt)
NHNT writer (nhntw)
NHML writer (nhmlw)
VobSub parser (vobsubdmx)
AVI multiplexer (avimx)
Audio output (aout)
M4V writer (ufm4v)
VC1 writer (ufvc1)
Audio resampler (resample)
Video output (vout)
Video crop (vcrop)
Video flip (vflip)
RAW video reframer (rfrawvid)
PCM reframer (rfpcm)
JPG encoder (jpgenc)
PNG encoder (pngenc)
Audio/Video rewinder (rewind)
Sources concatenator (flist)
MPEG-2 TS multiplexer (m2tsmx)
DASH and HLS segmenter (dasher)
HEVC tile aggregator (tileagg)
HEVC tile bitstream splitter (tilesplit)
pipe input (pin)
pipe output (pout)
GSF Multiplexer (gsfmx)
GSF demultiplexer (gsfdmx)
UDP/TCP output (sockout)
AV1/IVF/VP9 reframer (rfav1)
IVF/OBU/annexB writer (ufobu)
NVidia decoder (nvdec)
ROUTE input (routein)
RTP Streamer (rtpout)
RTSP Server (rtspout)
HTTP Server (httpout)
HEVC tile splitter (hevcsplit)
HEVC Tile merger (hevcmerge)
FLAC reframer (rfflac)
MPEH-H Audio Stream reframer (rfmhas)
ProRes reframer (rfprores)
MPEG Transport Stream splitter (tssplit)
Compressed bitstream rewriter (bsrw)
Compressed layered bitstream splitter (bssplit)
Compressed layered bitstream aggregator (bsagg)
TX3G unframer (ufttxt)
TX3G to SRT (tx3g2srt)
TX3G to WebVTT (tx3g2vtt)
TX3G to TTML (tx3g2ttml)
WebVTT to TX3G (vtt2tx3g)
SRT reframer (rfsrt)
TTML to WebVTT (ttml2vtt)
TTML to SRT (ttml2srt)
MPEG-H Audio decoder (mpeghdec)
FFMPEG demultiplexer (ffdmx)
FFMPEG decoder (ffdec)
FFMPEG AV Capture (ffavin)
FFMPEG video rescaler (ffsws)
FFMPEG encoder (ffenc)
FFMPEG multiplexer (ffmx)
FFMPEG AVFilter (ffavf)
FFMPEG BitStream filter (ffbsf)
JavaScript filter (jsf)
ROUTE output (routeout)
TrueHD reframer (rftruehd)
CryptFile input (cryptin)
CryptFile output (cryptout)
Packet timestamp rewriter (restamp)
OGG multiplexer (oggmx)
Stream unframer (unframer)
Stream to unframed format (writeuf)
UNCV decoder (uncvdec)
GHI demultiplexer (ghidmx)
EVG video rescaler (evgs)
Closed-Caption decoder (ccdec)
DekTec SDIOut (dtout)
OpenHEVC decoder (ohevcdec)
Uncompressed Video File Format Generator Utility (uncvg)
GPU texture uploader (glpush)
Thumbnail collection generator (thumbs)
Audio Video Mixer (avmix)
AV Counter Generator (avgen)

Clone this wiki locally