Module steps

Source
Expand description

Workflow steps are individual actions that can be taken on media as part of a media pipeline.

Modules§

factory
ffmpeg_hls
This step utilizes ffmpeg to create an HLS playlist.
ffmpeg_pull
This workflow step utilizes ffmpeg to read video from an external source. The external source can be a remote RTMP server or a file on the file system. If ffmpeg closes (such as when the video file has been fully streamed) then the ffmpeg will restart until the workflow is removed.
ffmpeg_rtmp_push
This step utilizes the ffmpeg endpoint to send media to an external system, such as another RTMP server.
ffmpeg_transcode
A workflow step that that utilizes the ffmpeg executable to transcode media streams. When a new stream comes into the step, it will coordinate with the RTMP server endpoint to provision a special app/stream key combination to push a video stream out and another app/stream key combination to receive the transcoded video stream back.
rtmp_receive
The RTMP Receive step registers with the RTMP server endpoint to allow publishers to connect with the specified port, application name, and stream key combination. Any media packets that RTMP publishers send in will be sent to the next steps.
rtmp_watch
The RTMP watch step registers with the RTMP server endpoint to allow for RTMP clients to connect and watch media streams based on the specified port, application name, and stream key combinations. When the workflow step is passed in media notifications it passes them to the RTMP endpoint for distribution for waiting clients.
workflow_forwarder
The workflow forwarder step takes all media notifications it receives and sends them to the specified workflow, using the workflow media relay. All media notifications are also passed to subsequent steps.

Structs§

ExternalStreamReader
Represents logic for a basic workflow step that exposes streams to an RTMP endpoint so that an external system can read the video stream. This exposes a read-only interface for media, which means the external system is not expected to push media back into the same workflow as the same identifiable stream. An example of this is providing media for ffmpeg to generate HLS feeds for.
StepInputs
Inputs to be passed in for execution of a workflow step.
StepOutputs
Resulting outputs that come from executing a workflow step.
StreamHandlerFutureWrapper

Enums§

ResolvedFutureStatus
StepStatus
Various statuses of an individual step

Traits§

ExternalStreamHandler
Trait used to handle different external resources for a single stream
ExternalStreamHandlerGenerator
Allows creating a new external stream handler for any stream
StepFutureResult
Represents the result of a future for a workflow step. It is expected that the workflow step will downcast this result into a struct that it owns.
StreamHandlerFutureResult
WorkflowStep
Represents a workflow step that can be executed

Type Aliases§

CreateFactoryFnResult
FutureList
StepCreationResult