# Stream live via RTMP. You need the following Gstreamer plugins: flvmux, rtmpsink, x264enc and a suitable AAC encoder (see @audio_encoder@ params). # @param ~id Source ID # @param ~video_bitrate Video bitrate # @param ~audio_encoder Audio encoder. Can be one of: "fdkaacenc", "voaacenc" # @param ~audio_bitrate Audio bitrate # @param ~url Server URL # @param ~key Secret key # @param source Source to stream # @category Source / Output def output.rtmp.live(~id="", ~video_bitrate=2000, ~audio_encoder="fdkaacenc", ~audio_bitrate=128000, ~url="rtmp://icynet.eu:1935/live", ~key, source) = video_pipeline = "videoconvert ! \ x264enc bitrate=#{video_bitrate} byte-stream=false key-int-max=60 bframes=0 aud=true tune=zerolatency ! \ video/x-h264,profile=main ! queue ! mux." audio_pipeline = "audioconvert ! #{audio_encoder} bitrate=#{audio_bitrate} ! queue ! mux." pipeline = "flvmux streamable=true name=mux ! rtmpsink location=\"#{url}/#{key}\"" output.gstreamer.audio_video(id=id,video_pipeline=video_pipeline, audio_pipeline=audio_pipeline,pipeline=pipeline,source) end