# rtph261pay

Payload encoded H.261 video frames into RTP packets according to RFC 4587. For detailed information see: https://www.rfc-editor.org/rfc/rfc4587.txt

The payloader takes a H.261 frame, parses it and splits it into fragments on MB boundaries in order to match configured MTU size. For each fragment an RTP packet is constructed with an RTP packet header followed by the fragment. In addition the payloader will make sure the packetized H.261 stream appears as a continuous bit-stream after depacketization by shifting the encoded bit-stream of a frame to align with the last significant bit of the previous frame. This helps interoperability in the case where the encoder does not produce a continuous bit-stream but the decoder requires it.

## Example launch line

     gst-launch-1.0 videotestsrc ! avenc_h261 ! rtph261pay ! udpsink

This will encode a test video and payload it. Refer to the rtph261depay example to depayload and play the RTP stream.

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstRTPBasePayload
                        ╰──rtph261pay

## Factory details

Authors: – Stian Selnes <stian@pexip.com></stian@pexip.com>

Classification: – `Codec/Payloader/Network/RTP`

Rank – secondary

Plugin – rtp

Package – GStreamer Good Plug-ins

## Pad Templates

### `sink`

    video/x-h261:

Presence – always

Direction – sink

Object type – GstPad

### `src`

    application/x-rtp:
              media: video
            payload: 31
         clock-rate: 90000
      encoding-name: H261
    application/x-rtp:
              media: video
            payload: [ 96, 127 ]
         clock-rate: 90000
      encoding-name: H261

Presence – always

Direction – src

Object type – GstPad

The results of the search are