mirror of
https://github.com/the1812/Bilibili-Evolved.git
synced 2025-11-04 21:22:45 +08:00
1 line
1.6 KiB
JavaScript
1 line
1.6 KiB
JavaScript
(()=>(e,t)=>{const n=[".mp4",".m4a"];const r=(e,t)=>{const n=Math.max(2,Math.trunc(Math.log10(t)+1));return e.toString().padStart(n,"0")};const a=(e,t,n)=>{if(e<2){return null}const a=[];for(let s=1;s<=e;s++){let c=` - ${r(s,e)}`;if(n.includes(".m4a")){c=""}const l=escapeFilename(`${t}${c}${n[s-1]}`).replace(/'/g,"'\\''");a.push(`file '${l}'`)}return a.join("\n")};const s=(e,t)=>{const a=e=>e.fragments.length>1;const s=e.filter(a);if(s.length===0){return null}const c=new Map;s.forEach((e=>{c.set(escapeFilename(`ffmpeg-files-${e.title}.txt`),e.fragments.map(((a,c)=>{let l=` - ${r(c+1,s.length)}`;if(t===true){l=""}const i=escapeFilename(`${e.title}${l}${t===true?n[c]:t}`).replace(/'/g,"'\\''");return`file '${i}'`})).join("\n"))}));return c};const c=(e,t)=>{const a=[];e.forEach((e=>{e.fragments.forEach(((s,c)=>{let l="";if(e.fragments.length>1&&t!==true){l=` - ${r(c+1,e.fragments.length)}`}const i=escapeFilename(`${e.title}${l}${t===true?n[c]:t}`).replace(/'/g,"'\\''");a.push(`file '${i}'`)}))}));return a.join("\n")};const l=(e,t)=>{if(t!==true){const n=`concat:${e.fragments.map(((n,a)=>{let s="";if(e.fragments.length>1){s=` - ${r(a+1,e.fragments.length)}`}const c=escapeFilename(`${e.title}${s}${t}`).replace(/'/g,"'\\''");return c})).join("|")}`;return`ffmpeg -i "${n}" -c copy "${e.title}.mp4"`}else{const t=`ffmpeg -i "${e.title}.mp4" -i "${e.title}.m4a" -c copy "${e.title}.mp4"`.replace(/'/g,"'\\''");return t}};const i=(e,t)=>e.map((e=>l(e,t))).join("\n");return{export:{getFragmentsList:a,getBatchFragmentsList:s,getBatchEpisodesList:c,getFragmentsMergeScript:l,getBatchMergeScript:i}}})(); |