android中bilibili视频导出

android中bilibili视频导出

bilibili视频在android手机中位置

搜索m4s即可,在Android/data/tv.danmaku.bili/download中,每组视频放在一串数字为名字的文件夹中

格式转换

本人host是ubuntu18.04
需要安装ffmpeg(大神可替换其他工具,不过大神应该不需要我的脚本~)
参考文章:https://www.bilibili.com/read/mobile/4909720

自动化脚本

脚本

make_mp4.sh

#!/bin/bash

out_dir=$1
dir_local=`pwd`
out_dir=$dir_local/$out_dir
find -name "video.m4s" > tmp.log
lines=`sed -n '$=' tmp.log`
count=0
while [ 1 ]
do
    count=$((count + 1))
    if [ $count -gt $lines ];then
        break
    fi
    video_file=`sed -n ${count}p tmp.log`
    tmp=${video_file#./}
    tmp="./${tmp%%/*}/entry.json"
    echo "run: python3 get_part_name.py $tmp"
    name=`python3 get_part_name.py $tmp`
    name=${name// /_}
    name=${name//:/_}
    name=${name_}
    dir=${video_file%/*}
    echo "**********************************"
    echo "$video_file"
    echo "dir:$dir, file:${out_dir}/${name}.mp4"
    echo "**********************************"
    cd $dir
    rm *.mp4
    ffmpeg -i video.m4s -i audio.m4s -c:v copy -strict experimental test.mp4
    mv test.mp4 ${out_dir}/${name}.mp4
    cd -
done

get_part_name.py

import sys
import os
import json

if __name__ == '__main__':
    filename = sys.argv[1]
    index = "page_data"
    config = json.loads(open(filename, 'rb').read().decode('utf-8'))
    if index in config:
        if "part" in config[index]:
            print(config[index]["part"])
    else:
        print("error")
        sys.exit(-1)
    sys.exit(0)

使用方法

两个脚本同时放在一串数字为名字的文件夹中,如图:
在这里插入图片描述

./make_mp4.sh out

out中即可得到想要的视频,如图:
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值