下载工具
Bilibili Evolved : https://github.com/the1812/Bilibili-Evolved
这个支持 1080p 下载 (dash 音频不合并)
720 是 flv 格式 (音频合并)
下载文件名
如图所示, 下载的文件名是 ID-1-30080 这种格式
其中 30080=video 30280=audio
下载后的文件
我将 -1-30080
转换为了 _video
-1-30280
转换为了 _audio
注: 可以不转换, 我只是测试的时候看的
脚本
如不转换
_video
等 那么将下面脚本的_video
换成-1-30280
,_audio
转为-1-30080
for file in *_video.m4s; do
base=$(basename "$file" _video.m4s)
echo $base
ffmpeg -i "${base}_video.m4s" -i "${base}_audio.m4s" -vcodec copy -acodec copy -f mp4 ${base}.mp4
done
最终效果如图
附录
顺便给出 在 B 站视频页面获取合集 ID 和对应标题的脚本
// 循环合集
let ret = "";
for (let i = 0; i < window.__INITIAL_STATE__.sectionsInfo.sections.length; i++) {let section = window.__INITIAL_STATE__.sectionsInfo.sections[i]
for (let j = 0; j < section.episodes.length; j++) {let ed = section.episodes[j];
let cid = ed.cid;
let title = ed.title;
let pic = ed.arc.pic;
ret += (cid + title) + "\r\n"
}
}
console.log(ret)
golang 批量重命名
package main
import (
"fmt"
"log"
"os"
"strings"
)
func main() {
gz := `1111=>001.22222`
ar := strings.Split(gz, "\n")
path := "~/path"
for _, s := range ar {sArr := strings.Split(s, "=>")
log.Println(sArr[0], sArr[1])
os.Rename(fmt.Sprintf("%s%s.mp4", path, sArr[0]), fmt.Sprintf("%s%s.mp4", path, sArr[1]))
}
}
正文完