#!/bin/sh # example pipeline to download HSL streams from raiplay.it set -e [ "x$1" = "x" -o "x$2" = x ] && { echo "usage: $(basename $0) " 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