Primary command (need to be enhanced): -------------------------------------- One line = one pipeline gst-launch-1.0 -e rtspsrc location=rtsp://192.168.48.2:554 latency=100 ! queue ! rtpjpegdepay ! tee name=rawjpeg ! queue ! jpegdec max-errors=-1 ! tee name=rawvideo ! queue ! xvimagesink rawjpeg. ! queue ! matroskamux name=mux pulsesrc ! queue ! vorbisenc quality=0.3 ! tee name=oggaudio pulsesrc ! queue ! flacenc ! queue ! queue ! mux. mux. ! queue ! filesink location=popo rawvideo. ! videoscale ! video/x-raw, width=640, height=360 ! vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=2 sharpness=7 ! queue ! webmmux name=mux2 oggaudio. ! queue ! queue ! mux2. mux2. ! queue ! tee name=streamlo ! queue ! filesink location=popo2 oggaudio. ! queue ! oggmux ! queue ! tee name=streamaudio ! queue ! filesink location=popo4 streamlo. ! queue ! shout2send ip=live.fsf.org port=80 mount=testlo.ogv password=icecastfsf1 streamaudio. ! queue ! shout2send ip=live.fsf.org port=80 mount=testaudio.ogv password=icecastfsf1 ## ## TODO: Investigate double queues and double mux. ## Use multiple bins (one for each flow) and ghostpads to connect them ## Lightened command (to do CPU load benchmarking): Do changes here and merge it with the primary command ----------------------------------------------------- gst-launch-1.0 -e rtspsrc location=rtsp://192.168.48.2:554 latency=100 ! queue ! rtpjpegdepay ! queue ! jpegdec max-errors=-1 ! tee name=rawvideo ! queue ! xvimagesink pulsesrc ! queue ! vorbisenc quality=0.3 ! tee name=oggaudio rawvideo. ! vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=2 sharpness=7 ! queue ! webmmux name=mux2 oggaudio. ! queue ! queue ! mux2. mux2. ! queue ! tee name=streamlo ! queue ! filesink location=popo2 Latest version: --------------- Multilines version (visualisation and setting): gst-launch-1.0 -e rtspsrc location=rtsp://192.168.48.2:554 latency=100 ! queue ! rtpjpegdepay ! tee name=rawjpeg ! queue ! jpegdec max-errors=-1 ! tee name=rawvideo ! queue ! xvimagesink pulsesrc ! queue ! vorbisenc quality=0.3 ! tee name=oggaudio rawvideo. ! videoscale ! video/x-raw, width=640, height=360 ! vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=2 sharpness=7 ! queue ! webmmux name=mux2 oggaudio. ! queue ! queue ! mux2. mux2. ! queue ! tee name=streamlo ! queue ! filesink location=popo2 oggaudio. ! queue ! oggmux ! queue ! tee name=streamaudio ! queue ! filesink location=popo4 streamlo. ! queue ! shout2send ip=live.fsf.org port=80 mount=testlo.ogv password=icecastfsf1 streamaudio. ! queue ! shout2send ip=live.fsf.org port=80 mount=testaudio.ogv password=icecastfsf1 One line version (prototyping/test): To fix: min_quantizer and/or max_quantizer fail the initialization of vp8enc gst-launch-1.0 -e rtspsrc location=rtsp://192.168.48.2:554 latency=100 ! queue ! rtpjpegdepay ! tee name=rawjpeg ! queue ! jpegdec max-errors=-1 ! tee name=rawvideo ! queue ! xvimagesink pulsesrc ! queue ! vorbisenc quality=0.3 ! tee name=oggaudio rawvideo. ! videoscale ! video/x-raw, width=640, height=360 ! vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=2 sharpness=7 ! queue ! webmmux name=mux2 oggaudio. ! queue ! queue ! mux2. mux2. ! queue ! tee name=streamlo ! queue ! filesink location=popo2 oggaudio. ! queue ! oggmux ! queue ! tee name=streamaudio ! queue ! filesink location=popo4 streamlo. ! queue ! shout2send ip=live.fsf.org port=80 mount=testlo.ogv password=icecastfsf1 streamaudio. ! queue ! shout2send ip=live.fsf.org port=80 mount=testaudio.ogv password=icecastfsf1 Webcam feed: ------------ gst-launch-1.0 v4l2src device=/dev/video1 ! video/x-raw,width=640,height=480 ! queue ! xvimagesink sync=false