Mux v1.4.0 Mux.Video.LiveStreams View Source

This module provides functions for managing live streams in Mux Video. API Documentation

Link to this section Summary

Functions

Create a new live stream.

Create a live stream playback ID

Delete a live stream.

Retrieve a live stream by ID.

List all live streams.

Reset a live stream key if you want to immediately stop the current stream key from working and create a new stream key that can be used for future broadcasts.

Signal a live stream is finished

Link to this section Functions

Create a new live stream.

Returns {:ok, live_stream, %Tesla.Env{}}.

Examples

iex> client = Mux.Base.new("my_token_id", "my_token_secret")
iex> {:ok, live_stream, _env} = Mux.Video.LiveStreams.create(client, %{playback_policy: "public", new_asset_settings: %{playback_policy: "public"}})
iex> live_stream
%{"created_at" => "1557338261", "id" => "aA02skpHXoLrbQm49qIzAG6RtewFOcDEY", "new_asset_settings" => %{"playback_policies" => ["public"]}, "playback_ids" => [%{"id" => "iOkfIGstt4u1eYdFcPKGTWKz75Acpv3w", "policy" => "public"}], "reconnect_window" => 60, "status" => "idle", "stream_key" => "54676b58-6b19-5acb-f5bf-3aa35222efc6"}
Link to this function

create_playback_id(client, live_stream_id, params) View Source

Create a live stream playback ID

Returns a tuple such as {:ok, playback_ids, %Tesla.Env{}}

Examples

iex> client = Mux.Base.new("my_token_id", "my_token_secret")
iex> {:ok, playback_id, _env} = Mux.Video.LiveStreams.create_playback_id(client, "aA02skpHXoLrbQm49qIzAG6RtewFOcDEY", %{policy: "public"})
iex> playback_id
%{id: "FRDDXsjcNgD013rx1M4CDunZ86xkq8A02hfF3b6XAa7iE", policy: "public"}
Link to this function

delete(client, live_stream_id) View Source

Delete a live stream.

Returns a tuple such as {:ok, "", %Tesla.Env{}}

Examples

iex> client = Mux.Base.new("my_token_id", "my_token_secret")
iex> {status, _data, _env} = Mux.Video.LiveStreams.delete(client, "aA02skpHXoLrbQm49qIzAG6RtewFOcDEY")
iex> status
:ok
Link to this function

delete_playback_id(client, live_stream_id, playback_id) View Source

Delete a live stream playback ID

Returns a tuple such as {:ok, "", %Tesla.Env{}}

Examples

iex> client = Mux.Base.new("my_token_id", "my_token_secret")
iex> {status, _, _env} = Mux.Video.LiveStreams.delete_playback_id(client, "aA02skpHXoLrbQm49qIzAG6RtewFOcDEY", "FRDDXsjcNgD013rx1M4CDunZ86xkq8A02hfF3b6XAa7iE")
iex> status
:ok
Link to this function

get(client, live_stream_id, options \\ []) View Source

Retrieve a live stream by ID.

Returns a tuple such as {:ok, live_stream, %Tesla.Env{}}

Examples

iex> client = Mux.Base.new("my_token_id", "my_token_secret")
iex> {:ok, live_stream, _env} = Mux.Video.LiveStreams.get(client, "aA02skpHXoLrbQm49qIzAG6RtewFOcDEY")
iex> live_stream
%{"created_at" => "1557338261", "id" => "aA02skpHXoLrbQm49qIzAG6RtewFOcDEY", "new_asset_settings" => %{"playback_policies" => ["public"]}, "playback_ids" => [%{"id" => "iOkfIGstt4u1eYdFcPKGTWKz75Acpv3w", "policy" => "public"}], "reconnect_window" => 60, "status" => "idle", "stream_key" => "54676b58-6b19-5acb-f5bf-3aa35222efc6"}
Link to this function

list(client, params \\ []) View Source

List all live streams.

Returns a tuple such as {:ok, live_streams, %Tesla.Env{}}

Examples

iex> client = Mux.Base.new("my_token_id", "my_token_secret")
iex> {:ok, live_streams, _env} = Mux.Video.LiveStreams.list(client)
iex> live_streams
[%{"created_at" => "1557338261", "id" => "aA02skpHXoLrbQm49qIzAG6RtewFOcDEY", "new_asset_settings" => %{"playback_policies" => ["public"]}, "playback_ids" => [%{"id" => "iOkfIGstt4u1eYdFcPKGTWKz75Acpv3w", "policy" => "public"}], "reconnect_window" => 60, "status" => "idle", "stream_key" => "54676b58-6b19-5acb-f5bf-3aa35222efc6"}, %{"created_at" => "1557338261", "id" => "aA02skpHXoLrbQm49qIzAG6RtewFOcDEY", "new_asset_settings" => %{"playback_policies" => ["public"]}, "playback_ids" => [%{"id" => "iOkfIGstt4u1eYdFcPKGTWKz75Acpv3w", "policy" => "public"}], "reconnect_window" => 60, "status" => "idle", "stream_key" => "54676b58-6b19-5acb-f5bf-3aa35222efc6"}]
Link to this function

reset_stream_key(client, live_stream_id) View Source

Reset a live stream key if you want to immediately stop the current stream key from working and create a new stream key that can be used for future broadcasts.

Returns a tuple such as {:ok, "", %Tesla.Env{}}

Examples

iex> client = Mux.Base.new("my_token_id", "my_token_secret")
iex> {:ok, live_stream, _env} = Mux.Video.LiveStreams.reset_stream_key(client, "aA02skpHXoLrbQm49qIzAG6RtewFOcDEY")
iex> live_stream
%{"created_at" => "1557338261", "id" => "aA02skpHXoLrbQm49qIzAG6RtewFOcDEY", "new_asset_settings" => %{"playback_policies" => ["public"]}, "playback_ids" => [%{"id" => "iOkfIGstt4u1eYdFcPKGTWKz75Acpv3w", "policy" => "public"}], "reconnect_window" => 60, "status" => "idle", "stream_key" => "54676b58-6b19-5acb-f5bf-3aa35222efc6"}
Link to this function

signal_complete(client, live_stream_id) View Source

Signal a live stream is finished

Returns a tuple such as {:ok, "", %Tesla.Env{}}

Examples

iex> client = Mux.Base.new("my_token_id", "my_token_secret")
iex> {status, _, _env} = Mux.Video.LiveStreams.signal_complete(client, "aA02skpHXoLrbQm49qIzAG6RtewFOcDEY")
iex> status
:ok