From 3ed0920b7cebf33dfc29ad2b66d99fefb0735cde Mon Sep 17 00:00:00 2001 From: Owncast Date: Sun, 24 Apr 2022 23:50:50 +0000 Subject: [PATCH] Update admin to 00fedee82d62cd83e11b294465ed5d5f63487515 --- static/admin/404/index.html | 2 +- .../_buildManifest.js | 2 +- .../_middlewareManifest.js | 0 .../_ssgManifest.js | 0 .../static/chunks/pages/stream-health-1ac81fdd5a0562a0.js | 1 + .../static/chunks/pages/stream-health-68eee3394ab8d535.js | 1 - static/admin/access-tokens/index.html | 2 +- static/admin/actions/index.html | 2 +- static/admin/chat/messages/index.html | 2 +- static/admin/chat/users/index.html | 2 +- static/admin/config-chat/index.html | 2 +- static/admin/config-federation/index.html | 2 +- static/admin/config-notify/index.html | 2 +- static/admin/config-public-details/index.html | 2 +- static/admin/config-server-details/index.html | 2 +- static/admin/config-social-items/index.html | 2 +- static/admin/config-storage/index.html | 2 +- static/admin/config-video/index.html | 2 +- static/admin/federation/actions/index.html | 2 +- static/admin/federation/followers/index.html | 2 +- static/admin/hardware-info/index.html | 4 ++-- static/admin/help/index.html | 2 +- static/admin/index.html | 2 +- static/admin/logs/index.html | 2 +- static/admin/stream-health/index.html | 2 +- static/admin/upgrade/index.html | 2 +- static/admin/viewer-info/index.html | 2 +- static/admin/webhooks/index.html | 2 +- 28 files changed, 26 insertions(+), 26 deletions(-) rename static/admin/_next/static/{uY17WbewY-Qz09o6OwvNf => HPyTxIc300BEDgMyYy1Zz}/_buildManifest.js (73%) rename static/admin/_next/static/{uY17WbewY-Qz09o6OwvNf => HPyTxIc300BEDgMyYy1Zz}/_middlewareManifest.js (100%) rename static/admin/_next/static/{uY17WbewY-Qz09o6OwvNf => HPyTxIc300BEDgMyYy1Zz}/_ssgManifest.js (100%) create mode 100644 static/admin/_next/static/chunks/pages/stream-health-1ac81fdd5a0562a0.js delete mode 100644 static/admin/_next/static/chunks/pages/stream-health-68eee3394ab8d535.js diff --git a/static/admin/404/index.html b/static/admin/404/index.html index e89881a0f..83f99a78d 100644 --- a/static/admin/404/index.html +++ b/static/admin/404/index.html @@ -1 +1 @@ -404: This page could not be found

What is your stream about today?

What is your stream about today?
Offline

404

This page could not be found.

\ No newline at end of file +404: This page could not be found

What is your stream about today?

What is your stream about today?
Offline

404

This page could not be found.

