使用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