Zachary Kotlarek 10 лет назад
Родитель
Сommit
6cf96370c8
2 измененных файлов с 12 добавлено и 7 удалено
  1. 2 2
      m3u8-fetch.sh
  2. 10 5
      m3u8-uri.sh

+ 2 - 2
m3u8-fetch.sh

@@ -2,9 +2,9 @@
 
 URI="${1}"
 FILE="${2}"
-if [ -z "${URI}" || -z "${FILE}" || -e "${FILE}" ]; then
+if [ -z "${URI}" ] || [ -z "${FILE}" ] || [ -e "${FILE}" ]; then
 	echo "Usage: ${0} URI output_file" 1>&2
 	exit 1
 fi
 
-ffmpeg -i "${1}" -bsf:a aac_adtstoasc -vcodec copy -c copy "${FILE}"
+ffmpeg -i "${URI}" -bsf:a aac_adtstoasc -vcodec copy -c copy "${FILE}"

+ 10 - 5
m3u8-uri.sh

@@ -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