VIDEO_PIPELINE_BASE="""{gst_video_source} {gst_video_device} {gst_video_options} \
! {format}, width={width}, height={height}, framerate={framerate}/1 \
! {decoder} \
- ! queue ! videoflip method={flip} \
- ! queue ! videoconvert \
- ! queue ! vp8enc threads=4 deadline=2 target-bitrate={vp8_bitrate} \
+ ! videoflip method={flip} \
+ ! videoconvert \
+ ! vp8enc threads=4 deadline=2 target-bitrate={vp8_bitrate} \
! muxout. \
{gst_audio_source} {gst_audio_options} client-name="webm_streaming_{id}_audio" ! audio/x-raw, format=F32LE, channels={channels} \
- ! queue ! audiocheblimit mode=high-pass cutoff={hp_frequency} poles={hp_poles} \
- ! queue ! volume volume={volume_pre} \
- ! queue ! audiodynamic characteristics=soft-knee mode=compressor threshold={comp_threshold} ratio={comp_ratio} \
- ! queue ! volume volume={volume_post} \
- ! queue ! audiodynamic characteristics=hard-knee mode=compressor threshold={limit_threshold} ratio={limit_ratio} \
- ! queue ! audioconvert \
- ! queue ! opusenc bitrate={opus_bitrate} \
+ ! audiocheblimit mode=high-pass cutoff={hp_frequency} poles={hp_poles} \
+ ! volume volume={volume_pre} \
+ ! audiodynamic characteristics=soft-knee mode=compressor threshold={comp_threshold} ratio={comp_ratio} \
+ ! volume volume={volume_post} \
+ ! audiodynamic characteristics=hard-knee mode=compressor threshold={limit_threshold} ratio={limit_ratio} \
+ ! audioconvert \
+ ! opusenc bitrate={opus_bitrate} \
! muxout. \
webmmux streamable=true name=muxout \
- ! queue ! shout2send ip={ip} port={port} password={password} mount=telecaster_live_{id}.webm > /dev/null
+ ! shout2send ip={ip} port={port} password={password} mount=telecaster_live_{id}.webm > /dev/null
"""
AUDIO_PIPELINE_BASE="""{gst_audio_source} {gst_audio_options} client-name="mp3_streaming_audio" \
! audio/x-raw, format=F32LE, channels={channels} \
- ! queue ! audiocheblimit mode=high-pass cutoff={hp_frequency} poles={hp_poles} \
- ! queue ! volume volume={volume_pre} \
- ! queue ! audiodynamic characteristics=soft-knee mode=compressor threshold={comp_threshold} ratio={comp_ratio} \
- ! queue ! volume volume={volume_post} \
- ! queue ! audiodynamic characteristics=hard-knee mode=compressor threshold={limit_threshold} ratio={limit_ratio} \
- ! queue ! audioconvert \
- ! queue ! lamemp3enc quality={mp3_quality} \
- ! queue ! shout2send ip={ip} port={port} password={password} mount=telecaster_live.mp3 > /dev/null
+ ! audiocheblimit mode=high-pass cutoff={hp_frequency} poles={hp_poles} \
+ ! volume volume={volume_pre} \
+ ! audiodynamic characteristics=soft-knee mode=compressor threshold={comp_threshold} ratio={comp_ratio} \
+ ! volume volume={volume_post} \
+ ! audiodynamic characteristics=hard-knee mode=compressor threshold={limit_threshold} ratio={limit_ratio} \
+ ! audioconvert \
+ ! lamemp3enc quality={mp3_quality} \
+ ! shout2send ip={ip} port={port} password={password} mount=telecaster_live.mp3 > /dev/null
"""
DEFAULT_CONFIG_FILE = "/etc/telecaster/telecaster.yml"