0 环境 & 提示
- 电脑
- PHP
- Bash
- 手机
- Bilibili 国内版 5.54.0
这样子转换出来还是有水印的,请不要在未经 UP 主同意的情况下传播或用在非法行为
1 过程
因为要备份手机,就想着能不能把 Bilbili 的缓存转换成普通视频留在电脑上
然后看了一下下载目录,里面有一个 video.m4s
和 audio.m4s
拿 mpv
一打开,发现刚好一个是视频一个是音频…
剩下的事情就是拿 ffmpeg
合并一下的事情…
随便胡个脚本就行了
2 脚本
covert.sh
# Author: Woshiluo<[email protected]>
#!/bin/bash
work_dir=`pwd`;
fa_php=`pwd`"/fa.php";
part_php=`pwd`"/part.php";
echo $part_php;
mkdir -p "$work_dir/output"
function covert() {
cp "$fa_php" ./
cp "$part_php" ./
fa=`php fa.php`
part=`php part.php`
echo "[INFO] Coverting $fa $part..."
rm fa.php part.php
mkdir -p "$work_dir/output/$fa"
for file in `ls`; do
if [ -d $file ]; then
cd $file
ffmpeg -i video.m4s -i audio.m4s -c copy "$work_dir/output/$fa/$part.mkv" -y >/dev/null 2>&1
cd ..
fi
done
echo "[INFO] Done!"
}
for file in `ls`; do
if [ -d $file ] && [ $file != "output" ]; then
cd ./$file
for video in `ls`; do
if [ -d $video ]; then
cd ./$video
covert
cd ..
fi
done
cd ..
fi
done
fa.php
<?php
$_file = file_get_contents( "./entry.json" );
$desc = json_decode( $_file );
echo $desc -> title;
part.php
<?php
$_file = file_get_contents( "./entry.json" );
$desc = json_decode( $_file );
echo $desc -> page_data -> part;
随便胡的脚本
把这三个文件放到 Bilibili 的下载目录下,然后执行 covert.sh
就行了
执行过后转换过的文件会在 output
目录下