1. 程式人生 > >B站手機快取的視訊在電腦上轉換觀看

B站手機快取的視訊在電腦上轉換觀看

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