B站手机缓存的视频在电脑上转换观看

本文介绍了一个用于将B站上缓存的学习视频转换为MP4格式的脚本。该脚本可以在手机缓存视频后,通过拷贝到电脑上运行此脚本来实现视频格式的转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值