\ No newline at end of file diff --git a/static/admin/_next/static/uY17WbewY-Qz09o6OwvNf/_buildManifest.js b/static/admin/_next/static/HPyTxIc300BEDgMyYy1Zz/_buildManifest.js similarity index 73% rename from static/admin/_next/static/uY17WbewY-Qz09o6OwvNf/_buildManifest.js rename to static/admin/_next/static/HPyTxIc300BEDgMyYy1Zz/_buildManifest.js index f1f267e8c..4a2e6a67b 100644 --- a/static/admin/_next/static/uY17WbewY-Qz09o6OwvNf/_buildManifest.js +++ b/static/admin/_next/static/HPyTxIc300BEDgMyYy1Zz/_buildManifest.js @@ -1 +1 @@ -self.__BUILD_MANIFEST=function(s,c,e,a,t,i,f,n,o,d,h,b,g,u,r){return{__rewrites:{beforeFiles:[],afterFiles:[],fallback:[]},"/":[s,c,e,a,t,i,f,h,"static/chunks/494-3a553425a2e08b72.js","static/chunks/pages/index-279c3b5bf5851b91.js"],"/_error":["static/chunks/pages/_error-a3f18418a2205cb8.js"],"/access-tokens":[s,c,e,"static/chunks/pages/access-tokens-26d25d8e8c57e652.js"],"/actions":[s,c,"static/chunks/pages/actions-7f3fa94d2f41e035.js"],"/chat/messages":[b,s,c,e,f,g,"static/chunks/pages/chat/messages-6a7ab995977931d6.js"],"/chat/users":[b,s,c,e,a,f,g,"static/chunks/pages/chat/users-cf5257ec24785cdc.js"],"/config-chat":["static/chunks/pages/config-chat-44a80bdf9a1566fa.js"],"/config-federation":["static/chunks/829-d13a92a702516b11.js","static/chunks/pages/config-federation-d0dab48ca3b7b38b.js"],"/config-notify":["static/chunks/pages/config-notify-fb3d79e6134e8693.js"],"/config-public-details":[s,c,n,"static/css/e773f9ad06a56dc3.css","static/chunks/589-7e8297b550c0f7b5.js",u,"static/chunks/pages/config-public-details-16b40a5c72065f1b.js"],"/config-server-details":[r,"static/chunks/pages/config-server-details-d218ab74b166afb8.js"],"/config-social-items":[s,c,u,"static/chunks/pages/config-social-items-5666873fcc38f1cf.js"],"/config-storage":["static/chunks/473-4a8f57d947ec1020.js","static/chunks/pages/config-storage-fe1482834ce952f3.js"],"/config-video":[s,c,r,"static/chunks/556-e371537a5b08e653.js","static/chunks/pages/config-video-9420079f55dbb428.js"],"/federation/actions":[s,c,e,"static/chunks/pages/federation/actions-714bb4df4ee77ae4.js"],"/federation/followers":[s,c,e,a,"static/chunks/pages/federation/followers-e6855503a77efca8.js"],"/hardware-info":[o,e,a,t,i,d,n,"static/chunks/pages/hardware-info-1e9fd416152fdddb.js"],"/help":[a,t,"static/chunks/132-b6107d90ed827292.js","static/chunks/pages/help-01384cfc83a0fca8.js"],"/logs":[s,c,e,h,"static/chunks/pages/logs-10ca46602c7a568a.js"],"/stream-health":[o,s,e,a,t,i,d,"static/chunks/pages/stream-health-68eee3394ab8d535.js"],"/upgrade":[s,c,"static/chunks/655-37148fe20945e086.js","static/chunks/pages/upgrade-eead66aad0fb9621.js"],"/viewer-info":[o,s,c,e,a,t,i,f,d,n,"static/chunks/pages/viewer-info-1a05a649223d2250.js"],"/webhooks":[s,c,"static/chunks/pages/webhooks-ba06849b846329a3.js"],sortedPages:["/","/_app","/_error","/access-tokens","/actions","/chat/messages","/chat/users","/config-chat","/config-federation","/config-notify","/config-public-details","/config-server-details","/config-social-items","/config-storage","/config-video","/federation/actions","/federation/followers","/hardware-info","/help","/logs","/stream-health","/upgrade","/viewer-info","/webhooks"]}}("static/chunks/741-ba14afb88fb9f97c.js","static/chunks/3-815cf04e07852a3b.js","static/chunks/91-e5a929ca024e0e59.js","static/chunks/879-94c8a074070c0675.js","static/chunks/751-f75aadd6f563115a.js","static/chunks/763-6084d4b3c149b8f4.js","static/chunks/533-2f63c37b8986cca1.js","static/chunks/910-ed07ccf32f311d03.js","static/chunks/36bcf0ca-c1f70baa5cd8cbbf.js","static/chunks/80-979a39dd33b1f687.js","static/chunks/429-a7aa15b93f965750.js","static/chunks/29107295-1494f237b9e407ad.js","static/chunks/464-7e55d24d0b1fd659.js","static/chunks/17-21dcf65b12f3d596.js","static/chunks/578-73510db4cf8c2d92.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file +self.__BUILD_MANIFEST=function(s,c,a,e,t,i,f,n,o,d,h,b,g,u,r){return{__rewrites:{beforeFiles:[],afterFiles:[],fallback:[]},"/":[s,c,a,e,t,i,f,h,"static/chunks/494-3a553425a2e08b72.js","static/chunks/pages/index-279c3b5bf5851b91.js"],"/_error":["static/chunks/pages/_error-a3f18418a2205cb8.js"],"/access-tokens":[s,c,a,"static/chunks/pages/access-tokens-26d25d8e8c57e652.js"],"/actions":[s,c,"static/chunks/pages/actions-7f3fa94d2f41e035.js"],"/chat/messages":[b,s,c,a,f,g,"static/chunks/pages/chat/messages-6a7ab995977931d6.js"],"/chat/users":[b,s,c,a,e,f,g,"static/chunks/pages/chat/users-cf5257ec24785cdc.js"],"/config-chat":["static/chunks/pages/config-chat-44a80bdf9a1566fa.js"],"/config-federation":["static/chunks/829-d13a92a702516b11.js","static/chunks/pages/config-federation-d0dab48ca3b7b38b.js"],"/config-notify":["static/chunks/pages/config-notify-fb3d79e6134e8693.js"],"/config-public-details":[s,c,n,"static/css/e773f9ad06a56dc3.css","static/chunks/589-7e8297b550c0f7b5.js",u,"static/chunks/pages/config-public-details-16b40a5c72065f1b.js"],"/config-server-details":[r,"static/chunks/pages/config-server-details-d218ab74b166afb8.js"],"/config-social-items":[s,c,u,"static/chunks/pages/config-social-items-5666873fcc38f1cf.js"],"/config-storage":["static/chunks/473-4a8f57d947ec1020.js","static/chunks/pages/config-storage-fe1482834ce952f3.js"],"/config-video":[s,c,r,"static/chunks/556-e371537a5b08e653.js","static/chunks/pages/config-video-9420079f55dbb428.js"],"/federation/actions":[s,c,a,"static/chunks/pages/federation/actions-714bb4df4ee77ae4.js"],"/federation/followers":[s,c,a,e,"static/chunks/pages/federation/followers-e6855503a77efca8.js"],"/hardware-info":[o,a,e,t,i,d,n,"static/chunks/pages/hardware-info-1e9fd416152fdddb.js"],"/help":[e,t,"static/chunks/132-b6107d90ed827292.js","static/chunks/pages/help-01384cfc83a0fca8.js"],"/logs":[s,c,a,h,"static/chunks/pages/logs-10ca46602c7a568a.js"],"/stream-health":[o,s,a,e,t,i,d,"static/chunks/pages/stream-health-1ac81fdd5a0562a0.js"],"/upgrade":[s,c,"static/chunks/655-37148fe20945e086.js","static/chunks/pages/upgrade-eead66aad0fb9621.js"],"/viewer-info":[o,s,c,a,e,t,i,f,d,n,"static/chunks/pages/viewer-info-1a05a649223d2250.js"],"/webhooks":[s,c,"static/chunks/pages/webhooks-ba06849b846329a3.js"],sortedPages:["/","/_app","/_error","/access-tokens","/actions","/chat/messages","/chat/users","/config-chat","/config-federation","/config-notify","/config-public-details","/config-server-details","/config-social-items","/config-storage","/config-video","/federation/actions","/federation/followers","/hardware-info","/help","/logs","/stream-health","/upgrade","/viewer-info","/webhooks"]}}("static/chunks/741-ba14afb88fb9f97c.js","static/chunks/3-815cf04e07852a3b.js","static/chunks/91-e5a929ca024e0e59.js","static/chunks/879-94c8a074070c0675.js","static/chunks/751-f75aadd6f563115a.js","static/chunks/763-6084d4b3c149b8f4.js","static/chunks/533-2f63c37b8986cca1.js","static/chunks/910-ed07ccf32f311d03.js","static/chunks/36bcf0ca-c1f70baa5cd8cbbf.js","static/chunks/80-979a39dd33b1f687.js","static/chunks/429-a7aa15b93f965750.js","static/chunks/29107295-1494f237b9e407ad.js","static/chunks/464-7e55d24d0b1fd659.js","static/chunks/17-21dcf65b12f3d596.js","static/chunks/578-73510db4cf8c2d92.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file diff --git a/static/admin/_next/static/uY17WbewY-Qz09o6OwvNf/_middlewareManifest.js b/static/admin/_next/static/HPyTxIc300BEDgMyYy1Zz/_middlewareManifest.js similarity index 100% rename from static/admin/_next/static/uY17WbewY-Qz09o6OwvNf/_middlewareManifest.js rename to static/admin/_next/static/HPyTxIc300BEDgMyYy1Zz/_middlewareManifest.js diff --git a/static/admin/_next/static/uY17WbewY-Qz09o6OwvNf/_ssgManifest.js b/static/admin/_next/static/HPyTxIc300BEDgMyYy1Zz/_ssgManifest.js similarity index 100% rename from static/admin/_next/static/uY17WbewY-Qz09o6OwvNf/_ssgManifest.js rename to static/admin/_next/static/HPyTxIc300BEDgMyYy1Zz/_ssgManifest.js diff --git a/static/admin/_next/static/chunks/pages/stream-health-1ac81fdd5a0562a0.js b/static/admin/_next/static/chunks/pages/stream-health-1ac81fdd5a0562a0.js new file mode 100644 index 000000000..2831b0552 --- /dev/null +++ b/static/admin/_next/static/chunks/pages/stream-health-1ac81fdd5a0562a0.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[632],{24019:function(e,t,r){"use strict";r.d(t,{Z:function(){return l}});var a=r(1413),n=r(67294),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"}}]},name:"clock-circle",theme:"outlined"},o=r(42135),s=function(e,t){return n.createElement(o.Z,(0,a.Z)((0,a.Z)({},e),{},{ref:t,icon:i}))};s.displayName="ClockCircleOutlined";var l=n.forwardRef(s)},86401:function(e,t,r){(window.__NEXT_P=window.__NEXT_P||[]).push(["/stream-health",function(){return r(26102)}])},89270:function(e,t,r){"use strict";r.d(t,{Z:function(){return u}});var a=r(85893),n=r(31877),i=r(92616),o=r.n(i),s=r(58091),l=r(60727);function c(e){var t={};return e.forEach((function(e){var r=new Date(e.time),a=(0,s.Z)(r,"H:mma");t[a]=e.value})),t}function u(e){var t=e.data,r=e.title,n=e.color,i=e.unit,o=e.dataCollections,s=e.yFlipped,u=e.yLogarithmic,d=[];t&&t.length>0&&d.push({name:r,color:n,data:c(t)}),o.forEach((function(e){d.push({name:e.name,data:c(e.data),color:e.color,dataset:e.options})}));var h={scales:{y:{reverse:!1,type:"linear"},x:{type:"time"}}};return h.scales.y.reverse=s,h.scales.y.type=u?"logarithmic":"linear",(0,a.jsx)("div",{className:"line-chart-container",children:(0,a.jsx)(l.wW,{xtitle:"Time",ytitle:r,suffix:i,legend:"bottom",color:n,data:d,download:r,library:h})})}o().use(n.Z),u.defaultProps={dataCollections:[],data:[],title:"",yFlipped:!1,yLogarithmic:!1}},14880:function(e,t,r){"use strict";r.d(t,{Z:function(){return f}});var a=r(85893),n=r(8751),i=r(11475),o=r(25968),s=r(6226),l=r(74763),c=r(84485),u=r(14670),d=r(71577),h=r(41664),p=r(67294),y=r(35159);function f(e){var t=e.showTroubleshootButton,r=(0,p.useContext)(y.aC).health;if(!r)return null;var f=r.healthy,m=r.healthPercentage,v=r.message,x=r.representation,g="#3f8600",w="info";return m<80?(g="#cf000f",w="error"):m<30&&(g="#f0ad4e",w="error"),(0,a.jsxs)("div",{children:[(0,a.jsxs)(o.Z,{gutter:8,children:[(0,a.jsx)(s.Z,{span:12,children:(0,a.jsx)(l.Z,{title:"Healthy Stream",value:f?"Yes":"No",valueStyle:{color:g},prefix:f?(0,a.jsx)(n.Z,{}):(0,a.jsx)(i.Z,{})})}),(0,a.jsx)(s.Z,{span:12,children:(0,a.jsx)(l.Z,{title:"Playback Health",value:m,valueStyle:{color:g},suffix:"%"})})]}),(0,a.jsx)(o.Z,{style:{display:x<100&&0!==x?"grid":"none"},children:(0,a.jsxs)(c.Z.Text,{type:"secondary",style:{textAlign:"center",fontSize:"0.7em",opacity:"0.3"},children:["Stream health represents ",x,"% of all known players. Other player status is unknown."]})}),(0,a.jsx)(o.Z,{gutter:16,style:{width:"100%",display:v?"grid":"none",marginTop:"10px"},children:(0,a.jsx)(s.Z,{span:24,children:(0,a.jsx)(u.Z,{message:v,type:w,showIcon:!0,action:t&&(0,a.jsx)(h.default,{passHref:!0,href:"/stream-health",children:(0,a.jsx)(d.Z,{size:"small",type:"text",style:{color:"black"},children:"TROUBLESHOOT"})})})})})]})}f.defaultProps={showTroubleshootButton:!0}},26102:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return P}});var a=r(34051),n=r.n(a),i=r(85893),o=r(84485),s=r(14670),l=r(11382),c=r(26713),u=r(25968),d=r(6226),h=r(97751),p=r(74763),y=r(67294),f=r(1413),m={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M723 620.5C666.8 571.6 593.4 542 513 542s-153.8 29.6-210.1 78.6a8.1 8.1 0 00-.8 11.2l36 42.9c2.9 3.4 8 3.8 11.4.9C393.1 637.2 450.3 614 513 614s119.9 23.2 163.5 61.5c3.4 2.9 8.5 2.5 11.4-.9l36-42.9c2.8-3.3 2.4-8.3-.9-11.2zm117.4-140.1C751.7 406.5 637.6 362 513 362s-238.7 44.5-327.5 118.4a8.05 8.05 0 00-1 11.3l36 42.9c2.8 3.4 7.9 3.8 11.2 1C308 472.2 406.1 434 513 434s205 38.2 281.2 101.6c3.4 2.8 8.4 2.4 11.2-1l36-42.9c2.8-3.4 2.4-8.5-1-11.3zm116.7-139C835.7 241.8 680.3 182 511 182c-168.2 0-322.6 59-443.7 157.4a8 8 0 00-1.1 11.4l36 42.9c2.8 3.3 7.8 3.8 11.1 1.1C222 306.7 360.3 254 511 254c151.8 0 291 53.5 400 142.7 3.4 2.8 8.4 2.3 11.2-1.1l36-42.9c2.9-3.4 2.4-8.5-1.1-11.3zM448 778a64 64 0 10128 0 64 64 0 10-128 0z"}}]},name:"wifi",theme:"outlined"},v=r(42135),x=function(e,t){return y.createElement(v.Z,(0,f.Z)((0,f.Z)({},e),{},{ref:t,icon:m}))};x.displayName="WifiOutlined";var g=y.forwardRef(x),w=r(24019),j=r(28058),b=r(58827),Z=r(89270),F=r(14880);function S(e,t,r,a,n,i,o){try{var s=e[i](o),l=s.value}catch(c){return void r(c)}s.done?t(l):Promise.resolve(l).then(a,n)}function k(e){var t=e.title,r=e.description;return(0,i.jsxs)("div",{className:"description-box",children:[(0,i.jsx)(o.Z.Title,{children:t}),(0,i.jsx)(o.Z.Paragraph,{children:r})]})}function P(){var e,t,r,a,f,m,v,x=(0,y.useState)([]),P=x[0],C=x[1],T=(0,y.useState)([]),N=T[0],E=T[1],L=(0,y.useState)(),B=L[0],D=L[1],O=(0,y.useState)(),z=O[0],I=O[1],_=(0,y.useState)([]),q=_[0],M=_[1],H=(0,y.useState)([]),R=H[0],V=H[1],A=(0,y.useState)([]),Q=A[0],Y=A[1],W=(0,y.useState)([]),X=W[0],U=W[1],$=(0,y.useState)([]),G=$[0],J=$[1],K=(0,y.useState)([]),ee=K[0],te=K[1],re=(0,y.useState)([]),ae=re[0],ne=re[1],ie=(0,y.useState)([]),oe=ie[0],se=ie[1],le=(0,y.useState)(0),ce=le[0],ue=le[1],de=function(){var e,t=(e=n().mark((function e(){var t;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,(0,b.rQ)(b.N$);case 3:t=e.sent,C(t.errors),E(t.qualityVariantChanges),I(t.highestLatency),D(t.lowestLatency),M(t.medianLatency),V(t.medianSegmentDownloadDuration),Y(t.maximumSegmentDownloadDuration),U(t.minimumSegmentDownloadDuration),J(t.minPlayerBitrate),te(t.medianPlayerBitrate),ne(t.maxPlayerBitrate),se(t.availableBitrates),ue(t.segmentLength-.3),e.next=22;break;case 19:e.prev=19,e.t0=e.catch(0),console.error(e.t0);case 22:case"end":return e.stop()}}),e,null,[[0,19]])})),function(){var t=this,r=arguments;return new Promise((function(a,n){var i=e.apply(t,r);function o(e){S(i,a,n,o,s,"next",e)}function s(e){S(i,a,n,o,s,"throw",e)}o(void 0)}))});return function(){return t.apply(this,arguments)}}();(0,y.useEffect)((function(){var e;return de(),e=setInterval(de,b.NE),function(){clearInterval(e)}}),[]);var he=(0,i.jsxs)("div",{children:[(0,i.jsx)(o.Z.Title,{children:"Stream Performance"}),(0,i.jsx)(s.Z,{type:"info",message:" Data has not yet been collected. Once a stream has begun and viewers are watching this page will be available."}),(0,i.jsx)(l.Z,{size:"large",children:(0,i.jsx)("div",{style:{marginTop:"50px",height:"100px"}})})]});if(!(null===P||void 0===P?void 0:P.length))return he;if(!(null===q||void 0===q?void 0:q.length))return he;if(!(null===R||void 0===R?void 0:R.length))return he;var pe=[{name:"Errors",color:"#B63FFF",options:{radius:3},data:P},{name:"Quality changes",color:"#2087E2",options:{radius:2},data:N}],ye=[{name:"Median stream latency",color:"#00FFFF",options:{radius:2},data:q},{name:"Lowest stream latency",color:"#02FD0D",options:{radius:2},data:B},{name:"Highest stream latency",color:"#B63FFF",options:{radius:2},data:z}],fe=[{name:"Max download duration",color:"#B63FFF",options:{radius:2},data:Q},{name:"Median download duration",color:"#00FFFF",options:{radius:2},data:R},{name:"Min download duration",color:"#02FD0D",options:{radius:2},data:X},{name:"Approximate limit",color:"#003FFF",data:R.map((function(e){return{time:e.time,value:ce}})),options:{radius:0}}],me=[{name:"Lowest player speed",color:"#B63FFF",data:G,options:{radius:2}},{name:"Median player speed",color:"#00FFFF",data:ee,options:{radius:2}},{name:"Maximum player speed",color:"#02FD0D",data:ae,options:{radius:2}}];oe.forEach((function(e){me.push({name:"Available bitrate",color:"#003FFF",data:G.map((function(t){return{time:t.time,value:e}})),options:{radius:0}})}));var ve=null===(t=null===(e=me[0])||void 0===e?void 0:e.data[me[0].data.length-1])||void 0===t?void 0:t.value,xe=null===(r=R[R.length-1])||void 0===r?void 0:r.value,ge=oe[0],we=(null===(a=q[q.length-1])||void 0===a?void 0:a.value)||0,je=(null===(f=z[z.length-1])||void 0===f?void 0:f.value)||0,be=(null===(m=B[B.length-1])||void 0===m?void 0:m.value)||0,Ze=(Number(je)+Number(be)+Number(we))/3,Fe=0;((null===(v=pe[0])||void 0===v?void 0:v.data.length)||0)>5?Fe=pe[0].data.slice(-5).reduce((function(e,t){return e+Number(t.value)}),0):Fe=pe[0].data.reduce((function(e,t){return e+Number(t.value)}),0);var Se=ve>0||xe>0||Fe>0,ke=null,Pe=null;0!==ve&&vece&&(Pe="Your viewers may be consuming your video slower than required. This may be due to slow networks or your latency configuration. You need to decrease the amount of time viewers are taking to consume your video. Consider adding a lower quality with a lower bitrate or experiment with increasing the latency buffer setting.");var Ce=Fe>0?"#B63FFF":"#FFFFFF",Te={display:"flex",alignItems:"center",justifyContent:"center",height:"80px"};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.Z.Title,{children:"Stream Performance"}),(0,i.jsx)(o.Z.Paragraph,{children:"This tool hopes to help you identify and troubleshoot problems you may be experiencing with your stream. It aims to aggregate experiences across your viewers, meaning one viewer with an exceptionally bad experience may throw off numbers for the whole, especially with a low number of viewers."}),(0,i.jsx)(o.Z.Paragraph,{children:"The data is only collected by those using the Owncast web interface and is unable to gain insight into external players people may be using such as VLC, MPV, QuickTime, etc."}),(0,i.jsxs)(c.Z,{direction:"vertical",size:"middle",children:[(0,i.jsx)(u.Z,{justify:"space-around",children:(0,i.jsx)(d.Z,{style:{width:"100%"},children:(0,i.jsx)(h.Z,{type:"inner",children:(0,i.jsx)(F.Z,{showTroubleshootButton:!1})})})}),(0,i.jsxs)(u.Z,{gutter:[16,16],justify:"space-around",style:{display:Se?"flex":"none"},children:[(0,i.jsx)(d.Z,{children:(0,i.jsx)(h.Z,{type:"inner",children:(0,i.jsx)("div",{style:Te,children:(0,i.jsx)(p.Z,{title:"Viewer Playback Speed",value:"".concat(ve),prefix:(0,i.jsx)(g,{style:{marginRight:"5px"}}),precision:0,suffix:"kbps"})})})}),(0,i.jsx)(d.Z,{children:(0,i.jsx)(h.Z,{type:"inner",children:(0,i.jsx)("div",{style:Te,children:(0,i.jsx)(p.Z,{title:"Viewer Latency",value:"".concat(Ze),prefix:(0,i.jsx)(w.Z,{style:{marginRight:"5px"}}),precision:0,suffix:"seconds"})})})}),(0,i.jsx)(d.Z,{children:(0,i.jsx)(h.Z,{type:"inner",children:(0,i.jsx)("div",{style:Te,children:(0,i.jsx)(p.Z,{title:"Recent Playback Errors",value:"".concat(Fe||0),valueStyle:{color:Ce},prefix:(0,i.jsx)(j.Z,{style:{marginRight:"5px"}}),suffix:""})})})})]}),(0,i.jsxs)(h.Z,{children:[(0,i.jsx)(k,{title:"Video Segment Download",description:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.Z.Paragraph,{children:"Once a video segment takes too long to download a viewer will experience buffering. If you see slow downloads you should offer a lower quality for your viewers, or find other ways, possibly an external storage provider, a CDN or a faster network, to improve your stream quality. Increasing your latency buffer can also help for some viewers."}),(0,i.jsx)(o.Z.Paragraph,{children:"In short, once the pink line consistently gets near the blue line, your stream is likely experiencing problems for viewers."})]})}),Pe&&(0,i.jsx)(s.Z,{message:"Slow downloads",description:Pe,type:"error",showIcon:!0}),(0,i.jsx)(Z.Z,{title:"Seconds",dataCollections:fe,color:"#FF7700",unit:"s",yLogarithmic:!0})]}),(0,i.jsxs)(h.Z,{children:[(0,i.jsx)(k,{title:"Player Network Speed",description:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.Z.Paragraph,{children:"The playback bitrate of your viewers. Once somebody's bitrate drops below the lowest video variant bitrate they will experience buffering. If you see viewers with slow connections trying to play your video you should consider offering an additional, lower quality."}),(0,i.jsx)(o.Z.Paragraph,{children:"In short, once the pink line gets near the lowest blue line, your stream is likely experiencing problems for at least one of your viewers."})]})}),ke&&(0,i.jsx)(s.Z,{message:"Low bandwidth viewers",description:ke,type:"error",showIcon:!0}),(0,i.jsx)(Z.Z,{title:"Lowest Player Bitrate",dataCollections:me,color:"#FF7700",unit:"kbps",yLogarithmic:!0})]}),(0,i.jsxs)(h.Z,{children:[(0,i.jsx)(k,{title:"Errors and Quality Changes",description:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.Z.Paragraph,{children:"Recent number of errors, including buffering, and quality changes from across all your viewers. Errors can occur for many reasons, including browser issues, plugins, wifi problems, and they don't all represent fatal issues or something you have control over."}),"A quality change is not necessarily a negative thing, but if it's excessive and coinciding with errors you should consider adding another quality variant.",(0,i.jsx)(o.Z.Paragraph,{})]})}),(0,i.jsx)(Z.Z,{title:"#",dataCollections:pe,color:"#FF7700",unit:""})]}),(0,i.jsxs)(h.Z,{children:[(0,i.jsx)(k,{title:"Viewer Latency",description:"An approximate number of seconds that your viewers are behind your live video. The largest cause of latency spikes is buffering. High latency itself is not a problem, and optimizing for low latency can result in buffering, resulting in even higher latency."}),(0,i.jsx)(Z.Z,{title:"Seconds",dataCollections:ye,color:"#FF7700",unit:"s"})]})]})]})}}},function(e){e.O(0,[570,741,91,879,751,763,80,774,888,179],(function(){return t=86401,e(e.s=t);var t}));var t=e.O();_N_E=t}]); \ No newline at end of file diff --git a/static/admin/_next/static/chunks/pages/stream-health-68eee3394ab8d535.js b/static/admin/_next/static/chunks/pages/stream-health-68eee3394ab8d535.js deleted file mode 100644 index 16455d758..000000000 --- a/static/admin/_next/static/chunks/pages/stream-health-68eee3394ab8d535.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[632],{24019:function(e,t,r){"use strict";r.d(t,{Z:function(){return l}});var a=r(1413),n=r(67294),i={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z"}},{tag:"path",attrs:{d:"M686.7 638.6L544.1 535.5V288c0-4.4-3.6-8-8-8H488c-4.4 0-8 3.6-8 8v275.4c0 2.6 1.2 5 3.3 6.5l165.4 120.6c3.6 2.6 8.6 1.8 11.2-1.7l28.6-39c2.6-3.7 1.8-8.7-1.8-11.2z"}}]},name:"clock-circle",theme:"outlined"},o=r(42135),s=function(e,t){return n.createElement(o.Z,(0,a.Z)((0,a.Z)({},e),{},{ref:t,icon:i}))};s.displayName="ClockCircleOutlined";var l=n.forwardRef(s)},86401:function(e,t,r){(window.__NEXT_P=window.__NEXT_P||[]).push(["/stream-health",function(){return r(26102)}])},89270:function(e,t,r){"use strict";r.d(t,{Z:function(){return u}});var a=r(85893),n=r(31877),i=r(92616),o=r.n(i),s=r(58091),l=r(60727);function c(e){var t={};return e.forEach((function(e){var r=new Date(e.time),a=(0,s.Z)(r,"H:mma");t[a]=e.value})),t}function u(e){var t=e.data,r=e.title,n=e.color,i=e.unit,o=e.dataCollections,s=e.yFlipped,u=e.yLogarithmic,d=[];t&&t.length>0&&d.push({name:r,color:n,data:c(t)}),o.forEach((function(e){d.push({name:e.name,data:c(e.data),color:e.color,dataset:e.options})}));var h={scales:{y:{reverse:!1,type:"linear"},x:{type:"time"}}};return h.scales.y.reverse=s,h.scales.y.type=u?"logarithmic":"linear",(0,a.jsx)("div",{className:"line-chart-container",children:(0,a.jsx)(l.wW,{xtitle:"Time",ytitle:r,suffix:i,legend:"bottom",color:n,data:d,download:r,library:h})})}o().use(n.Z),u.defaultProps={dataCollections:[],data:[],title:"",yFlipped:!1,yLogarithmic:!1}},14880:function(e,t,r){"use strict";r.d(t,{Z:function(){return m}});var a=r(85893),n=r(8751),i=r(11475),o=r(25968),s=r(6226),l=r(74763),c=r(84485),u=r(14670),d=r(71577),h=r(41664),p=r(67294),y=r(35159);function m(e){var t=e.showTroubleshootButton,r=(0,p.useContext)(y.aC).health;if(!r)return null;var m=r.healthy,f=r.healthPercentage,v=r.message,x=r.representation,g="#3f8600",w="info";return f<80?(g="#cf000f",w="error"):f<30&&(g="#f0ad4e",w="error"),(0,a.jsxs)("div",{children:[(0,a.jsxs)(o.Z,{gutter:8,children:[(0,a.jsx)(s.Z,{span:12,children:(0,a.jsx)(l.Z,{title:"Healthy Stream",value:m?"Yes":"No",valueStyle:{color:g},prefix:m?(0,a.jsx)(n.Z,{}):(0,a.jsx)(i.Z,{})})}),(0,a.jsx)(s.Z,{span:12,children:(0,a.jsx)(l.Z,{title:"Playback Health",value:f,valueStyle:{color:g},suffix:"%"})})]}),(0,a.jsx)(o.Z,{style:{display:x<100&&0!==x?"grid":"none"},children:(0,a.jsxs)(c.Z.Text,{type:"secondary",style:{textAlign:"center",fontSize:"0.7em",opacity:"0.3"},children:["Stream health represents ",x,"% of all known players. Other player status is unknown."]})}),(0,a.jsx)(o.Z,{gutter:16,style:{width:"100%",display:v?"grid":"none",marginTop:"10px"},children:(0,a.jsx)(s.Z,{span:24,children:(0,a.jsx)(u.Z,{message:v,type:w,showIcon:!0,action:t&&(0,a.jsx)(h.default,{passHref:!0,href:"/stream-health",children:(0,a.jsx)(d.Z,{size:"small",type:"text",style:{color:"black"},children:"TROUBLESHOOT"})})})})})]})}m.defaultProps={showTroubleshootButton:!0}},26102:function(e,t,r){"use strict";r.r(t),r.d(t,{default:function(){return P}});var a=r(34051),n=r.n(a),i=r(85893),o=r(84485),s=r(14670),l=r(11382),c=r(26713),u=r(25968),d=r(6226),h=r(97751),p=r(74763),y=r(67294),m=r(1413),f={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M723 620.5C666.8 571.6 593.4 542 513 542s-153.8 29.6-210.1 78.6a8.1 8.1 0 00-.8 11.2l36 42.9c2.9 3.4 8 3.8 11.4.9C393.1 637.2 450.3 614 513 614s119.9 23.2 163.5 61.5c3.4 2.9 8.5 2.5 11.4-.9l36-42.9c2.8-3.3 2.4-8.3-.9-11.2zm117.4-140.1C751.7 406.5 637.6 362 513 362s-238.7 44.5-327.5 118.4a8.05 8.05 0 00-1 11.3l36 42.9c2.8 3.4 7.9 3.8 11.2 1C308 472.2 406.1 434 513 434s205 38.2 281.2 101.6c3.4 2.8 8.4 2.4 11.2-1l36-42.9c2.8-3.4 2.4-8.5-1-11.3zm116.7-139C835.7 241.8 680.3 182 511 182c-168.2 0-322.6 59-443.7 157.4a8 8 0 00-1.1 11.4l36 42.9c2.8 3.3 7.8 3.8 11.1 1.1C222 306.7 360.3 254 511 254c151.8 0 291 53.5 400 142.7 3.4 2.8 8.4 2.3 11.2-1.1l36-42.9c2.9-3.4 2.4-8.5-1.1-11.3zM448 778a64 64 0 10128 0 64 64 0 10-128 0z"}}]},name:"wifi",theme:"outlined"},v=r(42135),x=function(e,t){return y.createElement(v.Z,(0,m.Z)((0,m.Z)({},e),{},{ref:t,icon:f}))};x.displayName="WifiOutlined";var g=y.forwardRef(x),w=r(24019),b=r(28058),j=r(58827),Z=r(89270),F=r(14880);function S(e,t,r,a,n,i,o){try{var s=e[i](o),l=s.value}catch(c){return void r(c)}s.done?t(l):Promise.resolve(l).then(a,n)}function k(e){var t=e.title,r=e.description;return(0,i.jsxs)("div",{className:"description-box",children:[(0,i.jsx)(o.Z.Title,{children:t}),(0,i.jsx)(o.Z.Paragraph,{children:r})]})}function P(){var e,t,r,a,m,f,v,x=(0,y.useState)([]),P=x[0],C=x[1],T=(0,y.useState)([]),N=T[0],E=T[1],L=(0,y.useState)(),B=L[0],D=L[1],O=(0,y.useState)(),z=O[0],I=O[1],_=(0,y.useState)([]),q=_[0],M=_[1],H=(0,y.useState)([]),R=H[0],V=H[1],A=(0,y.useState)([]),Q=A[0],Y=A[1],W=(0,y.useState)([]),X=W[0],U=W[1],$=(0,y.useState)([]),G=$[0],J=$[1],K=(0,y.useState)([]),ee=K[0],te=K[1],re=(0,y.useState)([]),ae=re[0],ne=re[1],ie=(0,y.useState)([]),oe=ie[0],se=ie[1],le=(0,y.useState)(0),ce=le[0],ue=le[1],de=(0,y.useState)(0),he=de[0],pe=de[1],ye=function(){var e,t=(e=n().mark((function e(){var t;return n().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,(0,j.rQ)(j.N$);case 3:t=e.sent,C(t.errors),E(t.qualityVariantChanges),I(t.highestLatency),D(t.lowestLatency),M(t.medianLatency),V(t.medianSegmentDownloadDuration),Y(t.maximumSegmentDownloadDuration),U(t.minimumSegmentDownloadDuration),J(t.minPlayerBitrate),te(t.medianPlayerBitrate),ne(t.maxPlayerBitrate),se(t.availableBitrates),ue(t.segmentLength-.3),pe(t.representation),e.next=23;break;case 20:e.prev=20,e.t0=e.catch(0),console.error(e.t0);case 23:case"end":return e.stop()}}),e,null,[[0,20]])})),function(){var t=this,r=arguments;return new Promise((function(a,n){var i=e.apply(t,r);function o(e){S(i,a,n,o,s,"next",e)}function s(e){S(i,a,n,o,s,"throw",e)}o(void 0)}))});return function(){return t.apply(this,arguments)}}();(0,y.useEffect)((function(){var e;return ye(),e=setInterval(ye,j.NE),function(){clearInterval(e)}}),[]);var me=(0,i.jsxs)("div",{children:[(0,i.jsx)(o.Z.Title,{children:"Stream Performance"}),(0,i.jsx)(s.Z,{type:"info",message:" Data has not yet been collected. Once a stream has begun and viewers are watching this page will be available."}),(0,i.jsx)(l.Z,{size:"large",children:(0,i.jsx)("div",{style:{marginTop:"50px",height:"100px"}})})]});if(!(null===P||void 0===P?void 0:P.length))return me;if(!(null===q||void 0===q?void 0:q.length))return me;if(!(null===R||void 0===R?void 0:R.length))return me;var fe=[{name:"Errors",color:"#B63FFF",options:{radius:3},data:P},{name:"Quality changes",color:"#2087E2",options:{radius:2},data:N}],ve=[{name:"Median stream latency",color:"#00FFFF",options:{radius:2},data:q},{name:"Lowest stream latency",color:"#02FD0D",options:{radius:2},data:B},{name:"Highest stream latency",color:"#B63FFF",options:{radius:2},data:z}],xe=[{name:"Max download duration",color:"#B63FFF",options:{radius:2},data:Q},{name:"Median download duration",color:"#00FFFF",options:{radius:2},data:R},{name:"Min download duration",color:"#02FD0D",options:{radius:2},data:X},{name:"Approximate limit",color:"#003FFF",data:R.map((function(e){return{time:e.time,value:ce}})),options:{radius:0}}],ge=[{name:"Lowest viewer bitrate",color:"#B63FFF",data:G,options:{radius:2}},{name:"Median viewer bitrate",color:"#00FFFF",data:ee,options:{radius:2}},{name:"Maximum viewer bitrate",color:"#02FD0D",data:ae,options:{radius:2}}];oe.forEach((function(e){ge.push({name:"Available bitrate",color:"#003FFF",data:G.map((function(t){return{time:t.time,value:e}})),options:{radius:0}})}));var we=null===(t=null===(e=ge[0])||void 0===e?void 0:e.data[ge[0].data.length-1])||void 0===t?void 0:t.value,be=null===(r=R[R.length-1])||void 0===r?void 0:r.value,je=oe[0],Ze=(null===(a=q[q.length-1])||void 0===a?void 0:a.value)||0,Fe=(null===(m=z[z.length-1])||void 0===m?void 0:m.value)||0,Se=(null===(f=B[B.length-1])||void 0===f?void 0:f.value)||0,ke=(Number(Fe)+Number(Se)+Number(Ze))/3,Pe=0;((null===(v=fe[0])||void 0===v?void 0:v.data.length)||0)>5?Pe=fe[0].data.slice(-5).reduce((function(e,t){return e+Number(t.value)}),0):Pe=fe[0].data.reduce((function(e,t){return e+Number(t.value)}),0);var Ce=we>0||be>0||Pe>0,Te=null,Ne=null;0!==we&&wece&&(Ne="Your viewers may be consuming your video slower than required. This may be due to slow networks or your latency configuration. You need to decrease the amount of time viewers are taking to consume your video. Consider adding a lower quality with a lower bitrate or experiment with increasing the latency buffer setting.");var Ee=Pe>0?"#B63FFF":"#FFFFFF",Le={display:"flex",alignItems:"center",justifyContent:"center",height:"80px"};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.Z.Title,{children:"Stream Performance"}),(0,i.jsx)(o.Z.Paragraph,{children:"This tool hopes to help you identify and troubleshoot problems you may be experiencing with your stream. It aims to aggregate experiences across your viewers, meaning one viewer with an exceptionally bad experience may throw off numbers for the whole, especially with a low number of viewers."}),(0,i.jsx)(o.Z.Paragraph,{children:"The data is only collected by those using the Owncast web interface and is unable to gain insight into external players people may be using such as VLC, MPV, QuickTime, etc."}),(0,i.jsxs)(c.Z,{direction:"vertical",size:"middle",children:[(0,i.jsx)(u.Z,{justify:"space-around",children:(0,i.jsx)(d.Z,{style:{width:"100%"},children:(0,i.jsx)(h.Z,{type:"inner",children:(0,i.jsx)(F.Z,{showTroubleshootButton:!1})})})}),(0,i.jsxs)(u.Z,{gutter:[16,16],justify:"space-around",style:{display:Ce?"flex":"none"},children:[(0,i.jsx)(d.Z,{children:(0,i.jsx)(h.Z,{type:"inner",children:(0,i.jsx)("div",{style:Le,children:(0,i.jsx)(p.Z,{title:"Viewer Playback Speed",value:"".concat(we),prefix:(0,i.jsx)(g,{style:{marginRight:"5px"}}),precision:0,suffix:"kbps"})})})}),(0,i.jsx)(d.Z,{children:(0,i.jsx)(h.Z,{type:"inner",children:(0,i.jsx)("div",{style:Le,children:(0,i.jsx)(p.Z,{title:"Viewer Latency",value:"".concat(ke),prefix:(0,i.jsx)(w.Z,{style:{marginRight:"5px"}}),precision:0,suffix:"seconds"})})})}),(0,i.jsx)(d.Z,{children:(0,i.jsx)(h.Z,{type:"inner",children:(0,i.jsx)("div",{style:Le,children:(0,i.jsx)(p.Z,{title:"Recent Playback Errors",value:"".concat(Pe||0),valueStyle:{color:Ee},prefix:(0,i.jsx)(b.Z,{style:{marginRight:"5px"}}),suffix:""})})})})]}),(0,i.jsx)("div",{style:{textAlign:"center",display:he<100?"grid":"none"},children:0!==he&&(0,i.jsxs)(o.Z.Paragraph,{style:{opacity:"0.7",fontSize:"0.7em"},children:["Provided playback metrics represent ",he,"% of all known players. Specifics around other players consuming this video stream are unknown."]})}),(0,i.jsxs)(h.Z,{children:[(0,i.jsx)(k,{title:"Video Segment Download",description:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.Z.Paragraph,{children:"Once a video segment takes too long to download a viewer will experience buffering. If you see slow downloads you should offer a lower quality for your viewers, or find other ways, possibly an external storage provider, a CDN or a faster network, to improve your stream quality. Increasing your latency buffer can also help for some viewers."}),(0,i.jsx)(o.Z.Paragraph,{children:"In short, once the pink line consistently gets near the blue line, your stream is likely experiencing problems for viewers."})]})}),Ne&&(0,i.jsx)(s.Z,{message:"Slow downloads",description:Ne,type:"error",showIcon:!0}),(0,i.jsx)(Z.Z,{title:"Seconds",dataCollections:xe,color:"#FF7700",unit:"s",yLogarithmic:!0})]}),(0,i.jsxs)(h.Z,{children:[(0,i.jsx)(k,{title:"Player Network Speed",description:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.Z.Paragraph,{children:"The playback bitrate of your viewers. Once somebody's bitrate drops below the lowest video variant bitrate they will experience buffering. If you see viewers with slow connections trying to play your video you should consider offering an additional, lower quality."}),(0,i.jsx)(o.Z.Paragraph,{children:"In short, once the pink line gets near the lowest blue line, your stream is likely experiencing problems for at least one of your viewers."})]})}),Te&&(0,i.jsx)(s.Z,{message:"Low bandwidth viewers",description:Te,type:"error",showIcon:!0}),(0,i.jsx)(Z.Z,{title:"Lowest Player Bitrate",dataCollections:ge,color:"#FF7700",unit:"kbps",yLogarithmic:!0})]}),(0,i.jsxs)(h.Z,{children:[(0,i.jsx)(k,{title:"Errors and Quality Changes",description:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.Z.Paragraph,{children:"Recent number of errors, including buffering, and quality changes from across all your viewers. Errors can occur for many reasons, including browser issues, plugins, wifi problems, and they don't all represent fatal issues or something you have control over."}),"A quality change is not necessarily a negative thing, but if it's excessive and coinciding with errors you should consider adding another quality variant.",(0,i.jsx)(o.Z.Paragraph,{})]})}),(0,i.jsx)(Z.Z,{title:"#",dataCollections:fe,color:"#FF7700",unit:""})]}),(0,i.jsxs)(h.Z,{children:[(0,i.jsx)(k,{title:"Viewer Latency",description:"An approximate number of seconds that your viewers are behind your live video. The more people buffer the further behind they will be. High latency itself is not a problem, but some people care about this more than others."}),(0,i.jsx)(Z.Z,{title:"Seconds",dataCollections:ve,color:"#FF7700",unit:"s"})]})]})]})}}},function(e){e.O(0,[570,741,91,879,751,763,80,774,888,179],(function(){return t=86401,e(e.s=t);var t}));var t=e.O();_N_E=t}]); \ No newline at end of file diff --git a/static/admin/access-tokens/index.html b/static/admin/access-tokens/index.html index 7dad6db87..7b84d78fb 100644 --- a/static/admin/access-tokens/index.html +++ b/static/admin/access-tokens/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Access Tokens

Access tokens are used to allow external, 3rd party tools to perform specific actions on your Owncast server. They should be kept secure and never included in client code, instead they should be kept on a server that you control.
Read more about how to use these tokens, with examples, at our documentation.
NameTokenScopesLast Used
No Data

\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Access Tokens

Access tokens are used to allow external, 3rd party tools to perform specific actions on your Owncast server. They should be kept secure and never included in client code, instead they should be kept on a server that you control.
Read more about how to use these tokens, with examples, at our documentation.
NameTokenScopesLast Used
No Data

\ No newline at end of file diff --git a/static/admin/actions/index.html b/static/admin/actions/index.html index 984cba8e2..1b4ace180 100644 --- a/static/admin/actions/index.html +++ b/static/admin/actions/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

External Actions

External action URLs are 3rd party UI you can display, embedded, into your Owncast page when a user clicks on a button to launch your action.
Read more about how to use actions, with examples, at our documentation.
NameDescriptionURLIconColorOpens
No Data

\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

External Actions

External action URLs are 3rd party UI you can display, embedded, into your Owncast page when a user clicks on a button to launch your action.
Read more about how to use actions, with examples, at our documentation.
NameDescriptionURLIconColorOpens
No Data

\ No newline at end of file diff --git a/static/admin/chat/messages/index.html b/static/admin/chat/messages/index.html index c73e067e2..0e138015b 100644 --- a/static/admin/chat/messages/index.html +++ b/static/admin/chat/messages/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Chat Messages

Manage the messages from viewers that show up on your stream.

Check multiple messages to change their visibility to:
Time
User
Message
No Data
\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Chat Messages

Manage the messages from viewers that show up on your stream.

Check multiple messages to change their visibility to:
Time
User
Message
No Data
\ No newline at end of file diff --git a/static/admin/chat/users/index.html b/static/admin/chat/users/index.html index 721d6c71e..bc12bbc2e 100644 --- a/static/admin/chat/users/index.html +++ b/static/admin/chat/users/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

When a stream is active and chat is enabled, connected chat clients will be displayed here.

\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

When a stream is active and chat is enabled, connected chat clients will be displayed here.

\ No newline at end of file diff --git a/static/admin/config-chat/index.html b/static/admin/config-chat/index.html index 110a55313..c6bae1548 100644 --- a/static/admin/config-chat/index.html +++ b/static/admin/config-chat/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline
\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline
\ No newline at end of file diff --git a/static/admin/config-federation/index.html b/static/admin/config-federation/index.html index 453860ec8..620f6a545 100644 --- a/static/admin/config-federation/index.html +++ b/static/admin/config-federation/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline
\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline
\ No newline at end of file diff --git a/static/admin/config-notify/index.html b/static/admin/config-notify/index.html index fc56d662a..3dd72a44b 100644 --- a/static/admin/config-notify/index.html +++ b/static/admin/config-notify/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Notifications

Let your viewers know when you go live by supporting any of the below notification channels. Learn more about live notifications.


The full url to your Owncast server is required to enable social features. Must use SSL (https). Once people start following your instance you should not change this.

The full url to your Owncast server is required to enable social features. Must use SSL (https). Once people start following your instance you should not change this.

Browser Alerts

Viewers can opt into being notified when you go live with their browser.

Not all browsers support this.

Enable browser notifications

The text to send when you go live.

Twitter

Let your Twitter followers know each time you go live.

Enable Twitter

The text to send when you go live.

Discord

Let your Discord channel know each time you go live.

Create a webhook under Edit Channel / Integrations on your Discord channel and provide it below.

Enable Discord

The webhook assigned to your channel.

The text to send when you go live.

Fediverse Social

Enabling the Fediverse social features will not just alert people to when you go live, but also enable other functionality.

Fediverse social features: Disabled

Configure

Custom

Build your own notifications by using custom webhooks.

Create
\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Notifications

Let your viewers know when you go live by supporting any of the below notification channels. Learn more about live notifications.


The full url to your Owncast server is required to enable social features. Must use SSL (https). Once people start following your instance you should not change this.

The full url to your Owncast server is required to enable social features. Must use SSL (https). Once people start following your instance you should not change this.

Browser Alerts

Viewers can opt into being notified when you go live with their browser.

Not all browsers support this.

Enable browser notifications

The text to send when you go live.

Twitter

Let your Twitter followers know each time you go live.

Enable Twitter

The text to send when you go live.

Discord

Let your Discord channel know each time you go live.

Create a webhook under Edit Channel / Integrations on your Discord channel and provide it below.

Enable Discord

The webhook assigned to your channel.

The text to send when you go live.

Fediverse Social

Enabling the Fediverse social features will not just alert people to when you go live, but also enable other functionality.

Fediverse social features: Disabled

Configure

Custom

Build your own notifications by using custom webhooks.

Create
\ No newline at end of file diff --git a/static/admin/config-public-details/index.html b/static/admin/config-public-details/index.html index 8dc3f2a36..3e0961ee8 100644 --- a/static/admin/config-public-details/index.html +++ b/static/admin/config-public-details/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

General Settings

The following are displayed on your site to describe your stream and its content. Learn more.

Custom Page Content

Edit the content of your page by using simple Markdown syntax.


Customize your page styling with CSS

Customize the look and feel of your Owncast instance by overriding the CSS styles of various components on the page. Refer to the CSS & Components guide.

Please input plain CSS text, as this will be directly injected onto your page during load.


\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

General Settings

The following are displayed on your site to describe your stream and its content. Learn more.

Custom Page Content

Edit the content of your page by using simple Markdown syntax.


Customize your page styling with CSS

Customize the look and feel of your Owncast instance by overriding the CSS styles of various components on the page. Refer to the CSS & Components guide.

Please input plain CSS text, as this will be directly injected onto your page during load.


\ No newline at end of file diff --git a/static/admin/config-server-details/index.html b/static/admin/config-server-details/index.html index e22899993..d499a542e 100644 --- a/static/admin/config-server-details/index.html +++ b/static/admin/config-server-details/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Server Settings

You should change your stream key from the default and keep it safe. For most people it's likely the other settings will not need to be changed.

\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Server Settings

You should change your stream key from the default and keep it safe. For most people it's likely the other settings will not need to be changed.

\ No newline at end of file diff --git a/static/admin/config-social-items/index.html b/static/admin/config-social-items/index.html index a48045c66..d34e84b12 100644 --- a/static/admin/config-social-items/index.html +++ b/static/admin/config-social-items/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Social Items

\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Social Items

\ No newline at end of file diff --git a/static/admin/config-storage/index.html b/static/admin/config-storage/index.html index 45ddc0c08..786bf5765 100644 --- a/static/admin/config-storage/index.html +++ b/static/admin/config-storage/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Storage

Owncast supports optionally using external storage providers to stream your video. Learn more about this by visiting our Storage Documentation.

Configuring this incorrectly will likely cause your video to be unplayable. Double check the documentation for your storage provider on how to configure the bucket you created for Owncast.

Keep in mind this is for live streaming, not for archival, recording or VOD purposes.

\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Storage

Owncast supports optionally using external storage providers to stream your video. Learn more about this by visiting our Storage Documentation.

Configuring this incorrectly will likely cause your video to be unplayable. Double check the documentation for your storage provider on how to configure the bucket you created for Owncast.

Keep in mind this is for live streaming, not for archival, recording or VOD purposes.

\ No newline at end of file diff --git a/static/admin/config-video/index.html b/static/admin/config-video/index.html index bc88120ab..114392f3d 100644 --- a/static/admin/config-video/index.html +++ b/static/admin/config-video/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Video configuration

Before changing your video configuration visit the video documentation to learn how it impacts your stream performance. The general rule is to start conservatively by having one middle quality stream output variant and experiment with adding more of varied qualities.

Stream output

NameVideo bitrateCPU Usage
No name800 kbpsMedium

Latency Buffer

While it's natural to want to keep your latency as low as possible, you may experience reduced error tolerance and stability the lower you go. The lowest setting is not recommended.

For interactive live streams you may want to experiment with a lower latency, for non-interactive broadcasts you may want to increase it. Read to learn more.

LowestHighest

\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Video configuration

Before changing your video configuration visit the video documentation to learn how it impacts your stream performance. The general rule is to start conservatively by having one middle quality stream output variant and experiment with adding more of varied qualities.

Stream output

NameVideo bitrateCPU Usage
No name800 kbpsMedium

Latency Buffer

While it's natural to want to keep your latency as low as possible, you may experience reduced error tolerance and stability the lower you go. The lowest setting is not recommended.

For interactive live streams you may want to experiment with a lower latency, for non-interactive broadcasts you may want to increase it. Read to learn more.

LowestHighest

\ No newline at end of file diff --git a/static/admin/federation/actions/index.html b/static/admin/federation/actions/index.html index 289a8d7ce..cfcba4457 100644 --- a/static/admin/federation/actions/index.html +++ b/static/admin/federation/actions/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Fediverse Actions

Below is a list of actions that were taken by others in response to your posts as well as people who requested to follow you.
ActionFromWhen
No Data
\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Fediverse Actions

Below is a list of actions that were taken by others in response to your posts as well as people who requested to follow you.
ActionFromWhen
No Data
\ No newline at end of file diff --git a/static/admin/federation/followers/index.html b/static/admin/federation/followers/index.html index b11d9c5c6..29c63d986 100644 --- a/static/admin/federation/followers/index.html +++ b/static/admin/federation/followers/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

The following accounts get notified when you go live or send a post.

NameURL
Added
Remove
No Data
\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

The following accounts get notified when you go live or send a post.

NameURL
Added
Remove
No Data
\ No newline at end of file diff --git a/static/admin/hardware-info/index.html b/static/admin/hardware-info/index.html index 6d5d52455..854455ed7 100644 --- a/static/admin/hardware-info/index.html +++ b/static/admin/hardware-info/index.html @@ -1,4 +1,4 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Hardware Info


Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Hardware Info


Disk
0%
Loading...
\ No newline at end of file + a 47,47 0 1 1 0,94" stroke="" stroke-linecap="round" stroke-width="6" opacity="0" fill-opacity="0" style="stroke:#52C41A;stroke-dasharray:0px 295.3097094374406px;stroke-dashoffset:-37.5px;transition:stroke-dashoffset .3s ease 0s, stroke-dasharray .3s ease 0s, stroke .3s, stroke-width .06s ease .3s, opacity .3s ease 0s">
Disk
0%
Loading...
\ No newline at end of file diff --git a/static/admin/help/index.html b/static/admin/help/index.html index a7675fb19..df98d0509 100644 --- a/static/admin/help/index.html +++ b/static/admin/help/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

How can we help you?

Troubleshooting

Fix your problems

Documentation

Read the Docs

Common tasks

I want to configure my owncast instance
Help configuring my broadcasting software
I want to embed my stream into another site
I want to customize my website
I want to tweak my video output
I want to use an external storage provider

Other

I found a bug
If you found a bug, then please let us know
I have a general question
Most general questions are answered in our FAQ or exist in our discussions
I want to build add-ons for Owncast
You can build your own bots, overlays, tools and add-ons with our developer APIs. 
\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

How can we help you?

Troubleshooting

Fix your problems

Documentation

Read the Docs

Common tasks

I want to configure my owncast instance
Help configuring my broadcasting software
I want to embed my stream into another site
I want to customize my website
I want to tweak my video output
I want to use an external storage provider

Other

I found a bug
If you found a bug, then please let us know
I have a general question
Most general questions are answered in our FAQ or exist in our discussions
I want to build add-ons for Owncast
You can build your own bots, overlays, tools and add-ons with our developer APIs. 
\ No newline at end of file diff --git a/static/admin/index.html b/static/admin/index.html index 9ae115426..6260eb47e 100644 --- a/static/admin/index.html +++ b/static/admin/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

No stream is active

You should start one.

Use your broadcasting software
Chat is disabled
Chat will continue to be disabled until you begin a live stream.
Find an audience on the Owncast Directory
List yourself in the Owncast Directory and show off your stream. Enable it in settings.
fediverse
Add your Owncast instance to the Fediverse
Enable Owncast social features to have your instance join the Fediverse, allowing people to follow, share and engage with your live stream.

News & Updates from Owncast

\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

No stream is active

You should start one.

Use your broadcasting software
Chat is disabled
Chat will continue to be disabled until you begin a live stream.
Find an audience on the Owncast Directory
List yourself in the Owncast Directory and show off your stream. Enable it in settings.
fediverse
Add your Owncast instance to the Fediverse
Enable Owncast social features to have your instance join the Fediverse, allowing people to follow, share and engage with your live stream.

News & Updates from Owncast

\ No newline at end of file diff --git a/static/admin/logs/index.html b/static/admin/logs/index.html index 4497d5ed3..df68adac5 100644 --- a/static/admin/logs/index.html +++ b/static/admin/logs/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline
\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline
\ No newline at end of file diff --git a/static/admin/stream-health/index.html b/static/admin/stream-health/index.html index 7384ac474..b2c52ea73 100644 --- a/static/admin/stream-health/index.html +++ b/static/admin/stream-health/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Stream Performance

\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Stream Performance

\ No newline at end of file diff --git a/static/admin/upgrade/index.html b/static/admin/upgrade/index.html index 43c35a307..7df0ab693 100644 --- a/static/admin/upgrade/index.html +++ b/static/admin/upgrade/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Thu Jan 01 1970

Downloads

NameSize
No Data
\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Thu Jan 01 1970

Downloads

NameSize
No Data
\ No newline at end of file diff --git a/static/admin/viewer-info/index.html b/static/admin/viewer-info/index.html index 90a54dae7..f67d8a4af 100644 --- a/static/admin/viewer-info/index.html +++ b/static/admin/viewer-info/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Viewer Info


Max viewers last stream
0
All-time max viewers
0
User AgentLocation
Watch Time
No Data
\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Viewer Info


Max viewers last stream
0
All-time max viewers
0
User AgentLocation
Watch Time
No Data
\ No newline at end of file diff --git a/static/admin/webhooks/index.html b/static/admin/webhooks/index.html index 3da4c200d..f3125b300 100644 --- a/static/admin/webhooks/index.html +++ b/static/admin/webhooks/index.html @@ -1 +1 @@ -Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Webhooks

A webhook is a callback made to an external API in response to an event that takes place within Owncast. This can be used to build chat bots or sending automatic notifications that you've started streaming.
Read more about how to use webhooks, with examples, at our documentation.
URLEvents
No Data

\ No newline at end of file +Owncast Admin

What is your stream about today?

What is your stream about today?
Offline

Webhooks

A webhook is a callback made to an external API in response to an event that takes place within Owncast. This can be used to build chat bots or sending automatic notifications that you've started streaming.
Read more about how to use webhooks, with examples, at our documentation.
URLEvents
No Data

\ No newline at end of file