使用脚本将 Bilibili Evolved 下载视频 m4s 批量转为 mp4

浏览:173次阅读
没有评论

下载工具

Bilibili Evolved : https://github.com/the1812/Bilibili-Evolved
这个支持 1080p 下载 (dash 音频不合并)
720 是 flv 格式 (音频合并)
使用脚本将 Bilibili Evolved 下载视频 m4s 批量转为 mp4

下载文件名

如图所示, 下载的文件名是 ID-1-30080 这种格式
其中 30080=video 30280=audio

使用脚本将 Bilibili Evolved 下载视频 m4s 批量转为 mp4

下载后的文件
我将 -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

最终效果如图
使用脚本将 Bilibili Evolved 下载视频 m4s 批量转为 mp4

附录

顺便给出 在 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]))
    }
}
正文完
 0
包子
版权声明:本站原创文章,由 包子 于2024-07-11发表,共计1048字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)