--- /dev/null
+#!/bin/sh
+
+# example pipeline to download HSL streams from raiplay.it
+
+set -e
+
+[ "x$1" = "x" -o "x$2" = x ] && { echo "usage: $(basename $0) <source_m3u8_url> <output_file>" 1>&2; exit 1; }
+
+SOURCE_URL="$1"
+OUTPUT_FILE="$2"
+
+# use a fixed and high value for connection-speed to download the best quality video
+gst-launch-1.0 \
+ \
+ mp4mux name=mp4 fragment-duration=10 ! \
+ filesink location="$OUTPUT_FILE" \
+ \
+ "$SOURCE_URL" ! \
+ hlsdemux connection-speed=4294967 ! \
+ tsdemux name=ts \
+ \
+ ts.video_0_0100 ! h264parse ! queue ! \
+ mp4.video_00 \
+ \
+ ts.audio_0_0101 ! decodebin ! audioconvert ! lamemp3enc ! queue ! \
+ mp4.audio_00
+
+# NOTE: the audio re-encoding is necessary because aacparse lacks some
+# functionality, see: https://bugzilla.gnome.org/show_bug.cgi?id=723551