feat: update m3u8 dl sh
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
5f998280e3
commit
ff5c82191f
|
@ -20,7 +20,7 @@ function cleanup {
|
||||||
}
|
}
|
||||||
|
|
||||||
# register the cleanup function to be called on the EXIT signal
|
# register the cleanup function to be called on the EXIT signal
|
||||||
trap cleanup EXIT
|
# trap cleanup EXIT
|
||||||
|
|
||||||
echo "請輸入m3u8網址: ( copy as cURL(bash) )"
|
echo "請輸入m3u8網址: ( copy as cURL(bash) )"
|
||||||
read m3u8
|
read m3u8
|
||||||
|
@ -30,8 +30,9 @@ echo "請輸入其中一個ts的網址: ( copy as cURL(bash) )"
|
||||||
read BASE
|
read BASE
|
||||||
echo
|
echo
|
||||||
|
|
||||||
echo "請輸入下載檔案名稱: (ex: video.mp4)"
|
echo "請輸入下載檔案名稱[video.mp4]:"
|
||||||
read output
|
read output
|
||||||
|
output=${output:-video.mp4}
|
||||||
echo
|
echo
|
||||||
echo "下載開始...."
|
echo "下載開始...."
|
||||||
|
|
|
@ -0,0 +1,77 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# the directory of the script
|
||||||
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
|
||||||
|
# the temp directory used, within $DIR
|
||||||
|
# omit the -p parameter to create a temporal directory in the default location
|
||||||
|
WORK_DIR=`mktemp -d -p "$DIR"`
|
||||||
|
|
||||||
|
# check if tmp dir was created
|
||||||
|
if [[ ! "$WORK_DIR" || ! -d "$WORK_DIR" ]]; then
|
||||||
|
echo "Could not create temp dir"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# deletes the temp directory
|
||||||
|
function cleanup {
|
||||||
|
rm -rf "$WORK_DIR"
|
||||||
|
echo "Deleted temp working directory $WORK_DIR"
|
||||||
|
}
|
||||||
|
|
||||||
|
# register the cleanup function to be called on the EXIT signal
|
||||||
|
trap cleanup EXIT
|
||||||
|
|
||||||
|
echo "請輸入key網址: ( copy as cURL(bash) )"
|
||||||
|
read key
|
||||||
|
echo
|
||||||
|
|
||||||
|
echo "請輸入m3u8網址: ( copy as cURL(bash) )"
|
||||||
|
read m3u8
|
||||||
|
echo
|
||||||
|
|
||||||
|
echo "請輸入其中一個ts的網址: ( copy as cURL(bash) )"
|
||||||
|
read BASE
|
||||||
|
echo
|
||||||
|
|
||||||
|
echo "請輸入下載檔案名稱[video.mp4]:"
|
||||||
|
read output
|
||||||
|
output=${output:-video.mp4}
|
||||||
|
echo
|
||||||
|
echo "下載開始...."
|
||||||
|
|
||||||
|
key="${key} -o key"
|
||||||
|
m3u8="${m3u8} -o index.m3u8"
|
||||||
|
cd $WORK_DIR
|
||||||
|
# echo $(pwd)
|
||||||
|
eval " $key"
|
||||||
|
eval " $m3u8"
|
||||||
|
|
||||||
|
origin=$(echo $BASE | sed -e "s/[^']*'\([^\?^']*\).*'.*/\1/" )
|
||||||
|
file=${origin##*/}
|
||||||
|
file=$(echo $file | sed 's/[\*\.\&\?]/\\&/g')
|
||||||
|
|
||||||
|
# echo BASE: $BASE
|
||||||
|
# echo origin: $origin
|
||||||
|
# echo file: $file
|
||||||
|
|
||||||
|
echo 請確認或修改index.m3u8
|
||||||
|
read dummy
|
||||||
|
|
||||||
|
while read p; do
|
||||||
|
if [[ $p != "#"* ]]; then
|
||||||
|
pp=$(echo $p | sed 's/[\*\.\&\?]/\\&/g')
|
||||||
|
echo $p
|
||||||
|
ts="$(echo $BASE | sed "s,$file,$pp,") -o $p -w '%{http_code}'"
|
||||||
|
|
||||||
|
status_code=$(eval " $ts")
|
||||||
|
if [ $status_code != "200" ]; then
|
||||||
|
echo
|
||||||
|
echo ERROR: $status_code, 下載失敗.
|
||||||
|
cat $p
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done <index.m3u8
|
||||||
|
|
||||||
|
ffmpeg -allowed_extensions ALL -i "index.m3u8" -codec copy ../$output
|
Loading…
Reference in New Issue