# RTCRtpTransceiverInit

The options of a new transceiver.

### *class* webrtc.models.rtc_rtp_transceiver_init.RTCRtpTransceiverInit(direction=RTCRtpTransceiverDirection.sendrecv, streams=<factory>, send_encodings=<factory>)

The options of a new transceiver, for [`webrtc.RTCPeerConnection.add_transceiver()`](../interfaces/rtc_peer_connection.md#webrtc.interfaces.rtc_peer_connection.RTCPeerConnection.add_transceiver).

It isn’t changed by the call, so it can be reused. See [MDN: RTCPeerConnection/addTransceiver](https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection/addTransceiver).

* **Parameters:**
  * **direction** ([`webrtc.RTCRtpTransceiverDirection`](../enums.md#webrtc.enums.RTCRtpTransceiverDirection), optional) – The preferred direction of the transceiver,
    or its value. It’s `sendrecv` by default.
  * **streams** ([`list`](https://docs.python.org/3/builtins/stdtypes.html#list) of [`webrtc.MediaStream`](../interfaces/media_stream.md#webrtc.interfaces.media_stream.MediaStream), optional) – The local streams that the remote peer
    receives the sender’s track in. They’re signaled by their ids.
  * **send_encodings** ([`list`](https://docs.python.org/3/builtins/stdtypes.html#list) of [`webrtc.RTCRtpEncodingParameters`](rtp_parameters.md#webrtc.models.rtp_parameters.RTCRtpEncodingParameters), optional) – The encodings of the
    sender, one per simulcast layer. With several, each needs a distinct `rid`.
* **Raises:**
  [**ValueError**](https://docs.python.org/3/builtins/exceptions.html#ValueError) – If the direction isn’t a member of [`webrtc.RTCRtpTransceiverDirection`](../enums.md#webrtc.enums.RTCRtpTransceiverDirection).
