| 1 |
- "use strict";(function(){var t=this,a={Video:h,fromImageArray:function(a,r){return i(a.map((function(a){var i=u(f(t.atob(a.slice(23))));return i.duration=1e3/r,i})))},toWebM:i};window&&window.atob?window.atob:require("atob");function r(t){return new Error("[WebMGL] "+t)}function i(t){var a,i=function(t){for(var a=t[0].width,i=t[0].height,e=t[0].duration,n=1;n<t.length;n++){if(t[n].width!==a)throw r("Frame "+(n+1)+" has a different width");if(t[n].height!==i)throw r("Frame "+(n+1)+" has a different height");if(t[n].duration<0)throw r("Frame "+(n+1)+" has a weird duration");e+=t[n].duration}return{duration:e,width:a,height:i}}(t),e=0;return o([{id:440786851,data:[{data:1,id:17030},{data:1,id:17143},{data:4,id:17138},{data:8,id:17139},{data:"webm",id:17026},{data:2,id:17031},{data:2,id:17029}]},{id:408125543,data:[{id:357149030,data:[{data:1e6,id:2807729},{data:"whammy",id:19840},{data:"whammy",id:22337},{data:(a=i.duration,[].slice.call(new Uint8Array(new Float64Array([a]).buffer),0).map((function(t){return String.fromCharCode(t)})).reverse().join("")),id:17545}]},{id:374648427,data:[{id:174,data:[{data:1,id:215},{data:1,id:25541},{data:0,id:156},{data:"und",id:2274716},{data:"V_VP8",id:134},{data:"VP8",id:2459272},{data:1,id:131},{id:224,data:[{data:i.width,id:176},{data:i.height,id:186}]}]}]},{id:524531317,data:[{data:0,id:231}].concat(t.map((function(t){var a=function(t){var a=0;t.keyframe&&(a|=128);t.invisible&&(a|=8);t.lacing&&(a|=t.lacing<<1);t.discardable&&(a|=1);if(t.trackNum>127)throw r("TrackNumber > 127 not supported");return[128|t.trackNum,t.timecode>>8,255&t.timecode,a].map((function(t){return String.fromCharCode(t)})).join("")+t.frame}({discardable:0,frame:t.data.slice(t.data.indexOf("*")-3),invisible:0,keyframe:1,lacing:0,trackNum:1,timecode:Math.round(e)});return e+=t.duration,{data:a,id:163}})))}]}])}function e(t){for(var a=[];t>0;)a.push(255&t),t>>=8;return new Uint8Array(a.reverse())}function n(t){for(var a=new Uint8Array(t.length),r=0;r<t.length;r++)a[r]=t.charCodeAt(r);return a}function d(t){var a=[];t=(t.length%8?new Array(9-t.length%8).join("0"):"")+t;for(var r=0;r<t.length;r+=8)a.push(parseInt(t.substr(r,8),2));return new Uint8Array(a)}function o(a){for(var r=[],i=0;i<a.length;i++){var u=a[i].data;"object"==typeof u&&(u=o(u)),"number"==typeof u&&(u=d(u.toString(2))),"string"==typeof u&&(u=n(u));var f=u.size||u.byteLength,h=Math.ceil(Math.ceil(Math.log(f)/Math.log(2))/8),s=f.toString(2),c=new Array(7*h+7+1-s.length).join("0")+s,m=new Array(h).join("0")+"1"+c;r.push(e(a[i].id)),r.push(d(m)),r.push(u)}if(t.Blob)return new t.Blob(r,{type:"video/webm"});var l=Buffer.from(r);return Uint8Array.from(l).buffer}function u(t){for(var a=t.RIFF[0].WEBP[0],r=a.indexOf("*"),i=0,e=[];i<4;i++)e[i]=a.charCodeAt(r+3+i);return{width:16383&(e[1]<<8|e[0]),height:16383&(e[3]<<8|e[2]),data:a,riff:t}}function f(t){for(var a=0,r={};a<t.length;){var i=t.substr(a,4),e=parseInt(t.substr(a+4,4).split("").map((function(t){var a=t.charCodeAt(0).toString(2);return new Array(8-a.length+1).join("0")+a})).join(""),2),n=t.substr(a+4+4,e);a+=8+e,r[i]=r[i]||[],"RIFF"===i||"LIST"===i?r[i].push(f(n)):r[i].push(n)}return r}function h(t,a){this.frames=[],this.duration=1e3/t,this.quality=a||.8}"undefined"!=typeof module&&module.exports?module.exports=a:t.WebMGL=a,h.prototype.add=function(t,a){if(void 0!==a&&this.duration)throw r("Cannot pass a duration if FPS is set");if(!/^data:image\/webp;base64,/gi.test(t))throw r("Input must be formatted properly as a base64 encoded DataURI of type image/webp");this.frames.push({image:t,duration:a||this.duration})},h.prototype.compile=function(){if(0===this.frames.length)throw r("You did not add any frame to the Video!");return i(this.frames.map((function(a){var r=u(f(t.atob(a.image.slice(23))));return r.duration=a.duration,r})))}}).call(this);
|