B站上挺多学习视频,要能下载到电脑上看就好了,下面是一个在手机上缓存后拷贝到电脑上采用转成mp4的脚本。
#!/bin/sh
if [ "x"$1 == "x" ]; then
echo "Usage: $0 <directory>"
exit 1
fi
if [ ! -d $1 ]; then
echo "no this directory: $1"
exit 1
fi
cd $1
DIR=
for D in $(ls)
do
if [ -d $D ]; then
DIR="$DIR $D"
fi
done
#echo $DIR
#连接分片的缓存视频文件
function concatenate()
{
cd $1
#遍历排序视频片段
FILE=""
#FILE=$(ls *.blv|cut -d. -f1)
ls *.blv|cut -d. -f1 > tmp.txt
FILE_=$(sort -n tmp.txt)
rm tmp.txt
#
for F in $FILE_
do
#FILE="$FILE $F.blv"
echo "file '$F.blv'" >> tmp.txt
done
echo "concentrate $FILE to $2.mp4"
ffmpeg -f concat -i tmp.txt -c copy ../../$2.mp4
RET=$?
rm tmp.txt
cd ..
return $RET
}
for D in $DIR
do
cd $D
#获取视频文件标题
#NAME=$(grep -Po '"part":".*?"' entry.json|cut -d: -f2|sed 's/ /_/g' | sed 's/"//g')
NAME=$(grep -Po '"part":".*?"' entry.json|cut -d: -f2|sed 's/[" ]//g')
SUBDIR=
for S in $(ls)
do
if [ -d $S ]; then
concatenate $S $NAME
RET=$?
fi
done
cd ..
#删除成功转换的源文件夹
if [ $RET = 0 ]; then
rm -rf $D
fi
done