lib/evostream/event/commands/push_stream.rb
# frozen_string_literal: true
module Evostream
module Commands
# This will try to push a local stream to an external destination. The
# pushed stream can only use the RTMP, RTSP or MPEG-TS unicast/multicast
# protocol.
class PushStream < Command
MANDATORY = %w[uri].freeze
def initialize(commands = {})
super(commands)
end
def cmd
super
"pushStream?params=#{encode64}"
end
private
attr_reader :command
# TheURI of the external stream. Can be RTMP, RTSP or unicast/multicast
# (d) mpegts
def uri(param = 'null')
"uri=#{param}"
end
# If provided, the stream will be given this name. Otherwise, a fallback
# techniqueis used to determine the stream name (based on the URI)
def local_stream_name(param = '')
"localStreamName=#{param}"
end
# The name of the stream at destination. If not provided, the target
# stream name willbe the same as the local stream name
def target_stream_name(param = 'null')
"targetStreamName=#{param}"
end
end
end
end