|
|
@@ -1,13 +1,17 @@
|
|
|
#!/bin/bash
|
|
|
|
|
|
# Command-line parameters
|
|
|
-M3U8="${1}"
|
|
|
-PREFIX="${2}"
|
|
|
-if [ ! -r "${M3U8}" ]; then
|
|
|
- echo "Usage: ${0} input_m3u8 [uri_prefix]" 1>&2
|
|
|
+URI="${1}"
|
|
|
+if [ -z "${URI}" ]; then
|
|
|
+ wcho "Usage: ${0} uri" 1>&2
|
|
|
exit 1
|
|
|
fi
|
|
|
|
|
|
+# Fetch the M3U8
|
|
|
+M3U8="`mktemp -t 'M3U8'`"
|
|
|
+curl -o "${M3U8}" "${URI}"
|
|
|
+PREFIX="`echo "${URI}" | sed 's%^\(.*\)\/.*$%\1%'`"
|
|
|
+
|
|
|
# Find the highest-resolution/highest-bandwidth stream
|
|
|
BANDWIDTH="`cat "${M3U8}" | grep '^#EXT-X-STREAM-INF:' | \
|
|
|
sed 's%^.*[,:]BANDWIDTH=\([0-9]*\).*,RESOLUTION=\([0-9]*\)x\([0-9]*\).*$%\2 \1%' | \
|
|
|
@@ -17,7 +21,8 @@ BANDWIDTH="`cat "${M3U8}" | grep '^#EXT-X-STREAM-INF:' | \
|
|
|
URI="`cat "${M3U8}" | grep -A1 "BANDWIDTH=${BANDWIDTH}" | tail -n 1`"
|
|
|
|
|
|
# Output
|
|
|
-echo "${PREFIX}${URI}"
|
|
|
+echo "${PREFIX}/${URI}"
|
|
|
|
|
|
# Cleanup
|
|
|
+rm -f "${M3U8}"
|
|
|
exit 0
|