Файловый менеджер - Редактировать - /var/www/html/components/com_jchat/js/recorder.js
Ðазад
(function(b){var a=function(f,e){var A=this;var w=f;var B=null;var l=null;var E=null;var q=null;var t=null;var r=[];var y={mimeType:"video/webm"};var m;var g=false;var i=null;var h=null;var p=null;var v=false;var D=null;var C=false;var n=function(H){if(b(H).data("recording")){if(C){console.log("Already started recording session")}return false}var P=null;var T=b("#jchat_webrtc_recording_stream").val();switch(T){case"local":P=w.getLocalStream();if(!P){return false}if(!i){c(P)}else{setTimeout(function(){c(P)},100)}break;case"remote":P=w.getRemoteStream();if(Array.isArray(P)){if(Object.entries(P).length==0){return false}if(P[jchat_usersessionid]){delete P[jchat_usersessionid]}P=z(P,false)}else{if(!P){return false}if(b("#jchat_wrapper_remotevideo.active").length==0){if(!i){c(P,false)}else{setTimeout(function(){c(P,false)},100)}}}break;case"both":var U=w.getRemoteStream();var M=w.getLocalStream();if(Array.isArray(U)){U[jchat_usersessionid]=M;if(Object.entries(U).length==0){return false}P=z(U,true)}else{if(!U||!M){return false}if(!i){c(M)}else{setTimeout(function(){c(M)},100)}if(b("#jchat_wrapper_remotevideo.active").length==0){if(!i){c(U,false)}else{setTimeout(function(){c(U,false)},100)}}var J=new JChatVideoStreamMerger();J.setOutputSize(jchat_recorder_video_width,jchat_recorder_video_height);var W=U.getVideoTracks()[0].getSettings();if("aspectRatio" in W){var V=W.aspectRatio;var N=W.width;var O=W.height;if(V>=1){var L=N;var S=N/V}else{var L=N*V;var S=O*V}}else{var L=J.width;var S=J.height}J.addStream(U,{x:0,y:0,width:parseInt(L),height:parseInt(S),mute:false});var K=M.getVideoTracks()[0].getSettings();if("aspectRatio" in K){var Q=M.getVideoTracks()[0].getSettings().aspectRatio}else{Q=1.33}var R=parseInt(jchat_recorder_video_miniature_width/Q);J.addStream(M,{x:0,y:J.height-R,width:jchat_recorder_video_miniature_width,height:R,mute:false});J.start();P=J.result}break}B=new MediaRecorder(P,y);B.ondataavailable=x;if(C){B.onerror=function(X){console.log("An error has occurred: "+X.message)}}try{B.start();b(H).data("recording",true).toggleClass("jchat_stop_recording");b("#jchat_webrtc_pause, #jchat_webrtc_stop").data("active",true);b("#jchat_webrtc_recording_stream").attr("disabled",true);b("#jchat_webrtc_view, #jchat_webrtc_download, #jchat_webrtc_upload, #jchat_webrtc_sendvideo").data("empty",true).removeClass("jchat_btn_enabled");if(C){console.log("Started recording");console.log("State:"+B.state)}}catch(I){if(C){console.log("Error starting recording: "+I.message)}}};var F=function(I){if(!b(I).data("active")){if(C){console.log("Still not started recording session to pause it")}return false}try{if(B.state==="recording"){B.pause();g=true;b("#jchat_webrtc_record").removeClass("jchat_stop_recording").addClass("jchat_recording_blink");if(C){console.log("Paused recording");console.log("State:"+B.state)}}else{if(B.state==="inactive"||B.state==="paused"){B.resume();g=false;b("#jchat_webrtc_record").addClass("jchat_stop_recording").removeClass("jchat_recording_blink");if(C){console.log("Resumed recording");console.log("State:"+B.state)}}}b(I).toggleClass("jchat_enabled")}catch(H){if(C){console.log("Error pausing recording: "+H.message)}}};var s=function(H){if(!b(H).data("active")){if(C){console.log("Still not started recording session to stop it")}return false}var K=w.getLocalStream();var O=K.getVideoTracks()[0];if(!O.enabled){O.enabled=true}var N=b("#jchat_webrtc_recording_stream").val();switch(N){case"remote":case"both":var P=w.getRemoteStream();if(Array.isArray(P)){var L=null;for(L in P){var J=P[L];if(J&&J.constructor.name==="MediaStream"){var M=J.getVideoTracks()[0];if(!M.enabled){M.enabled=true}}}}else{if(P){var M=P.getVideoTracks()[0];if(!M.enabled){M.enabled=true}}}break}B.onstop=u;b("#jchat_webrtc_recording_stream").removeAttr("disabled");b("#jchat_webrtc_record").data("recording",false).removeClass("jchat_stop_recording jchat_recording_blink");b("#jchat_webrtc_pause, #jchat_webrtc_stop").data("active",false);b("#jchat_webrtc_pause").removeClass("jchat_enabled");try{B.stop();if(C){console.log("Stopped recording");console.log("State:"+B.state)}}catch(I){if(g){u();if(C){console.log("Stopped recording from simulated pause");console.log("State:"+B.state)}}if(C){console.log("Error stopping recording: "+I.message)}}};var x=function(H){r.push(H.data)};var u=function(O){l=new Blob(r,{type:y.mimeType});var Q="KB";var K=(l.size/1024).toFixed(2);if(parseInt(K/1024)>0){Q="MB";K=(K/1024).toFixed(2)}q=K+Q;var I=new Date();var P=I.getFullYear();var N=parseInt(I.getMonth())+1;N=N<10?"0"+N:N;var M=I.getDate();M=M<10?"0"+M:M;var L=I.getHours();L=L<10?"0"+L:L;var J=I.getMinutes();J=J<10?"0"+J:J;var H=I.getSeconds();H=H<10?"0"+H:H;t=P+"-"+N+"-"+M+" "+L+":"+J+":"+H;E=h+"_"+p+"_"+P+"_"+N+"_"+M+"_"+L+"_"+J+"_"+H+".webm";k(E);r=[]};var k=function(J){var I=window.URL.createObjectURL(l);b("#jchat_webrtc_view").data("empty",false).addClass("jchat_btn_enabled");b("#jchat_webrtc_view").on("click",function(K){if(!b(this).hasClass("jchat_btn_enabled")){return false}var L=window.open(I,"videopreview","width=656,height=502,resizable=1");return false});b("#jchat_webrtc_download").attr("href",I).attr("download",J).data("empty",false).addClass("jchat_btn_enabled");b("#jchat_webrtc_upload").data("empty",false).addClass("jchat_btn_enabled");var H=new FileReader();H.onload=function(K){var L=K.target.result;b("#jchat_webrtc_sendvideo").data("empty",false).addClass("jchat_btn_enabled");b("#jchat_webrtc_sendvideo").data("videodata",L)};H.readAsDataURL(l)};var c=function(H,K){var I=b.jStorage.get("jchat_webrtc_videocam",1);if(!I||K===false){var J=H.getVideoTracks()[0];J.enabled=false}};var z=function(R,O){var K=new JChatVideoStreamMerger();K.setOutputSize(jchat_recorder_video_width,jchat_recorder_video_height);var I=0;var U=jchat_recorder_max_videos_per_row;var H=K.width;var Q=K.height;var L=0;var M=0;var T=parseInt(H/U);var P=parseInt(T/1.33);var S=function(Z){var V=parseInt(H/T);var Y=parseInt(Q/P);var X=V*Y;var W=Object.keys(R).length;if(W>X){U=Z;T=parseInt(H/U);P=parseInt(T/1.33);S(++U)}else{if((T*U)>H){U=Z;T=parseInt(H/U);P=parseInt(T/1.33)}else{return}}};S(++U);var N=null;for(N in R){var J=R[N];if(!J||J.constructor.name!=="MediaStream"){continue}if(b("video.jchat_conference_remotepeer[data-sessionid="+N+"]:hidden").length){if(!i){c(J,false)}else{setTimeout(function(){c(J,false)},100)}}if(O&&N==jchat_usersessionid){if(!i){c(J)}else{setTimeout(function(){c(J)},100)}}if(I>0&&I%U==0){L=0;M+=P}K.addStream(J,{x:L,y:M,width:T,height:P,mute:false});L+=T;I++}K.start();return K.result};var d=function(){if(!l||v){return}var H=new FormData();H.append("peer1",h);H.append("peer2",p);H.append("timerecord",t);H.append("filename",E);H.append("filesize",q);H.append("blob",l);H.append("task","recorder.saveEntity");b("#jchat_webrtc_upload_progress").show();b("#jchat_wrapper_localvideo_recorder #jchat_webrtc_upload_progress").css("display","inline-block");v=true;b.ajax({url:jchat_livesite+"index.php?option=com_jchat&format=json",type:"POST",data:H,cache:false,dataType:"json",processData:false,contentType:false,xhr:function(){var I=b.ajaxSettings.xhr();I.upload.onprogress=function(J){var K=parseInt(J.loaded/J.total*100)+"%";b("#jchat_webrtc_upload_progress").css("background-image","linear-gradient(90deg, #468847 "+K+", #9E9E9E "+K+")").html("<span>"+K+"</span>")};return I},success:function(J,K,I){if(J.result){b("#jchat_webrtc_upload_progress").html("<span>"+jchat_upload_complete+"</span>")}else{G(J.exception_message);b("#jchat_webrtc_upload_progress").html("<span>"+jchat_upload_error+"</span>").css("background-image","linear-gradient(90deg, #F72B28 100%, #F72B28 100%)")}setTimeout(function(){b("#jchat_webrtc_upload_progress").html("").removeAttr("style").hide();v=false},2500)},error:function(I,K,J){G(K);b("#jchat_webrtc_upload_progress").html("<span>"+jchat_upload_error+"</span>").css("background-image","linear-gradient(90deg, #F72B28 100%, #F72B28 100%)");setTimeout(function(){b("#jchat_webrtc_upload_progress").html("").removeAttr("style").hide();v=false},2500)}})};var o=function(){b("#jchat_webrtc_record",m).on("click.jchatwebrtc",{scope:this},function(H){setTimeout(function(){n(this)},0)});b("#jchat_webrtc_pause",m).on("click.jchatwebrtc",{scope:this},function(H){F(this)});b("#jchat_webrtc_stop",m).on("click.jchatwebrtc",{scope:this},function(H){s(this)});b("#jchat_webrtc_view, #jchat_webrtc_download, #jchat_webrtc_upload, #jchat_webrtc_sendvideo").on("click.jchatwebrtc",{scope:this},function(K){if(b(this).data("empty")){return false}if(b(this).attr("id")=="jchat_webrtc_upload"){d()}if(b(this).attr("id")=="jchat_webrtc_sendvideo"){var I,M;var H=b(this).parent().parent().prevAll(".jchat_tabcontentinput").children("div");var O=b(H).get(0);if(b.support.leadingWhitespace&&D){var L=b("<video/>").attr("controls",true);var J=b("<source/>").attr("src",b(this).data("videodata")).attr("type","video/webm");L.append(J);b("br:last-child",H).remove();b(H).append(L);var N=b.Event("keydown");N.which="videomessage";N.keyCode=13;N.shiftKey=0;b(H).trigger(N)}}})};var G=function(H){b("div#jchat_msg").remove();b("<div/>").attr("id","jchat_msg").prependTo("body").append('<div id="jchat_msgtext">'+H+"</div>").css("margin-top",0).hide().fadeIn(500).delay(2500).fadeOut(500,function(){b(this).remove()})};this.initializeVideo=function(I,H,J){m=I;I.append('<div id="jchat_webrtc_recorder_container"></div>');b("#jchat_webrtc_recorder_container",I).append('<div id="jchat_webrtc_record" class="jchat_start_recording"></div>');b("#jchat_webrtc_recorder_container",I).append('<div id="jchat_webrtc_pause" class="jchat_pause_recording"></div>');b("#jchat_webrtc_recorder_container",I).append('<div id="jchat_webrtc_stop" class="jchat_stop_recording"></div>');b("#jchat_webrtc_pause, #jchat_webrtc_stop").data("active",false);b("#jchat_webrtc_recorder_container",I).append('<div id="jchat_webrtc_separator" class="jchat_webrtc_separator"></div>');b("#jchat_webrtc_recorder_container",I).append('<a id="jchat_webrtc_view" class="jchat_view_recording" href="javascript:void(0);" target="_blank"></a>');b("#jchat_webrtc_recorder_container",I).append('<a id="jchat_webrtc_download" class="jchat_download_recording" href="" download="blobfile.webm"></a>');if(e.permissions.allow_media_recorder_save){if(I.attr("id")!="jchat_wrapper_localvideo_recorder"){b("#jchat_webrtc_recorder_container",I).append('<a id="jchat_webrtc_sendvideo" class="jchat_send_recording" href="javascript:void(0);"></a>')}if(e.saveButton){b("#jchat_webrtc_recorder_container",I).append('<div id="jchat_webrtc_upload" class="jchat_upload_recording"></div>')}}b("#jchat_webrtc_recorder_container",I).append('<select id="jchat_webrtc_recording_stream"><option value="local">'+jchat_webrtc_recorder_local+'</option><option value="remote">'+jchat_webrtc_recorder_remote+'</option><option value="both">'+jchat_webrtc_recorder_both+"</option></select>");b("#jchat_webrtc_view, #jchat_webrtc_download, #jchat_webrtc_upload, #jchat_webrtc_sendvideo").data("empty",true);b("#jchat_webrtc_recorder_container",I).append('<div id="jchat_webrtc_upload_progress"></div>');p=H;h=J;o.call(this)};(function j(){if(typeof(MediaRecorder)==="undefined"){return}D=jchatSupportContentEditable();C=e.debugEnabled;if(navigator.mozGetUserMedia){i=true}if(typeof(MediaRecorder.isTypeSupported)!=="undefined"){if(MediaRecorder.isTypeSupported("video/webm;codecs=vp9")){y={mimeType:"video/webm;codecs=vp9"}}else{if(MediaRecorder.isTypeSupported("video/webm;codecs=vp8,opus")){y={mimeType:"video/webm;codecs=vp8,opus"}}else{}}}}).call(this)};window.JChatRecorder=a})(jQuery);
| ver. 1.1 | |
.
| PHP 8.4.18 | Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраницы: 0 |
proxy
|
phpinfo
|
ÐаÑтройка