Flatlogic Bot 33b1653816 V3
2026-02-16 03:42:10 +00:00

12 lines
14 KiB
JavaScript

var N=Object.create;var T=Object.defineProperty;var j=Object.getOwnPropertyDescriptor;var Y=Object.getOwnPropertyNames;var J=Object.getPrototypeOf,Z=Object.prototype.hasOwnProperty;var F=r=>T(r,"__esModule",{value:!0}),a=(r,e)=>T(r,"name",{value:e,configurable:!0});var K=(r,e)=>{for(var t in e)T(r,t,{get:e[t],enumerable:!0})},R=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Y(e))!Z.call(r,n)&&(t||n!=="default")&&T(r,n,{get:()=>e[n],enumerable:!(s=j(e,n))||s.enumerable});return r},v=(r,e)=>R(F(T(r!=null?N(J(r)):{},"default",!e&&r&&r.__esModule?{get:()=>r.default,enumerable:!0}:{value:r,enumerable:!0})),r),Q=(r=>(e,t)=>r&&r.get(e)||(t=R(F({}),e,1),r&&r.set(e,t),t))(typeof WeakMap!="undefined"?new WeakMap:0);var ae={};K(ae,{OggDemuxer:()=>k,OpusDecoder:()=>y,OpusEncoder:()=>b,WebmDemuxer:()=>x,WebmElements:()=>l,WebmHeader:()=>f,default:()=>ie,ffmpeg:()=>P,ffmpeg_download:()=>D,initializeFFmpeg:()=>_});var L=require("stream");var E=class{constructor(e){let t=require("play-opus");this.options=e,this.encoder=new t.OpusHandler(e.rate,e.channels)}encode(e){return this.encoder.encode(e)}decode(e){return this.encoder.decode(e)}encode_ctl(e,t){this.encode_ctl(e,t)}decode_ctl(e,t){this.decode_ctl(e,t)}delete(){this.encoder.delete()}};a(E,"OpusHandler");var w=class{constructor(e){let t=require("opusscript");this.options=e,this.encoder=new t(e.rate,e.channels)}encode(e){return this.encoder.encode(e,this.options.frameSize)}decode(e){return this.encoder.decode(e)}encode_ctl(e,t){this.encode_ctl(e,t)}decode_ctl(e,t){this.decode_ctl(e,t)}delete(){this.encoder.delete()}};a(w,"OpusHandler");var A={"play-opus":r=>new E(r),opusscript:r=>new w(r)};function C(r,e){if(e){if(e!=="opusscript"&&e!=="play-opus")return new Error(`Supported modules for play-media :
- play-opus
- opusscript`);try{require(e)}catch{return new Error(`Module [${e}] Not Found.`)}return A[e](r)}else{for(let[t,s]of Object.entries(A))try{return require(t),s(r)}catch{continue}return new Error(`No modules found. Try to install one of following :
- play-opus
- opusscript`)}}a(C,"createOpusHandler");var g=class extends L.Duplex{constructor(e){super(e.duplex);let t=C(e,e.encoder);if(t instanceof Error)throw t;this.encoder=t,this.pcm_length=e.frameSize*e.channels*2}encode(e){return this.encoder.encode(e)}decode(e){return this.encoder.decode(e)}cleanup(){this.encoder.delete()}_read(){}_destroy(e,t){this.cleanup(),t(e)}_final(e){this.cleanup(),this.push(null),e()}bitrate(e){return this.applyCTL(4002,e)}setFEC(e){return this.applyCTL(4012,e?1:0)}setPLP(e){return this.applyCTL(4014,Math.min(100,Math.max(0,e*100)))}};a(g,"OpusDuplexStream");var b=class extends g{constructor(e){super(e);this.remaining=Buffer.allocUnsafe(0)}_write(e,t,s){let n=Buffer.concat([this.remaining,e]),i=0;for(;n.length>=i+this.pcm_length;){let u=n.slice(i,i+this.pcm_length),p;try{p=this.encode(u)}catch(m){s(m);return}this.push(p),i+=this.pcm_length}i>0&&(this.remaining=n.slice(i)),s()}applyCTL(e,t){this.encoder.encode_ctl(e,t)}};a(b,"OpusEncoder");var X=Buffer.from("OpusHead"),I=Buffer.from("OpusTags"),y=class extends g{constructor(e){super(e)}_write(e,t,s){if(e.compare(X,0,8,0,8)===0)this.opusHead=e,this.emit("opusHead",e);else if(e.compare(I,0,8,0,8)===0)this.opusTags=e,this.emit("opusTags",e);else{let n;try{n=this.encoder.decode(e)}catch(i){s(i);return}this.push(n)}s()}applyCTL(e,t){this.encoder.decode_ctl(e,t)}};a(y,"OpusDecoder");var M=require("stream"),ee=26,te=0,re=Buffer.from("OggS"),se=Buffer.from("OpusHead"),ne=Buffer.from("OpusTags"),k=class extends M.Duplex{constructor(e){super(e)}_read(){}_write(e,t,s){for(this.remaining&&(e=Buffer.concat([this.remaining,e]),this.remaining=void 0);;){let n=this.readOggPage(e);if(n)n instanceof Error?s(n):e=n;else break}this.remaining=e,this.ogg_head=void 0,s()}readOggPage(e){if(this.ogg_head)return this.readOggData(e);{let t=this.readOggHead(e);return t?t instanceof Error?t:this.readOggData(t):!1}}readOggData(e){if(!this.ogg_head||e.length<this.ogg_head.totalSize)return!1;let t=0;for(let s of this.ogg_head.sizes){let n=e.slice(t,t+s);if(this.opus_head)s>=8&&n.compare(ne,0,8,0,8)===0?this.emit("tags",n):this.push(n);else if(n.compare(se,0,8,0,8)===0)this.emit("head",n),this.opus_head=n;else return new Error("Unknown Segment Found");t+=s}return this.ogg_head=void 0,e.slice(t)}readOggHead(e){if(e.length<ee)return!1;if(e.compare(re,0,4,0,4)!==0)return new Error("Capture Pattern is not OggS");if(e.readUInt8(4)!==te)return new Error("OGG version is not equal to 0.");if(e.length<27)return!1;let t=e.readUInt8(26);if(e.length<27+t)return!1;let s=e.slice(27,27+t),n=[],i=0;for(let u=0;u<t;){let p=0,m=255;for(;m===255;){if(u>=s.length)return!1;m=s.readUInt8(u),u++,p+=m}n.push(p),i+=p}return this.ogg_head={sizes:n,totalSize:i,pageSegments:t},e.slice(27+t)}_destroy(e,t){this._cleanup(),t(e)}_final(e){this._cleanup(),this.push(null),e()}_cleanup(){this.remaining=void 0,this.opus_head=void 0,this.ogg_head=void 0}};a(k,"OggDemuxer");var q=require("stream");var o={string:r=>r.toString("utf-8"),uint:r=>parseInt(r.toString("hex"),16),float:r=>parseFloat(r.toString("utf-8"))},l={"1a45dfa3":{name:"ebml",type:0},"4286":{name:"ebmlVersion",type:2,return:o.uint},"42f7":{name:"ebmlReadVersion",type:2,return:o.uint},"42f2":{name:"ebmlMaxIDLength",type:2,return:o.uint},"42f3":{name:"ebmlMaxSizeLength",type:2,return:o.uint},"4282":{name:"docType",type:1,return:o.string},"4287":{name:"docTypeVersion",type:2,return:o.uint},"4285":{name:"docTypeReadVersion",type:2,return:o.uint},"18538067":{name:"segment",type:0},"114d9b74":{name:"seekHead",type:0},"4dbb":{name:"seek",type:0},"53ab":{name:"seekId",type:3},"53ac":{name:"seekPosition",type:2,return:o.uint},"1549a966":{name:"info",type:0},"4489":{name:"duration",type:4,return:o.float},"4d80":{name:"muxingApp",type:1,return:o.string},"5741":{name:"writingApp",type:1,return:o.string},"1f43b675":{name:"cluster",type:0},e7:{name:"clusterTimecode",type:2,return:o.uint},a3:{name:"simpleBlock",type:3},"1654ae6b":{name:"tracks",type:0},ae:{name:"trackEntry",type:0},d7:{name:"trackNumber",type:2,return:o.uint},"83":{name:"trackType",type:2,return:o.uint},"86":{name:"codecID",type:1,return:o.string},e1:{name:"audio",type:0},b5:{name:"samplingFrequency",type:4,return:o.float},"9f":{name:"channels",type:2,return:o.uint},"6264":{name:"bitDepth",type:2,return:o.uint},"1c53bb6b":{name:"cues",type:0},bb:{name:"cuePoint",type:0},b3:{name:"cueTime",type:2,return:o.uint},b7:{name:"cueTrackPositions",type:0},f7:{name:"cueTrack",type:2,return:o.uint},f1:{name:"cueClusterPosition",type:2,return:o.uint}};var f=class{constructor(){this.ebml={},this.segment={},this.audioTrack=-1}parse(e,t){switch(e.name){case"ebml":this.ebml={};break;case"ebmlVersion":e.return&&(this.ebml.version=e.return(t));break;case"ebmlReadVersion":e.return&&(this.ebml.readVersion=e.return(t));break;case"ebmlMaxIDLength":e.return&&(this.ebml.maxIDLength=e.return(t));break;case"ebmlMaxSizeLength":e.return&&(this.ebml.maxSizeWidth=e.return(t));break;case"docType":if(e.return){let s=e.return(t);if(s!=="webm")return new Error("This is not a Webm Stream. [ DocType !== webm ]");this.ebml.docType=s}break;case"docTypeVersion":e.return&&(this.ebml.docTypeVersion=e.return(t));break;case"docTypeReadVersion":e.return&&(this.ebml.docTypeReadVersion=e.return(t));break;case"segment":this.segment={};break;case"seekHead":this.segment.seekHead=[];break;case"seekPosition":e.return&&this.segment.seekHead.push({position:e.return(t)});break;case"info":this.segment.info={};break;case"duration":e.return&&(this.segment.info.duration=e.return(t));break;case"muxingApp":e.return&&(this.segment.info.muxingApp=e.return(t));break;case"writingApp":e.return&&(this.segment.info.writingApp=e.return(t));break;case"cluster":this.segment.cluster={};break;case"clusterTimecode":e.return&&(this.segment.cluster.time=e.return(t));break;case"simpleBlock":break;case"tracks":this.segment.tracks=[];break;case"trackEntry":this.segment.tracks.push({});break;case"trackNumber":e.return&&(this.segment.tracks[this.segment.tracks.length-1].trackNumber=e.return(t));break;case"trackType":if(e.return){let s=e.return(t);s===2&&(this.audioTrack=this.segment.tracks.length-1),this.segment.tracks[this.segment.tracks.length-1].trackType=s}break;case"codecID":if(e.return){let s=e.return(t);if(s!=="A_OPUS"&&this.segment.tracks[this.segment.tracks.length-1].trackType===2)return new Error("Audio Codec is not OPUS");this.segment.tracks[this.segment.tracks.length-1].codecID=s}break;case"audio":this.segment.tracks[this.segment.tracks.length-1].audio={};break;case"samplingFrequency":e.return&&(this.segment.tracks[this.segment.tracks.length-1].audio.rate=e.return(t));break;case"channels":e.return&&(this.segment.tracks[this.segment.tracks.length-1].audio.channels=e.return(t));break;case"bitDepth":e.return&&(this.segment.tracks[this.segment.tracks.length-1].audio.bitDepth=e.return(t));break;case"cues":this.segment.cues=[];break;case"cuePoint":this.segment.cues.push({});break;case"cueTime":e.return&&(this.segment.cues[this.segment.cues.length-1].time=e.return(t));break;case"cueTrack":e.return&&(this.segment.cues[this.segment.cues.length-1].track=e.return(t));break;case"cueClusterPosition":e.return&&(this.segment.cues[this.segment.cues.length-1].position=e.return(t));break;default:break}}};a(f,"WebmHeader");var x=class extends q.Duplex{constructor(e){super(e);this.cursor=0,this.header=new f,this.headfound=!1,this.data_length=0,this.data_size=0}get vint_length(){let e=0;for(;e<8&&!(1<<7-e&this.chunk[this.cursor]);e++);return++e}get vint_value(){if(!this.chunk)return!1;let e=this.vint_length;if(this.chunk.length<this.cursor+e)return!1;let t=this.chunk[this.cursor]&(1<<8-e)-1;for(let s=this.cursor+1;s<this.cursor+e;s++)t=(t<<8)+this.chunk[s];return this.data_size=e,this.data_length=t,!0}cleanup(){this.cursor=0,this.chunk=void 0,this.remaining=void 0}_read(){}_write(e,t,s){this.remaining?(this.chunk=Buffer.concat([this.remaining,e]),this.remaining=void 0):this.chunk=e;let n=this.readTag();n instanceof Error?s(n):s()}readTag(){if(!this.chunk)return new Error("Chunk is missing");for(;this.chunk.length>this.cursor;){let e=this.cursor,t=this.vint_length;if(this.chunk.length<this.cursor+t)break;let s=this.parseEbmlID(this.chunk.slice(this.cursor,this.cursor+t).toString("hex"));if(this.cursor+=t,!this.vint_value){this.cursor=e;break}if(!s){this.cursor+=this.data_size+this.data_length;continue}if(!this.headfound)if(s.name==="ebml")this.headfound=!0;else return new Error("Failed to find EBML ID at start of stream.");let i=this.chunk.slice(this.cursor+this.data_size,this.cursor+this.data_size+this.data_length),u=this.header.parse(s,i);if(u instanceof Error)return u;if(s.type===0){this.cursor+=this.data_size;continue}if(this.chunk.length<this.cursor+this.data_size+this.data_length){this.cursor=e;break}else this.cursor+=this.data_size+this.data_length;if(s.name==="simpleBlock"){let p=this.header.segment.tracks[this.header.audioTrack];if(!p||p.trackType!==2)return new Error("No audio Track in this webm file.");(i[0]&15)===p.trackNumber&&this.push(i.slice(4))}}this.remaining=this.chunk.slice(this.cursor),this.cursor=0}parseEbmlID(e){return Object.keys(l).includes(e)?l[e]:!1}_destroy(e,t){this.cleanup(),t(e)}_final(e){this.cleanup(),this.push(null),e()}};a(x,"WebmDemuxer");var G=require("https"),V=require("url"),$=require("zlib"),O=v(require("os")),d=v(require("fs")),S=require("path"),H=require("child_process"),W=require("stream"),h=v(require("process")),B;async function P(r={}){let e=O.default.platform(),t=r.args||[];if(t.unshift("-i",typeof r.input=="string"?r.input:"-"),!B)throw new Error("You forgot to initialize FFMPEG. Try using await initializeFFmpeg() before using this function.");let s=B;B==="npx"&&t.unshift(`ffmpeg${e==="win32"?".exe":""}`),t.push("pipe:1");let n=(0,H.spawn)(s,t,{shell:!0,windowsHide:!0});return r.input instanceof W.Readable&&r.input.pipe(n.stdin),n.stdout}a(P,"ffmpeg");async function D(r={}){r.path||(r.path="./node_modules/.bin/"),d.default.existsSync(r.path)&&d.default.mkdirSync(r.path,{recursive:!0});let e=O.default.arch(),t=O.default.platform(),s=(0,S.resolve)(r.path,`ffmpeg${t==="win32"?".exe":""}`);if(d.default.existsSync(s)&&!r.force){h.default.stdout.write(`You already have ffmpeg installed at ${s}
`);return}let n=await z("https://github.com/play-dl/play-audio/releases/latest"),i=n.headers.location?.split("tag/")[1];if(n=await z(`https://github.com/play-dl/play-audio/releases/download/${i}/ffmpeg-${t}-${e}.${t==="win32"?"exe.gz":"gz"}`),n.statusCode>400){h.default.stdout.write(`We don't currently support your platform and architecture.
If you want support for ffmpeg static build, create a issue at play-audio repository with following logs.
Platform : ${t}
Arch : ${e}
`);return}else n.statusCode>300&&(n=await z(n.headers.location));let u=d.default.createWriteStream(s);if(n.pipe((0,$.createGunzip)()).pipe(u),r.debug===!0){let p=parseInt(n.headers["content-length"])-1,m=0;n.on("data",U=>{m+=U.length,h.default.stdout.clearLine(0),h.default.stdout.cursorTo(0),h.default.stdout.write(`FFmpeg Download status : ${(m/p*100).toFixed(0)} %`)})}u.once("finish",()=>{d.default.chmodSync(s,"755"),h.default.stdout.write(`
`)})}a(D,"ffmpeg_download");function z(r,e={}){return new Promise((t,s)=>{let n=new V.URL(r);e.method??="GET";let i={host:n.hostname,path:n.pathname+n.search,headers:e.headers??{},method:e.method},u=(0,G.request)(i,t);u.on("error",p=>{s(p)}),e.method==="POST"&&u.write(e.body),u.end()})}a(z,"https_getter");async function _(r){let t=`ffmpeg${O.default.platform()==="win32"?".exe":""}`,s=[];switch(r){case"npx":s=[t],t="npx";break;case"local":let i=[(0,S.resolve)(`./node_modules/.bin/${t}`),(0,S.resolve)(`../node_modules/.bin/${t}`)];if(d.default.existsSync(i[0]))t=i[0];else if(d.default.existsSync(i[1]))t=i[1];else return!1;break;case void 0:return await _("local")===!1?_("global"):!0}s.push("-h");let n=(0,H.spawn)(t,s,{shell:!0,windowsHide:!0});return new Promise(i=>{n.once("close",u=>{u===0?(B=t,i(!0)):i(!1)})})}a(_,"initializeFFmpeg");var ie={OpusDecoder:y,OggDemuxer:k,OpusEncoder:b,WebmDemuxer:x,WebmHeader:f,WebmElements:l,ffmpeg_download:D,ffmpeg:P,initializeFFmpeg:_};module.exports=Q(ae);0&&(module.exports={OggDemuxer,OpusDecoder,OpusEncoder,WebmDemuxer,WebmElements,WebmHeader,ffmpeg,ffmpeg_download,initializeFFmpeg});
//# sourceMappingURL=index.js.map