MediaStream

MediaStream of Media Capture and Streams, which groups tracks.

class webrtc.interfaces.media_stream.MediaStream(tracks=None)

A group of audio and video tracks, played or sent together.

The stream keeps its tracks alive.

See MDN: MediaStream.

Events:

addtrack and removetrack (webrtc.MediaStreamTrackEvent) – The remote peer added a track to a remote stream, or removed one. Changes made with add_track() and remove_track() fire none.

Parameters:

tracks (list of webrtc.MediaStreamTrack, optional) – The tracks of the new stream, or a stream whose tracks the new stream shares.

Events

Handlers are registered with on().

property id: str

The ID of the stream. A local stream gets a random UUID and a remote one keeps its peer’s ID.

See MDN: MediaStream/id.

Type:

str

property active: bool

Whether a track of the stream hasn’t ended yet.

See MDN: MediaStream/active.

Type:

bool

get_audio_tracks()

Returns the audio tracks of the stream, in no defined order.

See MDN: MediaStream/getAudioTracks.

Returns:

list of webrtc.MediaStreamTrack – The tracks.

Return type:

list[webrtc.MediaStreamTrack]

get_video_tracks()

Returns the video tracks of the stream, in no defined order.

See MDN: MediaStream/getVideoTracks.

Returns:

list of webrtc.MediaStreamTrack – The tracks.

Return type:

list[webrtc.MediaStreamTrack]

get_tracks()

Returns all the tracks of the stream, in no defined order.

See MDN: MediaStream/getTracks.

Returns:

list of webrtc.MediaStreamTrack – The tracks.

Return type:

list[webrtc.MediaStreamTrack]

get_track_by_id(track_id)

Returns the track with an ID, the first one if several tracks have it.

See MDN: MediaStream/getTrackById.

Parameters:

track_id (str) – The ID.

Returns:

webrtc.MediaStreamTrack, optional – The track, None if no track has the ID.

Return type:

webrtc.MediaStreamTrack | None

add_track(track)

Adds a track to the stream, unless it’s there already. Fires no addtrack event.

See MDN: MediaStream/addTrack.

Parameters:

track (webrtc.MediaStreamTrack) – The track.

remove_track(track)

Removes a track from the stream, if it’s there. Fires no removetrack event.

See MDN: MediaStream/removeTrack.

Parameters:

track (webrtc.MediaStreamTrack) – The track.

clone()

Returns a copy of the stream with a new id, holding clones of its tracks.

See MDN: MediaStream/clone.

Returns:

webrtc.MediaStream – The clone.

Return type:

webrtc.MediaStream