我在下载四郎讲棋的、最多收藏的、时长低于10分钟的
用于人工收集URL的:
prev= while clipnotify; do t=`xclip -o` if ! [[ "$t" =~ ^http ]]; then continue; fi if [[ "$t" == $prev ]]; then continue; fi prev=$t echo $t >>url ffplay -nodisp -autoexit -loglevel quiet /usr/share/sounds/Oxygen-K3B-Insert-Medium.ogg done
用于下载的:
down () {trap 'kill 0' INT # 输入重定向的函数由子Shell执行,exit仅终止子Shell进程IFS= read -r line # help readfor fmt in flv360-AVC flv360-AV1 flv360-HEVC flv480-AVC flv480-AV1 flv480-HEVC; doif you-get -F dash-$fmt -n --no-caption $line; thensed -i '1d' url # 删除文件url的第1行return 0fidoneecho $line >>logreturn 1 }ren () { if [[ "$1" != "$2" ]]; then mv "$1" "$2"; fi }merge () {x=; y=; z=for f in *\[??\].mp4; dot=${f// /}; ren "$f" $t; f=$t # ${v//p/s} 换所有t=${f/【中国象棋】/}; ren $f $t; f=$t # ${v/p/s} 换一个z="$z $f"; x="$x -i $f"y=`echo $f | sed 's/\[[0-9]\{2\}\]//'`doneif [[ "$x" != "" ]] &&ffmpeg $x -preset fast -c:v copy -c:a aac -b:a 20k -ar 16000 -ac 1 $y 2>/dev/null; thenmv $y ~/xqv; rm $zelseecho "Files not merged" >>logfi }cp ~/url /t cd /t echo >logif [[ "`which you-get`" == "" ]]; then . ~/venv/bin/activate; fifor i in {1..2}; dohead -n 1 url | down && merge#sleep `awk 'BEGIN { srand(); printf "%.4f", rand(); }'` donecat log; rm log cp -i /t/url ~ #ffplay -nodisp -autoexit -loglevel quiet /usr/share/sounds/Oxygen-Im-Sms.ogg