使用ffmpeg合并B站缓存的m4s格式音频和视频文件


主要使用bash和ffmpeg工具进行合并。

ffmpeg使用静态编译的版本,可以直接使用,不需要下载源包编译节省时间。

下载地址:https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xz

使用下面脚本,可能需要改动一些地方 ,如目录下是否是64

可以看到P29的标题为“7-7”,对应在B站客户端的位置即下图标注处:

脚本如下,其中的判断可有可无,避免缺少entry.json导致没有文件名造成合并后覆盖已经合并的文件:

for i in `ls`
do
    part=$(grep -P -oi '\K(part":")\K[^"]*' $i/entry.json)
    if [ ! ${part} ]
    then
        part=$i
    fi
    ffmpeg -i $i/64/audio.m4s -i $i/64/video.m4s -vcodec copy -acodec copy -y -strict experimental Python核心技术进阶训练篇/"${part}.mp4"
done
    

ffmpeg中的-i为导入的两个音视频文件,vcodec和acodec后面的copy即按原来的codec复制文件流,y是当发生覆盖的时候用的,可以不要,后面那个???

成功执行后的文件就是如下图所示的合并后的文件并包含标题。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM