At the moment when calling start_participant_egress with a StreamOutput it fails because the Proto::ParticipantEgressRequest doesn't have a stream attribute.
Client code adapted from RoomComposite sample:
# helper that sets output to file or stream
def set_output(request, output)
....
elsif output.is_a? LiveKit::Proto::StreamOutput
request.stream = output
request.stream_outputs = Google::Protobuf::RepeatedField.new(:message, Proto::StreamOutput, [output])
end
end
The use case we are looking at solving is to maintain compatibility with pre-LiveKit code and want to forward the participant stream (video+audio) with as little overhead as possible for onwards processing to a RTMP endpoint. (edited)
From discussion on Slack (https://livekit-users.slack.com/archives/C01KVTJH6BX/p1700152530119099) the Ruby SDK doesn't include support for StreamOutput for a ParticipantEgressRequest.
At the moment when calling start_participant_egress with a StreamOutput it fails because the Proto::ParticipantEgressRequest doesn't have a stream attribute. Client code adapted from RoomComposite sample:
SDK: egress_service_client.rb (Line 236)
The use case we are looking at solving is to maintain compatibility with pre-LiveKit code and want to forward the participant stream (video+audio) with as little overhead as possible for onwards processing to a RTMP endpoint. (edited)