{"version":3,"sources":["locales/en/messages.js","locales/de/messages.js","locales/fr/messages.js","locales/it/messages.js","locales/pt/messages.js","locales/es/messages.js","locales/ru/messages.js","theme/base/palette.js","theme/base/typography.js","theme/base/index.js","theme/base/breakpoints.js","theme/base/shape.js","assets/images/universe-4609408.jpg","theme/global.js","theme/components/accordion.js","theme/components/alert.js","theme/components/appBar.js","theme/components/backdrop.js","theme/components/button.js","theme/components/checkbox.js","theme/components/typography.js","theme/components/dialog.js","theme/components/divider.js","theme/components/fab.js","theme/components/formLabel.js","theme/components/iconButton.js","theme/components/inputLabel.js","theme/components/listItem.js","theme/components/menu.js","theme/components/menuItem.js","theme/components/outlinedInput.js","theme/components/paper.js","theme/components/select.js","theme/components/tab.js","theme/components/toggleButton.js","theme/components/tooltip.js","theme/index.js","theme/components/accordionSummary.js","theme/components/box.js","theme/components/formControlLabel.js","theme/components/link.js","theme/components/listSubheader.js","theme/components/modal.js","theme/components/popover.js","theme/components/snackbar.js","theme/components/tabPanel.js","theme/components/tabs.js","theme/components/tabScrollButton.js","theme/components/toggleButtonGroup.js","contexts/Notify.js","utils/storage.js","utils/auth0.js","hooks/useInterval.js","misc/modals/Dialog.js","misc/ChannelList.js","misc/Duration.js","misc/Logo/images/logo.svg","misc/Logo/index.js","misc/Number.js","Footer.js","I18n.js","version.js","assets/images/welcome.png","misc/LanguageSelect.js","misc/Logo/images/rs-logo.svg","misc/Logo/rsLogo.js","misc/ModalContent.js","misc/PaperThumb.js","Header.js","misc/coders/Encoders/audio/Copy.js","misc/coders/Encoders/audio/None.js","misc/SelectCustom.js","misc/coders/settings/Audio.js","misc/coders/Encoders/audio/AAC.js","misc/coders/Encoders/audio/AACAudioToolbox.js","misc/coders/Encoders/audio/Libopus.js","misc/coders/Encoders/audio/Libvorbis.js","misc/coders/Encoders/audio/MP3.js","misc/coders/Encoders/audio/Opus.js","misc/coders/Encoders/audio/Vorbis.js","misc/Select.js","misc/coders/settings/Video.js","misc/coders/Encoders/video/X264.js","misc/coders/Encoders/video/X265.js","misc/coders/Encoders/video/H264VideoToolbox.js","misc/coders/Encoders/video/H264NVENC.js","misc/coders/Encoders/video/H264OMX.js","misc/coders/Encoders/video/H264V4L2M2M.js","misc/coders/Encoders/video/H264VAAPI.js","misc/coders/Encoders/video/Copy.js","misc/coders/Encoders/video/None.js","misc/coders/Encoders/video/Raw.js","misc/coders/Encoders/video/VP9.js","misc/coders/Encoders/index.js","utils/metadata.js","utils/api.js","utils/restreamer.js","views/Publication/helper.js","misc/coders/Decoders/audio/Default.js","misc/coders/Decoders/video/NVDEC.js","misc/coders/Decoders/video/H264MMAL.js","misc/coders/Decoders/video/H264CUVID.js","misc/coders/Decoders/video/HEVCCUVID.js","misc/coders/Decoders/video/MJPEGCUVID.js","misc/coders/Decoders/video/MPEG1CUVID.js","misc/coders/Decoders/video/MPEG2CUVID.js","misc/coders/Decoders/video/MPEG2MMAL.js","misc/coders/Decoders/video/MPEG4CUVID.js","misc/coders/Decoders/video/MPEG4MMAL.js","misc/coders/Decoders/video/VC1CUVID.js","misc/coders/Decoders/video/VC1MMAL.js","misc/coders/Decoders/video/Default.js","misc/coders/Decoders/video/VideoToolbox.js","misc/coders/Decoders/video/VP8CUVID.js","misc/coders/Decoders/video/VP9CUVID.js","misc/coders/Decoders/index.js","utils/help.js","misc/EncodingSelect.js","misc/Paper.js","misc/PaperHeader.js","misc/PaperFooter.js","misc/Checkbox.js","misc/controls/Process.js","views/Publication/Services/logos/akamai.svg","views/Publication/Services/Akamai.js","views/Publication/Services/logos/brightcove.svg","views/Publication/Services/Brightcove.js","views/Publication/Services/logos/cdn77.svg","views/Publication/Services/CDN77.js","misc/FormInlineButton.js","views/Publication/Services/logos/datarhei.svg","views/Publication/Services/Core.js","views/Publication/Services/logos/dacast.svg","views/Publication/Services/DaCast.js","misc/Env.js","misc/Password.js","views/Publication/Services/DASH.js","views/Publication/Services/Facebook.js","views/Publication/Services/Framebuffer.js","misc/MultiSelect.js","misc/MultiSelectOption.js","views/Publication/Services/HLS.js","views/Publication/Services/logos/icecast.svg","views/Publication/Services/Icecast.js","views/Publication/Services/Image2.js","views/Publication/Services/Instagram.js","views/Publication/Services/logos/livespotting.svg","views/Publication/Services/Livespotting.js","views/Publication/Services/MPEGTS.js","views/Publication/Services/logos/red5.svg","views/Publication/Services/Red5.js","views/Publication/Services/logos/restream.svg","views/Publication/Services/Restream.js","views/Publication/Services/RTMP.js","views/Publication/Services/RTSP.js","views/Publication/Services/SRT.js","views/Publication/Services/Twitch.js","views/Publication/Services/Twitter.js","views/Publication/Services/UDP.js","views/Publication/Services/Vimeo.js","views/Publication/Services/logos/wowza.svg","views/Publication/Services/WOWZA.js","views/Publication/Services/Youtube.js","views/Publication/Services/index.js","misc/TabPanel.js","misc/TabsVerticalGrid.js","views/Publication/Add.js","assets/images/livesource.png","misc/controls/HLS.js","misc/controls/License/images/cc-zero.svg","misc/controls/License/images/by.svg","misc/controls/License/images/by-sa.svg","misc/controls/License/images/by-nc.svg","misc/controls/License/images/by-nc-sa.svg","misc/controls/License/images/by-nd.svg","misc/controls/License/images/by-nc-nd.svg","misc/controls/License/index.js","misc/TabsHorizontal.js","misc/controls/Metadata.js","misc/BoxText.js","misc/Textarea.js","misc/modals/Textarea.js","misc/modals/Probe.js","views/Edit/Sources/ALSA.js","views/Edit/Sources/AVFoundation.js","misc/BoxTextarea.js","views/Edit/Sources/Network.js","views/Edit/Sources/NoAudio.js","views/Edit/Sources/Raspicam.js","views/Edit/Sources/V4L.js","views/Edit/Sources/VideoAudio.js","views/Edit/Sources/VirtualAudio.js","views/Edit/Sources/VirtualVideo.js","views/Edit/Sources/index.js","views/Edit/SourceSelect.js","views/Edit/StreamSelect.js","views/Edit/Profile.js","views/Edit/Summary.js","views/Edit/ProfileSummary.js","misc/controls/Snapshot.js","views/Edit/index.js","misc/Player/clappr.js","misc/Player/videojs.js","misc/Player/index.js","utils/clipboard.js","misc/TextFieldCopy.js","views/Publication/Player.js","misc/modals/Debug.js","misc/ActionButton.js","misc/Progress.js","views/Publication/Process.js","misc/modals/Process.js","views/Publication/Edit.js","misc/PaperContent.js","views/Invalid.js","views/Incompatible.js","views/Login.js","misc/CopyButton.js","views/Main/Progress.js","views/Main/Egress.js","views/Main/Publication.js","views/Welcome.js","views/Main/index.js","views/Password.js","assets/images/playersite.png","misc/ColorPicker.js","views/Playersite.js","assets/images/settings.png","misc/TextField.js","views/Settings.js","views/Edit/Wizard/Sources/AVFoundation.js","views/Edit/Wizard/Sources/InternalRTMP.js","views/Edit/Wizard/Sources/Network.js","views/Edit/Wizard/Sources/Raspicam.js","views/Edit/Wizard/Sources/V4L.js","views/Edit/Wizard/Sources/index.js","views/index.js","views/Initializing.js","views/Edit/Wizard/index.js","views/ChannelSelect.js","Router.js","RestreamerUI.js","index.js"],"names":["module","exports","messages","common","black","white","background","accordion","accordion_border","box_default","box_danger","button_disabled","dark1","dark2","footer1","footer2","light1","modal","modalbox","paper","default","main","primary","light","dark","contrastText","secondary","service","error","warning","selected","text","disabled","hint","htmlFontSize","fontFamily","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","h1","marginBottom","h2","marginTop","wordBreak","h3","h4","h5","h6","fontWeight","subtitle1","subtitle2","body1","body2","body3","button","pagetitle","textTransform","caption","color","palette","display","fontStyle","theme","createTheme","breakpoints","unit","values","xs","sm","md","lg","xl","typography","shape","borderRadius","html","width","height","body","base","universe","backgroundSize","overflowX","overflowY","code","textarea","backgroundColor","whiteSpace","overflow","border","resize","wordWrap","overflowWrap","outline","scrollbar","MozAppearance","scrollbarbutton","minWidth","margin","styleOverrides","root","padding","rounded","boxShadow","filledInfo","filledSuccess","filledWarning","filledError","borderBottom","zIndex","outlined","variants","props","variant","style","opacity","maxHeight","maxWidth","textAlign","userSelect","outlinedPrimary","outlinedSecondary","colorSecondary","borderTop","label","sizeSmall","darker2","darker1","list","ontSize","lineHeight","paddingLeft","paddingRight","borderColor","borderWidth","input","WebkitTextFillColor","WebkitBoxShadow","icon","minHeight","alignItems","wrapper","tooltip","shadows","arrow","components","MuiCssBaseline","globals","MuiAccordion","MuiAccordionSummary","content","MuiAlert","alert","MuiAppBar","appBar","MuiBackdrop","backdrop","MuiBox","MuiButton","MuiCheckbox","checkobox","MuiDialog","dialog","MuiDivider","divider","MuiFab","fab","MuiFormControlLabel","MuiFormLabel","formLabel","MuiIconButton","iconButton","MuiInputLabel","inputLabel","MuiLink","textDecoration","underlineHover","MuiListItem","listItem","MuiListSubheader","MuiMenu","menu","MuiMenuItem","menuItem","MuiModal","justifyContent","MuiOutlinedInput","outlinedInput","MuiPaper","MuiPopover","MuiSelect","select","MuiSnackbar","top","MuiTab","tab","MuiTabPanel","MuiTabs","paddingTop","indicator","MuiTabScrollButton","MuiToggleButton","toggleButton","MuiToggleButtonGroup","groupedHorizontal","borderRight","MuiTooltip","MuiTypography","ctypography","NotifyContext","React","createContext","Dispatch","NotifyProvider","Provider","Consumer","isAvailable","storage","window","localStorage","x","setItem","removeItem","e","DOMException","name","length","Set","key","value","Get","getItem","client","Auth0Client","domain","client_id","audience","cacheLocation","canUseAuth0","getConfig","config","redirect_uri","location","origin","data","Storage","parsedConfig","JSON","parse","init","advancedOptions","defaultScope","getToken","async","token","getTokenSilently","console","isAuthenticated","useInterval","callback","delay","savedCallback","useRef","useEffect","current","id","setInterval","clearInterval","useStyles","makeStyles","modalHeader","float","marginLeft","modalFooter","marginRight","modalPaper","Component","forwardRef","ref","classes","Modal","open","onClose","className","disableScrollLock","Paper","elevation","tabIndex","Grid","container","spacing","item","Typography","title","IconButton","size","onClick","onHelp","children","buttonsRight","buttonsLeft","defaultProps","buttonsLefts","drawerPaper","drawerButtons","channel","channelBar","channelItems","iconButtonLeft","paddingBottom","iconButtonRight","imageTitle","ImageButton","styled","ButtonBase","Image","position","ImageSrc","left","right","bottom","backgroundPosition","ImageAlt","ImageBackdrop","transition","transitions","create","ChannelButton","useTheme","state","color_active","focusRipple","Stack","direction","parseInt","backgroundImage","url","ChannelList","breakpointSmall","useMediaQuery","up","breakpointMedium","breakpointLarge","$pos","setPos","useState","$nChannels","setNChannels","$channels","setChannels","$addChannel","setAddChannel","channels","allChannels","channelid","onState","onMount","sort","a","b","aname","toUpperCase","bname","slice","states","map","thumbnail","handleAddChannelDialog","Fragment","SwipeableDrawer","anchor","onOpen","sx","marginButtom","BackdropProps","invisible","Dialog","Button","onAdd","TextField","fullWidth","onChange","event","target","channelids","Duration","fullSeconds","Math","floor","seconds","s","m","h","d","duration","toFixed","Logo","href","rel","src","company_logo","alt","Number","options","minimumFractionDigits","minDigits","maximumFractionDigits","digits","i18n","number","footer","textOverflow","warningIcon","subheader","Resources","$popover","setPopover","$resources","setResources","handlePopoverClose","Boolean","update","resources","system","mem_used","mem_used_bytes","mem_total_bytes","core","disk_used","disk_limit_bytes","disk_used_bytes","memfs_used","memfs_limit_bytes","memfs_used_bytes","net_used","net_limit_kbit","net_used_kbit","sessions","session_limit","session_used","cpu_used","noWrap","undefined","onMouseOver","currentTarget","Popover","anchorEl","disableRestoreFocus","anchorOrigin","vertical","horizontal","transformOrigin","PaperProps","onMouseLeave","isMobile","List","ListSubheader","ListItem","ListItemText","uptime_seconds","cpu_ncores","initVersion","initialVersion","arch","Footer","version","expand","logo","app","loadLocaleData","plurals","load","en","EN","de","DE","fr","FR","it","IT","pt","PT","es","ES","ru","RU","getBrowserLanguage","defaultLanguage","match","navigator","language","toLowerCase","activate","supportedLanguages","lang","indexOf","getLanguage","UI","bundle","borderButtom","LanguageSelect","useLingui","Select","displayEmpty","locale","MenuItem","other","media","CardMedia","image","header","aboutImage","colorHighlight","StyledMenu","Menu","AboutModal","ModalContent","welcomeImage","Link","Version","HeaderMenu","$anchorEl","setAnchorEl","$about","setAbout","handleMenuOpen","handleMenuClose","handleLanguageChange","Fab","onChannel","hasUpdates","hasService","component","ListItemIcon","Divider","showPlayersite","onPlayersite","showSettings","onSettings","onLogout","Header","Coder","settings","stream","newSettings","automatic","handleChange","mapping","coder","codec","type","hwaccel","summarize","defaults","isCustomOption","o","$value","setValue","isCustom","custom","v","customKey","push","allowCustom","FormControl","MenuProps","InputLabel","customLabel","Bitrate","bitrates","allowAuto","unshift","_","Layout","allowInherit","Sampling","initialState","bitrate","layout","sampling","createMapping","sampling_hz","what","Audio","Delay","GOP","Framerate","sizes","Profile","Size","Format","preset","fps","gop","profile","tune","round","Preset","Tune","Video","entropy","Entropy","level","rc","Level","RateControl","rc_mode","quality","Registry","constructor","this","services","Map","Register","set","get","GetCoderForCodec","availableCoders","includes","GetCodersForCodec","hwAcceleration","coders","Coders","Array","from","keys","audioRegistry","AudioCopy","AudioNone","AAC","AACAudioToolbox","MP3","Opus","Libopus","Vorbis","Libvorbis","videoRegistry","VideoCopy","VideoNone","X264","X265","H264VideoToolbox","H264NVENC","H264OMX","H264V4L2M2M","H264VAAPI","VP9","VideoRaw","defaultMetadata","playersite","defaultIngestMetadata","sources","profiles","streams","control","hls","lhls","segmentDuration","listSize","process","autostart","reconnect","staleTimeout","snapshot","enable","interval","player","meta","description","author","license","defaultEgressMetadata","outputs","getDefaultMetadata","stringify","getDefaultIngestMetadata","getDefaultEgressMetadata","initMetadata","initialMetadata","metadata","mergeMetadata","initIngestMetadata","mergeIngestMetadata","isArray","i","initSource","initProfile","initStream","initEgressMetadata","mergeEgressMetadata","initOutput","validateProfile","validVideo","video","source","index","inputs","validAudio","audio","complete","encoder","createInputsOutputs","source2inputMap","decoder","has","address","createOutputStreams","initialSource","initialProfile","initialStream","initialOutput","analyzeStreams","status","preselectProfile","encoders","preselectAudioProfile","isAudioPlausible","isVideoPlausible","cleanupSources","cleanupProfile","API","cache","_debug","message","_error","path","Date","now","ts","payload","res","_call","method","expect","headers","substring","Authorization","err","val","response","fetch","contentType","isJSON","ok","statusText","json","SetAddress","SetToken","username","password","_POST","refresh_token","_GET","_PUT","collectors","encodeURIComponent","join","_HEAD","pathPattern","_DELETE","linkto","_PATCH","reference","ids","filter","params","command","query","dateRegex","parseRFC3339Date","exec","parseFloat","year","month","day","hour","minute","second","msec","tzOffset","UTC","Restreamer","URL","protocol","host","api","listeners","_reset","valid","requiresLogin","connected","refresh","ignoreAPIErrors","about","_initAbout","skills","assets","refreshToken","updates","_checkForUpdates","initialAbout","created_at","auths","Reset","ID","CreatedAt","App","Name","Address","Auths","AddListener","listener","RemoveListener","splice","_dispatchEvent","severity","l","fn","args","apply","RefreshToken","Login","LoginWithToken","IgnoreAPIErrors","toggle","_getRefreshToken","_setRefreshToken","About","IsConnected","_init","_setAccessToken","access_token","Logout","clearTimeout","Compatibility","compatibility","compatible","have","want","ffmpeg","SemverSatisfies","_initConfig","_initSkills","_discoverChannels","_setTokenRefresh","expiresIn","setTimeout","claims","jwt_decode","exi","codecs","none","decoders","formats","demuxers","muxers","protocols","output","network","virtualaudio","virtualvideo","sinks","Skills","hwaccels","devices","format","device","extra","SkillsReload","Config","loaded_at","updated_at","ConfigSet","rtmp","enabled","secure","local","credentials","http","memfs","auth","hostname","overrides","splitHostPort","port","hostport","split","tls","http_host","http_port","enable_tls","re","RegExp","replace","rtmp_host","rtmp_port","memory","ConfigActive","ConfigReload","ConfigOverrides","_getMetadata","M","_setMetadata","Log","_getResources","GetHTTPAddresses","reIngest","reEgress","processes","_listProcesses","egresses","hasImported","p","matches","egressList","available","imported","egress","CreateChannel","SelectChannel","UpdatePlayer","GetIngestMetadata","SetIngestMetadata","uuidv4","GetChannel","StopAllEgresses","DeleteIngest","DeleteIngestSnapshot","egressid","DeleteEgress","delete","ListChannels","GetChannelPosterUrl","SetChannel","c","GetChannelEgress","SetChannelEgress","DeleteChannelEgress","GetCurrentChannelID","GetChannelManifestUrl","bitrate_kbit","ActiveSessions","bandwidth_tx_kbit","HasIngest","_getProcess","_getProcessMetadata","_setProcessMetadata","_getProgressFromState","_getProcessState","_getProcessLog","GetDebug","GetIngestAddresses","GetIngestIframeCodes","addresses","codes","GetIngestManifestUrl","GetIngestPosterUrl","GetIngestPosterUrlAddresses","poster","_startProcess","_stopProcess","_deleteProcess","proc","reconnect_delay_seconds","stale_timeout_seconds","cleanup","pattern","max_files","max_file_age_seconds","purge_on_delete","metadata_options","_upsertProcess","MemFSHasFile","ProcessAdd","ProcessProbe","InitPlayerSettings","initSettings","autoplay","mute","statistics","ga","seekbar","buttons","account","link","playerType","_updatePlayerEssentials","templateData","author_name","author_url","iframecode","poster_url","_getLocalAssetAsString","Handlebars","compile","_uploadAssetData","embed","UpdatePlayerConfig","playerConfig","extension","InitPlayersiteSettings","share","support","template","templatename","textcolor_title","textcolor_default","textcolor_link","textcolor_link_hover","bgcolor_default","bgcolor_selected","bgcolor_unselected","bgcolor_header","hrcolor","bgimage_url","inject1","inject2","inject3","inject4","imprint","terms","GetPlayersiteUrl","_hasAsset","GetMetadata","_removePlayersiteEssentials","_updatePlayersiteEssentials","registerHelper","arg1","arg2","inverse","ingestMetadata","imprint_html","terms_html","channel_id","channel_name","channel_description","channel_description_html","channel_creator_name","channel_creator_description","channel_creator_description_html","channel_license","channel_poster","channel_width","channel_height","GetPlayersiteTemplate","_deleteAsset","_getAssetAsString","templates","_listAssets","t","GetEgressId","UpdateEgress","astring","bstring","processid","_getAboutDebug","_getConfigDebug","_getProcessDebug","IsExpert","SetExpert","CheckForUpdates","SetCheckForUpdates","HasUpdates","HasService","app_version","latest_version","findVersion","currentVersion","announcedVersion","SemverGt","serviceVersion","service_version","SemverGte","SetMetadata","Processes","_sanitizeProcess","Process","progress","report","ProcessConfig","ProcessState","ProcessReport","regex","replaceAll","last_logline","prelude","log","history","ProcessCommand","ProcessUpdate","ProcessDelete","ProcessSetMetadata","ProcessGetMetadata","files","file","_uploadLocalAsset","_updatePublicEssentials","localPath","_getLocalAsset","blob","remotePath","DataPutFile","DataDeleteFile","DataHasFile","DataGetFile","remotePathPattern","DataListFiles","f","startsWith","jwt","secret","auth0","tenants","access","allow","block","https","cors","origins","ip_ignorelist","order","time","speed","q","frames","drop","dup","runtime_seconds","reconnect_seconds","Metrics","metrics","getValue","metric","labels","loop","getMetrics","collector","createSourcesFromStreams","inpts","outpts","out","validateRequirements","requires","checkServiceRequirements","hasOne","conflateServiceSkills","serviceSkills","isPlausible","AudioDefault","VideoDefault","VideoToolbox","NVDEC","H264MMAL","H264CUVID","HEVCCUVID","MJPEGCUVID","MPEG1CUVID","MPEG2CUVID","MPEG2MMAL","MPEG4CUVID","MPEG4MMAL","VC1CUVID","VC1MMAL","VP8CUVID","VP9CUVID","topics","Help","topic","warn","getTopicURL","EncodingSelect","handleDecoderSettingsChange","handleEncoderSettingsChange","allowCopy","encoderRegistry","decoderRegistry","Encoders","Decoders","encoderSettings","encoderSettingsHelp","availableEncoders","Settings","preventDefault","H","encoderList","decoderSettings","decoderList","availableDecoders","PaperM","PaperL","PaperService","ld","onAbort","onEdit","pirmary","checked","FormControlLabel","Checkbox","Control","defaulProps","stream_key_link","image_copyright","creator","maintainer","category","ServiceIcon","Service","stream_url","backup_url","address_extensions","enable_backup_stream","flashver","live","pubUser","pubPasswd","playpath","createOutput","readOnly","placeholder","stream_name","stream_key","required","base_url","app_path","rtmp_token","server","backup_server","enable_backup_server","output_0","output_1","labelSmall","HtmlTooltip","withStyles","Tooltip","placement","Chip","Password","$visible","setVisible","show","handleClickShowPassword","handleMouseDownPassword","adornment","InputAdornment","edge","env","onMouseDown","htmlFor","OutlinedInput","endAdornment","autoComplete","helperText","FormHelperText","faTools","seg_duration","frag_duration","frag_type","window_size","extra_window_size","remove_at_exit","use_template","use_timeline","single_file","single_file_name","init_seg_name","media_seg_name","utc_timing_url","http_user_agent","http_persistent","hls_playlist","streaming","adaptation_sets","timeout","index_correction","format_options","global_sidx","dash_segment_type","ignore_io_errors","ldash","write_prft","mpd_profile","http_opts","target_latency","min_playback_rate","max_playback_rate","update_period","String","urlparser","toString","Accordion","AccordionSummary","expandIcon","AccordionDetails","min","step","faFacebook","stream_key_primary","stream_key_backup","rtmp_primary","rtmp_backup","output_primary","output_backup","pix_fmt","fbdev","videoDevices","multiple","renderValue","hls_init_time","hls_time","hls_list_size","hls_delete_threshold","hls_ts_options","hls_start_number_source","start_number","hls_allow_cache","hls_base_url","hls_segment_filename","strftime_mkdir","hls_key_info_file","hls_enc","hls_enc_key","hls_enc_key_url","hls_enc_iv","hls_segment_type","hls_fmp4_init_filename","hls_fmp4_init_resend","hls_flags","hls_playlist_type","var_stream_map","master_pl_name","master_pl_publish_rate","MultiSelectOption","ice_genre","ice_name","ice_description","ice_url","ice_public","user_agent","legacy_icecast","hasVideo","audioCodec","multiline","rows","frame_pts","strftime","faInstagram","vpu_id","livesource_id","service_provider","service_name","mpegts_transport_stream_id","mpegts_original_network_id","mpegts_service_id","mpegts_service_type","mpegts_service_type_hex_value","mpegts_pmt_start_pid","mpegts_start_pid","mpegts_m2ts_mode","muxrate","pes_payload_size","mpegts_flags","mpegts_copyts","omit_video_pes_length","pcr_period","pat_period","sdt_period","tables_version","application","region","cs","rtmp_app","rtmp_playpath","rtmp_pageurl","rtmp_tcurl","rtmp_conn","rtmp_flashver","rtmp_flush_interval","rtmp_swfhash","rtmp_swfsize","rtsp_transport","rtsp_flags","allowed_media_types","reorder_queue_size","muxdelay","max_delay","connect_timeout","ffs","inputbw","iptos","ipttl","latency","listen_timeout","maxbw","mode","mss","nakreport","oheadbw","payload_size","send_buffer_size","tlpktdrop","sndbuf","rcvbuf","lossmaxttl","smoother","streamid","transtype","passphrase","enforced_encryption","kmrefreshrate","kmpreannounce","pbkeylen","max","faTwitch","faTwitter","allowRTMPS","buffer_size","burst_bits","localport","localaddr","pkt_size","ttl","fifo_size","overrun_nonfatal","broadcast","faVimeoV","rtsp_over_udp","faYoutube","backup","allowHLS","registry","IDs","Facebook","Youtube","Twitter","Twitch","Instagram","Vimeo","Restream","Livespotting","Brightcove","Akamai","DaCast","CDN77","Core","WOWZA","Red5","Icecast","Image2","RTSP","RTMP","HLS","DASH","SRT","UDP","MPEGTS","Framebuffer","TabPanel","role","hidden","Box","grid","flexGrow","buttonAbort","gridContainer","serviceDescription","serviceIcon","buttonGroup","Add","breakpointUpSm","navigate","useNavigate","_channelid","useParams","notify","useContext","$service","setService","$settings","setSettings","$sources","setSources","$filter","setFilter","$tab","setTab","$skills","setSkills","$metadata","setMetadata","$saving","setSaving","restreamer","ingest","helper","handleServiceSelect","Services","handleProcessing","handleAbort","serviceList","ServiceControl","Icon","align","PaperHeader","ToggleButtonGroup","exclusive","ToggleButton","Tabs","orientation","Tab","PaperFooter","CreateEgress","SetEgressMetadata","Backdrop","CircularProgress","boxGray","License","reVersion","trim","cc_zero","cc_by","cc_by_sa","cc_by_nc","cc_by_nc_sa","cc_by_nd","cc_by_nc_nd","box","tabs","scrollButtons","allowScrollButtonsMobile","success","danger","$modal","setModal","textAreaRef","createRef","scrollTo","handleModal","writeText","promise","then","catch","scrollTop","scrollHeight","allowModal","allowDownload","downloadName","textAreaDivStyle","textAreaStyle","actionButton","Palette","clipboard","document","execCommand","setSelectionRange","element","createElement","setAttribute","appendChild","click","removeChild","Textarea","initialSettings","createInputs","Source","knownDevices","startIcon","onRefresh","onProbe","SourceIcon","capabilities","ffversion","func","aindex","vindex","framerate","cursor","clicks","filteredDevices","audioDevices","rtsp","general","udp","stimeout","readNative","forceFramerate","userAgent","fflags","thread_queue_size","initConfig","initialConfig","initSkills","initialSkills","ffmpeg_version","getLocalHLS","getLocalRTMP","getProtocolClass","addUsernamePassword","isAuthProtocol","getProtocol","test","getRTMPAddress","getRTMP","getHLSAddress","getHLS","isValidURL","Pull","protocolClass","authProtocol","Push","PushRTMP","PushHLS","HLSs","form","RTMPs","section","handleProbe","deviceCustom","faRaspberryPi","faUsb","frequency","beepfactor","amplitude","rule","scale","ratio","mold","death_color","life_color","flags","Network","ALSA","AVFoundation","Video4Linux","Raspicam","VirtualAudio","VirtualVideo","NoAudio","VideoAudio","Sources","reducer","SourceSelect","$source","setSource","useReducer","handleRefresh","sourceControl","availableSources","onSelect","handleSource","StreamSelect","streamList","$profile","setProfile","$videoProbe","setVideoProbe","probing","$audioProbe","setAudioProbe","$skillsRefresh","setSkillsRefresh","$activeStep","setActiveStep","startWith","$ready","setReady","noaudio","hasAudio","videoaudio","handleEncoding","handleSourceSettingsChange","handleStreamSelect","prevActiveStep","onDone","Probe","Summary","encodingSummary","showEncoding","IconWizard","IconEdit","allowNone","edit","ProfileSummary","handleEdit","handleWizard","onWizard","wizardButtonElement","wizardButton","inlineIcon","Edit","_tab","$state","setState","editing","saving","$data","setData","$config","setConfig","$process","setProcess","$deleteDialog","setDeleteDialog","$editDialog","setEditDialog","GetIngestProgress","handleSourceEditDialog","handleSourceEdit","handleSourceEditDialogAbort","handleControlChange","handleChannelDeleteDialog","sourceThumb","RefreshSkills","UpsertIngest","save","stopped","StopIngest","StopIngestSnapshot","DeleteChannel","Clappr","Loader","registerPlayback","plugin","Object","Plugins","registerPlugin","Player","super","playerRef","componentDidMount","attachTo","componentWillUnmount","destroy","shouldComponentUpdate","nextProps","parent","parentid","plugins","configure","render","VideoJS","videoRef","onReady","videoElement","videojs","addClass","dispose","controls","playsInline","muted","liveui","responsive","fluid","overlay","imgTag","onLoad","random","aTag","outerHTML","overlays","showBackground","start","end","play","autoPlay","disableCanAutoPlay","playback","playInline","hlsjsConfig","enableWorker","chromeless","mediacontrol","colors","watermark","watermarkLink","gaAccount","gaTrackerName","clapprStats","runEach","onReport","clapprNerdStats","shortcut","iconPosition","CopyToClipboard","writeTextDeprecated","inputprops","playerL1","playerL2","playerL3","logoImageTypes","mimetype","maxSize","logoAcceptString","iframeCodes","manifest","$player","$revision","setRevision","$error","setError","mount","GetIngest","showUploadError","hideUploadError","accept","types","reader","FileReader","readAsArrayBuffer","onloadend","result","UploadLogo","handler","gaName","ActionButton","onDisconnect","onReconnect","onConnect","Progress","gutterBottom","isNaN","handleAction","action","onAction","frame","banner","logging","formatLogline","entry","line","logdata","initLogdata","_service","_index","$progress","setProgress","$processDetails","setProcessDetails","processLogTimer","$processDebug","setProcessDebug","$unsavedChanges","setUnsavedChanges","$serviceSkills","setServiceSkills","GetEgress","isFirst","GetEgressMetadata","handleServiceDeleteDialog","handleHelp","handleProcessDetails","GetEgressLog","updateProcessDetailsLog","handleProcessDebug","debug","GetEgressDebug","StartEgress","StopEgress","Debug","Invalid","$mixed","isProbablyMixedContent","reload","PaperContent","mt","Incompatible","hasAuthType","$auths","kv","domaina","domainb","$login","setLogin","showPassword","$auth0","setAuth0","$isAuthenticated","setIsAuthenticated","$canUseAuth0","$loginTarget","setLoginTarget","$loginCheck","setLoginCheck","auth0auths","noValidate","onLogin","redirect","queryString","n","queryParams","search","loginWithRedirect","hash","onAuth0","CopyButton","endIcon","uptime","valueStyle","divStyle","uptimeStyle","bitrateStyle","fpsStyle","egressBar","paddingButton","Egress","$order","setOrder","Switch","onOrder","viewerCount","vierwerDescription","vierwerTypo","bandwidth","bandwidthCount","bandwidthDescription","bandwidthIcon","Publication","$egresses","setEgresses","$session","setSession","viewer","ListIngestEgresses","CurrentSessions","handleServiceEdit","handleOrderChange","Welcome","gridContainerL1","gridContainerL2","playerWarningIcon","Main","ready","StartIngestSnapshot","connect","StartIngest","disconnect","disconnectEgresses","GetIngestLog","GetIngestDebug","generatePassword","characters","charAt","ResetPassword","passwordConfirm","memorized","$restart","setRestart","restarting","invalid","onReset","LinearProgress","ColorPicker","$open","setOpen","r","g","hexToRGBA","buttonOpen","imageTypes","imageAcceptString","templateTypes","templateAcceptString","Playersite","playersiteUrl","$ingest","setIngest","$available","setAvailable","$templates","setTemplates","ListPlayersiteTemplates","HasPlayersite","playerSiteThumb","DeletePlayersiteTemplate","UploadPlayersiteTemplate","UploadPlayersiteBackgroundImage","UpdatePlayersite","inlineEnv","configValues","update_check","unset","validate","max_lines","auto","toArray","max_history","allow_all","disk","max_size_mbytes","ttl_seconds","max_file_size_mbytes","purge","session_timeout_sec","persist","max_bitrate_mbit","max_sessions","ErrorTab","errors","ErrorBox","configvalue","separator","toInt","modified","outdated","$expert","setExpert","$updates","setUpdates","$tabs","setTabs","$logdata","setLogdata","logTimer","$reloadKey","setReloadKey","$dialogs","setDialogs","restart","saved","changes","toISOString","updateLogdata","handleSavedDialog","handleReloadDialog","handleReload","waitFor","ms","Promise","resolve","restarted","retries","currentKey","createdAt","Validate","settingsImage","ucfirst","string","errorfield","S","initDevices","initialDevices","found","InternalRTMP","V4L","AddService","EditPlayer","EditService","$step","setStep","$sourceid","setSourceid","$probe","setProbe","$abort","setAbort","probe","handleAdvanced","handleNext","handleBack","sourceid","knownSources","refreshSkills","videoprofile","audioprofile","fullSource","FullSources","handleStreamChange","handleEncoderChange","handleDecoderChange","isCompatible","decodersList","encodersList","handleAudioStreamChange","handleAudioDeviceChange","handleStream","deviceList","radioValue","RadioGroup","row","Radio","handleMetadataChange","handleDone","handleLicenseChange","nchannels","Router","to","MainHeader","MainContent","RestreamerUI","initialized","$snack","setSnack","$channelList","setChannelList","handleMount","handleLogout","urlParams","URLSearchParams","handleRedirectCallback","pathname","handleLogin","handleAuth0","logout","returnTo","localOnly","handlePasswordReset","handleChannelList","handleCloseSnack","handleResources","view","Snackbar","autoHideDuration","Alert","ListProcesses","ReactDOM","StyledEngineProvider","injectFirst","ThemeProvider","CssBaseline","getElementById"],"mappings":"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","file":"static/js/main.55e0f105.chunk.js","sourcesContent":["/*eslint-disable*/module.exports={messages:{\"<0>Compatibility list\":\"<0>Compatibility list\",\"<0>Show probe details\":\"<0>Show probe details\",\"ALSA\":\"ALSA\",\"API endpoint not found. Settings not saved.\":\"API endpoint not found. Settings not saved.\",\"AVFoundation\":\"AVFoundation\",\"Abort\":\"Abort\",\"About\":\"About\",\"Add\":\"Add\",\"Add Publication\":\"Add Publication\",\"Add external widgets and styles to the publication site. You can find some examples on the help page.\":\"Add external widgets and styles to the publication site. You can find some examples on the help page.\",\"Add new channel\":\"Add new channel\",\"Add: {0}\":[\"Add: \",[\"0\"]],\"Address\":\"Address\",\"Address for the background image.\":\"Address for the background image.\",\"Address to listen on for HTTP requests.\":\"Address to listen on for HTTP requests.\",\"Address to listen on for HTTPS requests.\":\"Address to listen on for HTTPS requests.\",\"Adjust publication site colors and background as you like.\":\"Adjust publication site colors and background as you like.\",\"Advanced monitoring\":\"Advanced monitoring\",\"Advanced settings\":\"Advanced settings\",\"Advanced setup\":\"Advanced setup\",\"Alerting by email\":\"Alerting by email\",\"All\":\"All\",\"All important system settings.\":\"All important system settings.\",\"Allow all referrer\":\"Allow all referrer\",\"Allow counting how many viewers the stream has.\":\"Allow counting how many viewers the stream has.\",\"Amplitude\":\"Amplitude\",\"An environment variable sets this value.\":\"An environment variable sets this value.\",\"App\":\"App\",\"Application\":\"Application\",\"Are you sure you want to abort the wizard?\":\"Are you sure you want to abort the wizard?\",\"Audio\":\"Audio\",\"Audio Device\":\"Audio Device\",\"Audio device\":\"Audio device\",\"Audio from device\":\"Audio from device\",\"Audio settings\":\"Audio settings\",\"Audio setup\":\"Audio setup\",\"Auth0\":\"Auth0\",\"Auth0 Tenant\":\"Auth0 Tenant\",\"Auth0 is currently not available because this interface is loaded from an insecure origin.\":\"Auth0 is currently not available because this interface is loaded from an insecure origin.\",\"Author\":\"Author\",\"Authorization\":\"Authorization\",\"Automatic cleanup of all media data\":\"Automatic cleanup of all media data\",\"Autoplay\":\"Autoplay\",\"Available\":\"Available\",\"Back\":\"Back\",\"Background colors\":\"Background colors\",\"Background image\":\"Background image\",\"Backup URL\":\"Backup URL\",\"Backup server\":\"Backup server\",\"Backup stream\":\"Backup stream\",\"Backup stream key\":\"Backup stream key\",\"Bandwidth\":\"Bandwidth\",\"Bandwidth control\":\"Bandwidth control\",\"Banner\":\"Banner\",\"Basic\":\"Basic\",\"Beep factor\":\"Beep factor\",\"Bitrate\":\"Bitrate\",\"Briefly describe what the audience will see during the live stream.\":\"Briefly describe what the audience will see during the live stream.\",\"Button color\":\"Button color\",\"Cache for files on /data.\":\"Cache for files on /data.\",\"Cache time (Seconds)\":\"Cache time (Seconds)\",\"Cache types\":\"Cache types\",\"Capture clicks\":\"Capture clicks\",\"Capture cursor\":\"Capture cursor\",\"Channel \\\"{0}\\\" saved\":[\"Channel \\\"\",[\"0\"],\"\\\" saved\"],\"Channels\":\"Channels\",\"Check for updates\":\"Check for updates\",\"Check the requirements\":\"Check the requirements\",\"Choose a video stream\":\"Choose a video stream\",\"Choose an audio stream\":\"Choose an audio stream\",\"Choose an input device ...\":\"Choose an input device ...\",\"Choose codec ...\":\"Choose codec ...\",\"Choose tenant ...\":\"Choose tenant ...\",\"Chunk\":\"Chunk\",\"Close\":\"Close\",\"Code injection\":\"Code injection\",\"Codec\":\"Codec\",\"Color\":\"Color\",\"Config\":\"Config\",\"Confirm password\":\"Confirm password\",\"Connect\":\"Connect\",\"Connected device\":\"Connected device\",\"Connected since <0/>\":\"Connected since <0/>\",\"Connecting ...\":\"Connecting ...\",\"Connecting to Restreamer Core ...\":\"Connecting to Restreamer Core ...\",\"Connecting to Restreamer Core failed probably because of mixed content.\":\"Connecting to Restreamer Core failed probably because of mixed content.\",\"Content\":\"Content\",\"Content URL\":\"Content URL\",\"Cores\":\"Cores\",\"Create user\":\"Create user\",\"Creative Commons\":\"Creative Commons\",\"Custom ...\":\"Custom ...\",\"Custom JSON config for datarhei Core.\":\"Custom JSON config for datarhei Core.\",\"Custom audio device\":\"Custom audio device\",\"Custom audio index\":\"Custom audio index\",\"Custom bitrate (kbit/s)\":\"Custom bitrate (kbit/s)\",\"Custom code injection\":\"Custom code injection\",\"Custom delay\":\"Custom delay\",\"Custom device\":\"Custom device\",\"Custom format\":\"Custom format\",\"Custom framerate\":\"Custom framerate\",\"Custom keyframe interval\":\"Custom keyframe interval\",\"Custom layout\":\"Custom layout\",\"Custom sampling (Hz)\":\"Custom sampling (Hz)\",\"Custom scale\":\"Custom scale\",\"Custom size\":\"Custom size\",\"Custom video device\":\"Custom video device\",\"Custom video index\":\"Custom video index\",\"Data copied to clipboard\":\"Data copied to clipboard\",\"Death color\":\"Death color\",\"Decoder\":\"Decoder\",\"Default\":\"Default\",\"Delay\":\"Delay\",\"Delay (ms)\":\"Delay (ms)\",\"Delete\":\"Delete\",\"Deleting a publication service cannot be reversed. The publication stops immediately.\":\"Deleting a publication service cannot be reversed. The publication stops immediately.\",\"Delivering mode\":\"Delivering mode\",\"Description\":\"Description\",\"Design\":\"Design\",\"Device\":\"Device\",\"Disconnect\":\"Disconnect\",\"Disconnect & Continue\":\"Disconnect & Continue\",\"Disconnecting ...\":\"Disconnecting ...\",\"Disk\":\"Disk\",\"Disk cache\":\"Disk cache\",\"Disk storage\":\"Disk storage\",\"Do you really want to restart the application now?\":\"Do you really want to restart the application now?\",\"Do you want to delete \\\"{0}\\\"?\":[\"Do you want to delete \\\"\",[\"0\"],\"\\\"?\"],\"Do you want to delete {title}?\":[\"Do you want to delete \",[\"title\"],\"?\"],\"Do you want to disconnect \\\"{0}\\\"?\":[\"Do you want to disconnect \\\"\",[\"0\"],\"\\\"?\"],\"Docs\":\"Docs\",\"Documentation\":\"Documentation\",\"Dup. frames\":\"Dup. frames\",\"EDIT: Player\":\"EDIT: Player\",\"EDIT: Publication Website\":\"EDIT: Publication Website\",\"Edit\":\"Edit\",\"Edit the audio and video sources for the live stream. Add a description, and set your desired content license.\":\"Edit the audio and video sources for the live stream. Add a description, and set your desired content license.\",\"Edit: {title}\":[\"Edit: \",[\"title\"]],\"Embed\":\"Embed\",\"Enable RTMP server ...\":\"Enable RTMP server ...\",\"Enable a periodic beep every second with this value times the carrier frequency\":\"Enable a periodic beep every second with this value times the carrier frequency\",\"Enable backup stream\":\"Enable backup stream\",\"Enable nerd statistics\":\"Enable nerd statistics\",\"Enable primary stream\":\"Enable primary stream\",\"Enable snapshots\":\"Enable snapshots\",\"Enabling authorization is strongly advised. Otherwise, anybody can access this instance.\":\"Enabling authorization is strongly advised. Otherwise, anybody can access this instance.\",\"Enabling basic auth is strongly advised. Otherwise, anybody could write data to /memfs.\":\"Enabling basic auth is strongly advised. Otherwise, anybody could write data to /memfs.\",\"Encoder\":\"Encoder\",\"Encoding\":\"Encoding\",\"Encryption\":\"Encryption\",\"Enter a name for the new channel.\":\"Enter a name for the new channel.\",\"Enter password\":\"Enter password\",\"Enter the address of your network source:\":\"Enter the address of your network source:\",\"Enter username\":\"Enter username\",\"Entropy coder\":\"Entropy coder\",\"Error\":\"Error\",\"Error while copying data to clipboard\":\"Error while copying data to clipboard\",\"Error: {0}\":[\"Error: \",[\"0\"]],\"Expands the area above the channel list (live chat).\":\"Expands the area above the channel list (live chat).\",\"Expands the area under the channel description (comment boxes).\":\"Expands the area under the channel description (comment boxes).\",\"Expert mode\":\"Expert mode\",\"Extend channel list\":\"Extend channel list\",\"Extend content\":\"Extend content\",\"Extend footer\":\"Extend footer\",\"Extend header\":\"Extend header\",\"FFmpeg\":\"FFmpeg\",\"FPS\":\"FPS\",\"Failed to create publication service ({0})\":[\"Failed to create publication service (\",[\"0\"],\")\"],\"Failed to create publication website files.\":\"Failed to create publication website files.\",\"Failed to probe the source. Please check the <0>probe details.\":\"Failed to probe the source. Please check the <0>probe details.\",\"Failed to refresh token: {0}\":[\"Failed to refresh token: \",[\"0\"]],\"Failed to save ingest metadata\":\"Failed to save ingest metadata\",\"Failed to stop process\":\"Failed to stop process\",\"Failed to store player size setting.\":\"Failed to store player size setting.\",\"Failed to store publication service ({0})\":[\"Failed to store publication service (\",[\"0\"],\")\"],\"Failed to update ingest process ({0})\":[\"Failed to update ingest process (\",[\"0\"],\")\"],\"Failed to update the player\":\"Failed to update the player\",\"Failed to verify the source. Please check the address.\":\"Failed to verify the source. Please check the address.\",\"Finish\":\"Finish\",\"Flags\":\"Flags\",\"For Javascripts.\":\"For Javascripts.\",\"For Stylesheets.\":\"For Stylesheets.\",\"Force input framerate\":\"Force input framerate\",\"Format\":\"Format\",\"Frame drops\":\"Frame drops\",\"Framebuffer\":\"Framebuffer\",\"Framerate\":\"Framerate\",\"Frequency (Hz)\":\"Frequency (Hz)\",\"GET\":\"GET\",\"General\":\"General\",\"Google Analytics ID\":\"Google Analytics ID\",\"Google Analytics Tracker Name\":\"Google Analytics Tracker Name\",\"HLS\":\"HLS\",\"HLS statistic for the In-memory storage\":\"HLS statistic for the In-memory storage\",\"HTTP and HTTPS\":\"HTTP and HTTPS\",\"HTTP port\":\"HTTP port\",\"HTTPS (SSL/TLS)\":\"HTTPS (SSL/TLS)\",\"HTTPS port\":\"HTTPS port\",\"Hardware device\":\"Hardware device\",\"Header\":\"Header\",\"Headline\":\"Headline\",\"Hosted Restreamer interface\":\"Hosted Restreamer interface\",\"Human readable name on the service.\":\"Human readable name on the service.\",\"IP address\":\"IP address\",\"If you changed the ports, it might be that Restreamer Core restarted already, but it is now available on a different port.\":\"If you changed the ports, it might be that Restreamer Core restarted already, but it is now available on a different port.\",\"If you enabled Let's Encrypt TLS it might take some time to acquire the certificates. Make sure that Restreamer Core is reachable via port 80 from the internet. Please check the console log of Restreamer Core.\":\"If you enabled Let's Encrypt TLS it might take some time to acquire the certificates. Make sure that Restreamer Core is reachable via port 80 from the internet. Please check the console log of Restreamer Core.\",\"Ignore IP ranges\":\"Ignore IP ranges\",\"Image URL\":\"Image URL\",\"Imprint\":\"Imprint\",\"In addition to the player, the Restreamer offers a complete landingpage, which you can use to present your live stream easily and quickly.\":\"In addition to the player, the Restreamer offers a complete landingpage, which you can use to present your live stream easily and quickly.\",\"In-memory\":\"In-memory\",\"In-memory storage\":\"In-memory storage\",\"Incompatible\":\"Incompatible\",\"Inherit\":\"Inherit\",\"Inject 1\":\"Inject 1\",\"Inject 2\":\"Inject 2\",\"Inject 3\":\"Inject 3\",\"Inject 4\":\"Inject 4\",\"Internal HLS server\":\"Internal HLS server\",\"Internal RTMP server\":\"Internal RTMP server\",\"Interval (seconds)\":\"Interval (seconds)\",\"Issue alert\":\"Issue alert\",\"Keyframe interval (seconds)\":\"Keyframe interval (seconds)\",\"Layout\":\"Layout\",\"Let's Encrypt certification\":\"Let's Encrypt certification\",\"Let's Encrypt requires one or more public domain names and an accessible port 80/TCP.\":\"Let's Encrypt requires one or more public domain names and an accessible port 80/TCP.\",\"Level\":\"Level\",\"Level of system protocol.\":\"Level of system protocol.\",\"License\":\"License\",\"Life color\":\"Life color\",\"Linecolor\":\"Linecolor\",\"Link\":\"Link\",\"Link, mouseover\":\"Link, mouseover\",\"List of IP ranges in CIDR notation, e.g., 127.0.0.1/32, that the statistics will not record—one IP range per line. Leave empty to record all sessions.\":\"List of IP ranges in CIDR notation, e.g., 127.0.0.1/32, that the statistics will not record—one IP range per line. Leave empty to record all sessions.\",\"List of file extensions to cache (e.g. \\\".html\\\"), one per line. Leave empty to cache all file types.\":\"List of file extensions to cache (e.g. \\\".html\\\"), one per line. Leave empty to cache all file types.\",\"List size (segments)\":\"List size (segments)\",\"Live-Streaming to Facebook Live RTMP service\":\"Live-Streaming to Facebook Live RTMP service\",\"Live-Streaming to Instagram Live RTMP Service. The stream key requires a service such as <0>Yellow Duck.\":\"Live-Streaming to Instagram Live RTMP Service. The stream key requires a service such as <0>Yellow Duck.\",\"Live-Streaming to Twitch Live RTMP Service.\":\"Live-Streaming to Twitch Live RTMP Service.\",\"Live-Streaming to Vimeo Live RTMP Service\":\"Live-Streaming to Vimeo Live RTMP Service\",\"Livesource ID\":\"Livesource ID\",\"Log level\":\"Log level\",\"Logging\":\"Logging\",\"Login\":\"Login\",\"Login failed: Couldn't load API details\":\"Login failed: Couldn't load API details\",\"Login failed: {0}\":[\"Login failed: \",[\"0\"]],\"Login/JWT authorization\":\"Login/JWT authorization\",\"Logo\":\"Logo\",\"Logout\":\"Logout\",\"MB\":\"MB\",\"Main Source\":\"Main Source\",\"Main channel\":\"Main channel\",\"Main channel not found\":\"Main channel not found\",\"Main channel saved\":\"Main channel saved\",\"Main page channel (index.html).\":\"Main page channel (index.html).\",\"Maintainer:\":\"Maintainer:\",\"Maximum allowed cache size, 0 for unlimited.\":\"Maximum allowed cache size, 0 for unlimited.\",\"Maximum allowed megabytes of RAM for /memfs, 0 for unlimited.\":\"Maximum allowed megabytes of RAM for /memfs, 0 for unlimited.\",\"Maximum allowed megabytes to consume from hard disk. 0 for unlimited.\":\"Maximum allowed megabytes to consume from hard disk. 0 for unlimited.\",\"Maximum bandwidth Mbit/s\":\"Maximum bandwidth Mbit/s\",\"Maximum delay in milliseconds.\":\"Maximum delay in milliseconds.\",\"Maximum file size (Megabytes)\":\"Maximum file size (Megabytes)\",\"Maximum file size to put in cache.\":\"Maximum file size to put in cache.\",\"Maximum log histroy\":\"Maximum log histroy\",\"Maximum log lines\":\"Maximum log lines\",\"Maximum size (Megabytes)\":\"Maximum size (Megabytes)\",\"Maximum viewer idle time (Seconds)\":\"Maximum viewer idle time (Seconds)\",\"Maximum viewers\":\"Maximum viewers\",\"Memory\":\"Memory\",\"Meta information\":\"Meta information\",\"Metadata\":\"Metadata\",\"Mold\":\"Mold\",\"More about Twitter's copyright <0>here.\":\"More about Twitter's copyright <0>here.\",\"More about YouTube's copyright <0>here.\":\"More about YouTube's copyright <0>here.\",\"More about licenses here\":\"More about licenses here\",\"More about the service\":\"More about the service\",\"Mute\":\"Mute\",\"Name\":\"Name\",\"Name for the template. If the name already exists, it will be overwritten.\":\"Name for the template. If the name already exists, it will be overwritten.\",\"Network\":\"Network\",\"Network source\":\"Network source\",\"Next\":\"Next\",\"Next: Audio\":\"Next: Audio\",\"Next: Video setup\":\"Next: Video setup\",\"No\":\"No\",\"No audio\":\"No audio\",\"No audio stream available\":\"No audio stream available\",\"No input device available\":\"No input device available\",\"No live stream was detected. Please check the software that sends the stream.\":\"No live stream was detected. Please check the software that sends the stream.\",\"No source selected\":\"No source selected\",\"No sources available\":\"No sources available\",\"No suitable encoder found.\":\"No suitable encoder found.\",\"No video\":\"No video\",\"No video stream available\":\"No video stream available\",\"Node ID\":\"Node ID\",\"Noise\":\"Noise\",\"None\":\"None\",\"Notes\":\"Notes\",\"Number of log lines to keep.\":\"Number of log lines to keep.\",\"Number of logs to keep for each process.\":\"Number of logs to keep for each process.\",\"OK\":\"OK\",\"One referrer per line, e.g. http://www.example.com\":\"One referrer per line, e.g. http://www.example.com\",\"Open\":\"Open\",\"Passthrough (copy) should only be disabled if necessary. Each encoding requires additional CPU/GPU resources.\":\"Passthrough (copy) should only be disabled if necessary. Each encoding requires additional CPU/GPU resources.\",\"Password\":\"Password\",\"Password for authorization.\":\"Password for authorization.\",\"Password for the device.\":\"Password for the device.\",\"Persist viewer statistics\":\"Persist viewer statistics\",\"Pixel format\":\"Pixel format\",\"Plan: <0>Starter\":\"Plan: <0>Starter\",\"Platforms\":\"Platforms\",\"Playback\":\"Playback\",\"Player\":\"Player\",\"Player URL\":\"Player URL\",\"Player settings saved\":\"Player settings saved\",\"Playersite\":\"Playersite\",\"Playlist\":\"Playlist\",\"Please check the <0>process log\":\"Please check the <0>process log\",\"Please contact the operator of the service and check what happens.\":\"Please contact the operator of the service and check what happens.\",\"Please select a file to upload.\":\"Please select a file to upload.\",\"Please use \\\"Passthrough (copy)\\\" if possible. Encoding requires additional CPU/GPU resources.\":\"Please use \\\"Passthrough (copy)\\\" if possible. Encoding requires additional CPU/GPU resources.\",\"Please wait. Probe stream data ...\":\"Please wait. Probe stream data ...\",\"Please wait. Setting up the stream ...\":\"Please wait. Setting up the stream ...\",\"Port\":\"Port\",\"Position\":\"Position\",\"Preset\":\"Preset\",\"Primary stream\":\"Primary stream\",\"Primary stream key\":\"Primary stream key\",\"Probe\":\"Probe\",\"Process\":\"Process\",\"Process control\":\"Process control\",\"Process debug\":\"Process debug\",\"Process debug report\":\"Process debug report\",\"Process details\":\"Process details\",\"Process report\":\"Process report\",\"Processing & Control\":\"Processing & Control\",\"Profile\":\"Profile\",\"Protocol\":\"Protocol\",\"Protocols\":\"Protocols\",\"Public domain/s\":\"Public domain/s\",\"Publication service not found\":\"Publication service not found\",\"Publication website settings saved\":\"Publication website settings saved\",\"Publications\":\"Publications\",\"Pull Mode\":\"Pull Mode\",\"Pull or recieve the data:\":\"Pull or recieve the data:\",\"Quality\":\"Quality\",\"RGB test pattern\":\"RGB test pattern\",\"RTMP app for publishing.\":\"RTMP app for publishing.\",\"RTMP server\":\"RTMP server\",\"RTMP server is not enabled\":\"RTMP server is not enabled\",\"RTMP server listen address.\":\"RTMP server listen address.\",\"RTMP token for publishing and playing. The token is the value of the URL query parameter 'token.'\":\"RTMP token for publishing and playing. The token is the value of the URL query parameter 'token.'\",\"RTMP/S\":\"RTMP/S\",\"RTMPS server\":\"RTMPS server\",\"RTSP\":\"RTSP\",\"Raspberry Pi camera\":\"Raspberry Pi camera\",\"Rate control\":\"Rate control\",\"Ratio\":\"Ratio\",\"Read input at native speed\":\"Read input at native speed\",\"Receive Mode\":\"Receive Mode\",\"Reconnect\":\"Reconnect\",\"Reconnect delay (seconds)\":\"Reconnect delay (seconds)\",\"Reconnecting in {0}s\":[\"Reconnecting in \",[\"0\"],\"s\"],\"Reconnecting to Restreamer Core failed for the last {RETRIES} seconds.\":[\"Reconnecting to Restreamer Core failed for the last \",[\"RETRIES\"],\" seconds.\"],\"Reconnecting to Restreamer Core failed.\":\"Reconnecting to Restreamer Core failed.\",\"Refresh\":\"Refresh\",\"Region\":\"Region\",\"Reload\":\"Reload\",\"Remove the oldest entries if the /memfs is full\":\"Remove the oldest entries if the /memfs is full\",\"Requires activation\":\"Requires activation\",\"Restart\":\"Restart\",\"Restart required\":\"Restart required\",\"Restarting\":\"Restarting\",\"Restarting Restreamer Core ...\":\"Restarting Restreamer Core ...\",\"Restarting the application failed.\":\"Restarting the application failed.\",\"Restreamer Service\":\"Restreamer Service\",\"Retrieving stream data ...\":\"Retrieving stream data ...\",\"Retry\":\"Retry\",\"Rule\":\"Rule\",\"Sampling\":\"Sampling\",\"Save\":\"Save\",\"Scale\":\"Scale\",\"Seconds to keep files in cache.\":\"Seconds to keep files in cache.\",\"Seconds until a process is restarted.\":\"Seconds until a process is restarted.\",\"Seconds until a staled process is terminated.\":\"Seconds until a staled process is terminated.\",\"Seconds until the snapshot/thumbnail of the video source is updated.\":\"Seconds until the snapshot/thumbnail of the video source is updated.\",\"Security\":\"Security\",\"Security token\":\"Security token\",\"Seekbar color\":\"Seekbar color\",\"Segment length (seconds)\":\"Segment length (seconds)\",\"Segment will be cut on the following keyframe after this time has passed. 2 is recommended.\":\"Segment will be cut on the following keyframe after this time has passed. 2 is recommended.\",\"Segmentation\":\"Segmentation\",\"Select a device:\":\"Select a device:\",\"Select audio source:\":\"Select audio source:\",\"Select source ...\":\"Select source ...\",\"Select video source:\":\"Select video source:\",\"Select whether you pull the stream from a <0>network source (such as a network camera) or the <1>internal RTMP server (e.g., OBS streams to the Restreamer).\":\"Select whether you pull the stream from a <0>network source (such as a network camera) or the <1>internal RTMP server (e.g., OBS streams to the Restreamer).\",\"Select your encoding setting:\":\"Select your encoding setting:\",\"Selected\":\"Selected\",\"Selected channel\":\"Selected channel\",\"Selection\":\"Selection\",\"Send anonymous metrics (helps us for future development)\":\"Send anonymous metrics (helps us for future development)\",\"Send stream to this address:\":\"Send stream to this address:\",\"Send video to Framebuffer\":\"Send video to Framebuffer\",\"Server\":\"Server\",\"Service\":\"Service\",\"Service name\":\"Service name\",\"Service token for monitoring.\":\"Service token for monitoring.\",\"Sessions\":\"Sessions\",\"Sets a bandwidth limit in Mbit per second for outgoing HLS data transfer. All services, such as RTMP and outgoing processes, are included in the calculation. If the bandwidth is exceeded, HLS viewers receive the HTTP status code 509 (Bandwidth Limit Exceeded). 0 is unlimited.\":\"Sets a bandwidth limit in Mbit per second for outgoing HLS data transfer. All services, such as RTMP and outgoing processes, are included in the calculation. If the bandwidth is exceeded, HLS viewers receive the HTTP status code 509 (Bandwidth Limit Exceeded). 0 is unlimited.\",\"Sets a viewer limit for HLS sessions. If the limit is exceeded, HLS viewers receive the HTTP status code 509 (Bandwidth Limit Exceeded). 0 is unlimited.\":\"Sets a viewer limit for HLS sessions. If the limit is exceeded, HLS viewers receive the HTTP status code 509 (Bandwidth Limit Exceeded). 0 is unlimited.\",\"Setting for connection to the service.\":\"Setting for connection to the service.\",\"Settings\":\"Settings\",\"Settings (expert mode)\":\"Settings (expert mode)\",\"Settings for /data path. The access is protected by\":\"Settings for /data path. The access is protected by\",\"Settings for /memfs path.\":\"Settings for /memfs path.\",\"Settings saved. All changes will be applied after restarting the application.\":\"Settings saved. All changes will be applied after restarting the application.\",\"Share button\":\"Share button\",\"Shows a reference to the project.\":\"Shows a reference to the project.\",\"Sign up (free)\":\"Sign up (free)\",\"Silence\":\"Silence\",\"Silence Audio\":\"Silence Audio\",\"Sine\":\"Sine\",\"Sitename\":\"Sitename\",\"Size\":\"Size\",\"Snapshot\":\"Snapshot\",\"Social-login (OAuth2, 2FA)\":\"Social-login (OAuth2, 2FA)\",\"Socket timeout (microseconds)\":\"Socket timeout (microseconds)\",\"Software\":\"Software\",\"Source\":\"Source\",\"Speed\":\"Speed\",\"Stale timeout (seconds)\":\"Stale timeout (seconds)\",\"Statistics\":\"Statistics\",\"Storage\":\"Storage\",\"Stores the viewer statistics to the disk.\":\"Stores the viewer statistics to the disk.\",\"Stream\":\"Stream\",\"Stream URL\":\"Stream URL\",\"Stream key\":\"Stream key\",\"Stream name\":\"Stream name\",\"Stream names\":\"Stream names\",\"Support datarhei Restreamer\":\"Support datarhei Restreamer\",\"Supports HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT and more.\":\"Supports HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT and more.\",\"System\":\"System\",\"Template\":\"Template\",\"Template to be used for creating the publication website. The delete button removes the selection from the system.\":\"Template to be used for creating the publication website. The delete button removes the selection from the system.\",\"Terms\":\"Terms\",\"Test pattern\":\"Test pattern\",\"Test pattern (extended)\":\"Test pattern (extended)\",\"Text colors\":\"Text colors\",\"The amplitude (0.0 - 1.0) of the generated audio stream\":\"The amplitude (0.0 - 1.0) of the generated audio stream\",\"The application is using an older version of the settings.\":\"The application is using an older version of the settings.\",\"The bitrate of the audio stream.\":\"The bitrate of the audio stream.\",\"The carrier frequency\":\"The carrier frequency\",\"The channel \\\"{0}\\\" could not be deleted\":[\"The channel \\\"\",[\"0\"],\"\\\" could not be deleted\"],\"The channel \\\"{0}\\\" has been deleted\":[\"The channel \\\"\",[\"0\"],\"\\\" has been deleted\"],\"The deletion of this channel can not be recovered. All publications of this channel will be removed.\":\"The deletion of this channel can not be recovered. All publications of this channel will be removed.\",\"The input profile is not complete. Please define a video and audio source.\":\"The input profile is not complete. Please define a video and audio source.\",\"The layout of the audio stream.\":\"The layout of the audio stream.\",\"The maximum number of playlist segments. 0 will contain all the segments. 6 is recommended.\":\"The maximum number of playlist segments. 0 will contain all the segments. 6 is recommended.\",\"The noise color\":\"The noise color\",\"The person who associated a work with this deed has dedicated the work to the public domain by waiving all of his or her rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law. You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.\":\"The person who associated a work with this deed has dedicated the work to the public domain by waiving all of his or her rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law. You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.\",\"The public reachable domain name of the host this Restreamer is running on. Separate multiple domain names by a comma.\":\"The public reachable domain name of the host this Restreamer is running on. Separate multiple domain names by a comma.\",\"The publication service \\\"{0}\\\" could not be deleted\":[\"The publication service \\\"\",[\"0\"],\"\\\" could not be deleted\"],\"The publication service \\\"{0}\\\" has been created\":[\"The publication service \\\"\",[\"0\"],\"\\\" has been created\"],\"The publication service \\\"{0}\\\" has been deleted\":[\"The publication service \\\"\",[\"0\"],\"\\\" has been deleted\"],\"The publication service has been created\":\"The publication service has been created\",\"The sample rate of the audio stream.\":\"The sample rate of the audio stream.\",\"The selected file is too big ({0} bytes). Only {1} bytes are allowed.\":[\"The selected file is too big (\",[\"0\"],\" bytes). Only \",[\"1\"],\" bytes are allowed.\"],\"The selected file type ({0}) is not allowed. Allowed file types are {types}\":[\"The selected file type (\",[\"0\"],\") is not allowed. Allowed file types are \",[\"types\"]],\"The settings for \\\"{0}\\\" have been saved\":[\"The settings for \\\"\",[\"0\"],\"\\\" have been saved\"],\"The source doesn't provide any audio streams.\":\"The source doesn't provide any audio streams.\",\"The source doesn't provide any audio streams. Please check the <0>probe details.\":\"The source doesn't provide any audio streams. Please check the <0>probe details.\",\"The source doesn't provide any compatible audio streams.\":\"The source doesn't provide any compatible audio streams.\",\"The source doesn't provide any compatible video streams. Please check the <0>requirements.\":\"The source doesn't provide any compatible video streams. Please check the <0>requirements.\",\"The source doesn't provide any video streams. Please check the <0>probe details.\":\"The source doesn't provide any video streams. Please check the <0>probe details.\",\"The source doesn't provide any video streams. Please check the device.\":\"The source doesn't provide any video streams. Please check the device.\",\"The video source doesn't provide any compatible audio stream. <0>Silence audio is recommended. Services e.g. YouTube, Facebook & Co. require an audio channel.\":\"The video source doesn't provide any compatible audio stream. <0>Silence audio is recommended. Services e.g. YouTube, Facebook & Co. require an audio channel.\",\"The video source is compatible. Select the desired resolution:\":\"The video source is compatible. Select the desired resolution:\",\"There are updates available. Here you get more information.\":\"There are updates available. Here you get more information.\",\"There was a problem storing the settings. Settings not saved.\":\"There was a problem storing the settings. Settings not saved.\",\"There was an error connecting to Restreamer Core at {0}.\":[\"There was an error connecting to Restreamer Core at \",[\"0\"],\".\"],\"There was an error during upload: {0}\":[\"There was an error during upload: \",[\"0\"]],\"There was an error setting up the stream.\":\"There was an error setting up the stream.\",\"There were some errors in the settings. Settings not saved.\":\"There were some errors in the settings. Settings not saved.\",\"There's no login method available.\":\"There's no login method available.\",\"This is a dummy service that explains to you the concepts of service.\":\"This is a dummy service that explains to you the concepts of service.\",\"This is not necessarily an error. However, it may take a bit longer for Restreamer Core to restart..\":\"This is not necessarily an error. However, it may take a bit longer for Restreamer Core to restart..\",\"This is to mention the copyright regulations for the target of this service.\":\"This is to mention the copyright regulations for the target of this service.\",\"This license allows reusers to copy and distribute the material in any medium or format in unadapted form only, and only so long as attribution is given to the creator. The license allows for commercial use.\":\"This license allows reusers to copy and distribute the material in any medium or format in unadapted form only, and only so long as attribution is given to the creator. The license allows for commercial use.\",\"This license allows reusers to copy and distribute the material in any medium or format in unadapted form only, for noncommercial purposes only, and only so long as attribution is given to the creator.\":\"This license allows reusers to copy and distribute the material in any medium or format in unadapted form only, for noncommercial purposes only, and only so long as attribution is given to the creator.\",\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format for noncommercial purposes only, and only so long as attribution is given to the creator.\":\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format for noncommercial purposes only, and only so long as attribution is given to the creator.\",\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format for noncommercial purposes only, and only so long as attribution is given to the creator. If you remix, adapt, or build upon the material, you must license the modified material under identical terms.\":\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format for noncommercial purposes only, and only so long as attribution is given to the creator. If you remix, adapt, or build upon the material, you must license the modified material under identical terms.\",\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format, so long as attribution is given to the creator. The license allows for commercial use.\":\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format, so long as attribution is given to the creator. The license allows for commercial use.\",\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format, so long as attribution is given to the creator. The license allows for commercial use. If you remix, adapt, or build upon the material, you must license the modified material under identical terms.\":\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format, so long as attribution is given to the creator. The license allows for commercial use. If you remix, adapt, or build upon the material, you must license the modified material under identical terms.\",\"This source cannot be edited while it is in use. To continue, you have to disconnect the source.\":\"This source cannot be edited while it is in use. To continue, you have to disconnect the source.\",\"This version of the UI doesn't support the available FFmpeg binary ({0}). The UI requires {1}. Please use a supported FFmpeg binary.\":[\"This version of the UI doesn't support the available FFmpeg binary (\",[\"0\"],\"). The UI requires \",[\"1\"],\". Please use a supported FFmpeg binary.\"],\"This version of the UI doesn't support the connected Core ({0}). The UI requires {1}. Please use a compatible version of the UI.\":[\"This version of the UI doesn't support the connected Core (\",[\"0\"],\"). The UI requires \",[\"1\"],\". Please use a compatible version of the UI.\"],\"This version of the UI is compatible.\":\"This version of the UI is compatible.\",\"Time until an inactive viewer connection is treated as closed.\":\"Time until an inactive viewer connection is treated as closed.\",\"Token\":\"Token\",\"Transmit snapshots of the main source to an HTTP/S Server. More details about the settings can be found <0>here.\":\"Transmit snapshots of the main source to an HTTP/S Server. More details about the settings can be found <0>here.\",\"Transmit the audio channel of the main source to an Icecast Server. More details about the settings can be found <0>here.\":\"Transmit the audio channel of the main source to an Icecast Server. More details about the settings can be found <0>here.\",\"Transmit the main source as HTTP-Live-Streaming (HLS) to an HTTP/S Server. More details about the settings can be found <0>here.\":\"Transmit the main source as HTTP-Live-Streaming (HLS) to an HTTP/S Server. More details about the settings can be found <0>here.\",\"Transmit the main source as MPEG-DASH to an HTTP/S Server. More details about the settings can be found <0>here.\":\"Transmit the main source as MPEG-DASH to an HTTP/S Server. More details about the settings can be found <0>here.\",\"Transmit the main source to a Brightcove Live Service. More details about the settings can be found <0>here.\":\"Transmit the main source to a Brightcove Live Service. More details about the settings can be found <0>here.\",\"Transmit the main source to an CDN77 RTMP Service. More about the setup <0>here.\":\"Transmit the main source to an CDN77 RTMP Service. More about the setup <0>here.\",\"Transmit the main source to an DaCast RTMP Service. More about the setup <0>here.\":\"Transmit the main source to an DaCast RTMP Service. More about the setup <0>here.\",\"Transmit the main source to an MPEG-TS Service. More details about the settings can be found here <0>here.\":\"Transmit the main source to an MPEG-TS Service. More details about the settings can be found here <0>here.\",\"Transmit the main source to an RTMP(e|s|t|te|ts) Server. More details about the settings can be found <0>here.\":\"Transmit the main source to an RTMP(e|s|t|te|ts) Server. More details about the settings can be found <0>here.\",\"Transmit the main source to an RTSP Server. More details about the settings can be found <0>here.\":\"Transmit the main source to an RTSP Server. More details about the settings can be found <0>here.\",\"Transmit the main source to an Red5/Pro Server. More details about the settings can be found <0>here.\":\"Transmit the main source to an Red5/Pro Server. More details about the settings can be found <0>here.\",\"Transmit the main source to an SRT Server. More details about the settings can be found <0>here.\":\"Transmit the main source to an SRT Server. More details about the settings can be found <0>here.\",\"Transmit the main source to an UDP Server. More details about the settings can be found <0>here.\":\"Transmit the main source to an UDP Server. More details about the settings can be found <0>here.\",\"Transmit the main source to an WOWZA Server. More details about the settings can be found <0>here.\":\"Transmit the main source to an WOWZA Server. More details about the settings can be found <0>here.\",\"Transmit the main source to an datarhei Core Ressource. More details about the settings can be found <0>here.\":\"Transmit the main source to an datarhei Core Ressource. More details about the settings can be found <0>here.\",\"Transmit the main source to an livespotting.com Ressource. More details about the settings can be found <0>here.\":\"Transmit the main source to an livespotting.com Ressource. More details about the settings can be found <0>here.\",\"Transmit the main source to the Akamai (MSL) Media Services Live. More details about the MSL Encoder settings can be found on <0>here.\":\"Transmit the main source to the Akamai (MSL) Media Services Live. More details about the MSL Encoder settings can be found on <0>here.\",\"Transmit the main source to the Bitmovin cloud encoding service, a powerful tool for live streaming. More details about the settings can be founds <0>here.\":\"Transmit the main source to the Bitmovin cloud encoding service, a powerful tool for live streaming. More details about the settings can be founds <0>here.\",\"Transmit the main source to the Restream RTMP Service. More details about the settings can be found <0>here.\":\"Transmit the main source to the Restream RTMP Service. More details about the settings can be found <0>here.\",\"Transmits your video as an RTMP stream with the required key generated in YouTube Studio. You can find more information on setting up a live stream at YouTube's <0>Creator Academy.\":\"Transmits your video as an RTMP stream with the required key generated in YouTube Studio. You can find more information on setting up a live stream at YouTube's <0>Creator Academy.\",\"Transmits your video stream with the required key, which was generated in Twitter Producer. You can find more information on seting up a live stream at Twitter's <0>Producer.\":\"Transmits your video stream with the required key, which was generated in Twitter Producer. You can find more information on seting up a live stream at Twitter's <0>Producer.\",\"Tune\":\"Tune\",\"UDP transport\":\"UDP transport\",\"Unable to load the config.\":\"Unable to load the config.\",\"Unique ident on the service.\":\"Unique ident on the service.\",\"Unknown\":\"Unknown\",\"Unselected\":\"Unselected\",\"Upload\":\"Upload\",\"Uploading the file failed\":\"Uploading the file failed\",\"Uploading the logo failed\":\"Uploading the logo failed\",\"Uptime\":\"Uptime\",\"Use Auth0 for your running Restreamer Core. More <0>details.\":\"Use Auth0 for your running Restreamer Core. More <0>details.\",\"Use the wizard (<0/>) for a quick and easy setup, or edit (<1/>) the sources directly in custom mode.\":\"Use the wizard (<0/>) for a quick and easy setup, or edit (<1/>) the sources directly in custom mode.\",\"Use your copyright and choose the correct image license. Whether free for all or highly restricted. Briefly discuss what others are allowed to do with your image.\":\"Use your copyright and choose the correct image license. Whether free for all or highly restricted. Briefly discuss what others are allowed to do with your image.\",\"Use your copyright and choose the right image licence. Whether free for all or highly restricted. Briefly discuss what others are allowed to do with your image.\":\"Use your copyright and choose the right image licence. Whether free for all or highly restricted. Briefly discuss what others are allowed to do with your image.\",\"User registration\":\"User registration\",\"Username\":\"Username\",\"Username for authorization.\":\"Username for authorization.\",\"Username for the device.\":\"Username for the device.\",\"VPU ID\":\"VPU ID\",\"Video\":\"Video\",\"Video device\":\"Video device\",\"Video settings\":\"Video settings\",\"Video setup\":\"Video setup\",\"Video source\":\"Video source\",\"Viewer\":\"Viewer\",\"Virtual source\":\"Virtual source\",\"Welcome to Restreamer v2, the solution for fast and easy video publishing. Free for private and commercial use. Further help in the <0>docs.\":\"Welcome to Restreamer v2, the solution for fast and easy video publishing. Free for private and commercial use. Further help in the <0>docs.\",\"Write protection\":\"Write protection\",\"YUV test pattern\":\"YUV test pattern\",\"Yes\":\"Yes\",\"You can't abort the wizard because at least one input must be defined.\":\"You can't abort the wizard because at least one input must be defined.\",\"You have changed the configuration. In order for the changes to take effect, you have to restart the application. Do you want to restart now?\":\"You have changed the configuration. In order for the changes to take effect, you have to restart the application. Do you want to restart now?\",\"You have to reconnect manually\":\"You have to reconnect manually\",\"You have unsaved changes. Please save them before you can control the service again.\":\"You have unsaved changes. Please save them before you can control the service again.\",\"Your stream needs to be encoded, but there's no suitable encoder available.\":\"Your stream needs to be encoded, but there's no suitable encoder available.\",\"Your stream needs to be encoded. Choose the desired encoder:\":\"Your stream needs to be encoded. Choose the desired encoder:\",\"blue\":\"blue\",\"brown\":\"brown\",\"iframe code\":\"iframe code\",\"kbit/s\":\"kbit/s\",\"pink\":\"pink\",\"velvet\":\"velvet\",\"violet\":\"violet\",\"white\":\"white\"}};","/*eslint-disable*/module.exports={messages:{\"<0>Compatibility list\":\"<0>Kompatibilitätsliste\",\"<0>Show probe details\":\"<0>Details der Überprüfung anzeigen\",\"ALSA\":\"ALSA\",\"API endpoint not found. Settings not saved.\":\"API-Endpunkt nicht gefunden. Einstellungen nicht gespeichert.\",\"AVFoundation\":\"AVFoundation\",\"Abort\":\"Abbrechen\",\"About\":\"Über\",\"Add\":\"Hinzufügen\",\"Add Publication\":\"Publikation hinzufügen\",\"Add external widgets and styles to the publication site. You can find some examples on the help page.\":\"Fügen Sie externe Widgets und Stile zur Publikationsseite hinzu. Einige Beispiele finden Sie auf der Hilfeseite.\",\"Add new channel\":\"Neuen Kanal hinzufügen\",\"Add: {0}\":[\"Hinzufügen: \",[\"0\"]],\"Address\":\"Adresse\",\"Address for the background image.\":\"Adresse des Hintergrundbildes.\",\"Address to listen on for HTTP requests.\":\"Die Adresse für das Abhören von HTTP-Anfragen.\",\"Address to listen on for HTTPS requests.\":\"Die Adresse für das Abhören von HTTPS-Anfragen.\",\"Adjust publication site colors and background as you like.\":\"Farben und den Hintergrund der Publikationsseite nach Belieben anpassen.\",\"Advanced monitoring\":\"Erweiterte Systemüberwachung\",\"Advanced settings\":\"Erweiterte Einstellungen\",\"Advanced setup\":\"Erweiterte Einrichtung\",\"Alerting by email\":\"Benachrichtigung per E-Mail\",\"All\":\"Alle\",\"All important system settings.\":\"Alle wichtigen Systemeinstellungen.\",\"Allow all referrer\":\"Erlaube alle Referrer\",\"Allow counting how many viewers the stream has.\":\"Erlaubt das Zählen der Anzahl des Publikums vom Stream.\",\"Amplitude\":\"Amplitude\",\"An environment variable sets this value.\":\"Eine Umgebungsvariable legt diesen Wert fest.\",\"App\":\"App\",\"Application\":\"Anwendung\",\"Are you sure you want to abort the wizard?\":\"Sind Sie sicher, dass Sie den Assistenten abbrechen wollen?\",\"Audio\":\"Audio\",\"Audio Device\":\"Audiogerät\",\"Audio device\":\"Audiogerät\",\"Audio from device\":\"Audio von Gerät\",\"Audio settings\":\"Audio-Einstellungen\",\"Audio setup\":\"Audio-Einrichtung\",\"Auth0\":\"Auth0\",\"Auth0 Tenant\":\"Auth0 Tenant\",\"Auth0 is currently not available because this interface is loaded from an insecure origin.\":\"Auth0 ist derzeit nicht verfügbar, da diese Schnittstelle von einer unsicheren Quelle geladen wurde.\",\"Author\":\"Autor\",\"Authorization\":\"Autorisierung\",\"Automatic cleanup of all media data\":\"Automatische Bereinigung aller Mediadateien\",\"Autoplay\":\"Autoplay\",\"Available\":\"Verfügbar\",\"Back\":\"Zurück\",\"Background colors\":\"Hintergrundfarben\",\"Background image\":\"Hintergrundbild\",\"Backup URL\":\"Backup-URL\",\"Backup server\":\"Backup-Server\",\"Backup stream\":\"Backupstream\",\"Backup stream key\":\"Backup stream key\",\"Bandwidth\":\"Bandbreite\",\"Bandwidth control\":\"Bandbreitensteuerung\",\"Banner\":\"Banner\",\"Basic\":\"Basic\",\"Beep factor\":\"Piep-Faktor\",\"Bitrate\":\"Bitrate\",\"Briefly describe what the audience will see during the live stream.\":\"Beschreiben Sie kurz, was die Zuschauenden während des Live-Streams sehen werden.\",\"Button color\":\"Farbe des Knopfes\",\"Cache for files on /data.\":\"Cache für Dateien auf /data.\",\"Cache time (Seconds)\":\"Cache-Zeit (Sek)\",\"Cache types\":\"Cache-Typen\",\"Capture clicks\":\"Klicks erfassen\",\"Capture cursor\":\"Mauszeiger erfassen\",\"Channel \\\"{0}\\\" saved\":[\"Kanal \\\"\",[\"0\"],\"\\\" gespeichert\"],\"Channels\":\"Kanäle\",\"Check for updates\":\"Nach Updates suchen\",\"Check the requirements\":\"Anforderungen prüfen\",\"Choose a video stream\":\"Videostream wählen\",\"Choose an audio stream\":\"Audiostream wählen\",\"Choose an input device ...\":\"Eingabegerät wählen …\",\"Choose codec ...\":\"Codec wählen …\",\"Choose tenant ...\":\"Wähle einen Tenant\",\"Chunk\":\"Segment\",\"Close\":\"Schliessen\",\"Code injection\":\"Code Injection\",\"Codec\":\"Codec\",\"Color\":\"Farbe\",\"Config\":\"Konfiguration\",\"Confirm password\":\"Bestätigen Sie das Passwort\",\"Connect\":\"Verbinden\",\"Connected device\":\"Verbundenes Gerät\",\"Connected since <0/>\":\"Verbunden für <0/>\",\"Connecting ...\":\"Verbinde ...\",\"Connecting to Restreamer Core ...\":\"Mit Restreamer Core verbinden …\",\"Connecting to Restreamer Core failed probably because of mixed content.\":\"Die Verbindung zu Restreamer Core ist wahrscheinlich wegen gemischter Inhalte fehlgeschlagen.\",\"Content\":\"Inhalt\",\"Content URL\":\"Content URL\",\"Cores\":\"Cores\",\"Create user\":\"Benutzer anlegen\",\"Creative Commons\":\"Creative Commons\",\"Custom ...\":\"Individuell …\",\"Custom JSON config for datarhei Core.\":\"Individuelle JSON Konfiguration für den datarhei Core.\",\"Custom audio device\":\"Individuelles Audiogerät\",\"Custom audio index\":\"Individueller Audio-Index\",\"Custom bitrate (kbit/s)\":\"Individuelle Bitrate (kbit/s)\",\"Custom code injection\":\"Injektion von Individuellem Code\",\"Custom delay\":\"Individuelle Verzögerung\",\"Custom device\":\"Individuelles Gerät\",\"Custom format\":\"Individuelles Format\",\"Custom framerate\":\"Individuelle Bildfrequenz\",\"Custom keyframe interval\":\"Individuelles Keyframe-Intervall\",\"Custom layout\":\"Individuelles Aussehen\",\"Custom sampling (Hz)\":\"Individuelle Abtastung (Hz)\",\"Custom scale\":\"Individuelle Skalierung\",\"Custom size\":\"Individuelle Größe\",\"Custom video device\":\"Individuelles Videogerät\",\"Custom video index\":\"Individueller Video-Index\",\"Data copied to clipboard\":\"Daten wurden in die Zwischenablage kopiert\",\"Death color\":\"Death color\",\"Decoder\":\"Decoder\",\"Default\":\"Standard\",\"Delay\":\"Verzögerung\",\"Delay (ms)\":\"Verzögerung (ms)\",\"Delete\":\"Löschen\",\"Deleting a publication service cannot be reversed. The publication stops immediately.\":\"Die Löschung eines Publikationsdienstes kann nicht rückgängig gemacht werden. Die Veröffentlichung wird sofort gestoppt.\",\"Delivering mode\":\"Zustellmodus\",\"Description\":\"Beschreibung\",\"Design\":\"Design\",\"Device\":\"Gerät\",\"Disconnect\":\"Trennen\",\"Disconnect & Continue\":\"Trennen und fortfahren\",\"Disconnecting ...\":\"Trennen ...\",\"Disk\":\"Festplatte\",\"Disk cache\":\"Festplatten Zwischenspeicher\",\"Disk storage\":\"Festplattenspeicher\",\"Do you really want to restart the application now?\":\"Möchten Sie die Anwendung wirklich neu starten?\",\"Do you want to delete \\\"{0}\\\"?\":[\"Soll \\\"\",[\"0\"],\"\\\" gelöscht werden?\"],\"Do you want to delete {title}?\":[\"Möchten Sie \",[\"title\"],\" löschen?\"],\"Do you want to disconnect \\\"{0}\\\"?\":[\"Möchten Sie die Verbindung zu „\",[\"0\"],\"“ unterbrechen?\"],\"Docs\":\"Dokumente\",\"Documentation\":\"Dokumentation\",\"Dup. frames\":\"Duplizierte Frames\",\"EDIT: Player\":\"EDIT: Player\",\"EDIT: Publication Website\":\"BEARBEITEN: Publikation Website\",\"Edit\":\"Bearbeiten\",\"Edit the audio and video sources for the live stream. Add a description, and set your desired content license.\":\"Bearbeiten Sie die Audio- und Videoquellen für den Live-Stream. Fügen Sie eine Beschreibung hinzu, und legen Sie die gewünschte Inhaltslizenz fest.\",\"Edit: {title}\":[\"Bearbeiten: \",[\"title\"]],\"Embed\":\"Einbetten\",\"Enable RTMP server ...\":\"RTMP-Server aktivieren …\",\"Enable a periodic beep every second with this value times the carrier frequency\":\"Periodischen Piepton jede Sekunde mit diesem Wert mal der Trägerfrequenz aktivieren\",\"Enable backup stream\":\"Backupstream aktivieren\",\"Enable nerd statistics\":\"Nerd-Statistiken einschalten\",\"Enable primary stream\":\"Primären Stream aktivieren\",\"Enable snapshots\":\"Momentaufnahme aktivieren\",\"Enabling authorization is strongly advised. Otherwise, anybody can access this instance.\":\"Es wird dringend empfohlen, die Autorisierung zu aktivieren. Andernfalls kann jeder auf diese Instanz zugreifen.\",\"Enabling basic auth is strongly advised. Otherwise, anybody could write data to /memfs.\":\"Es wird dringend empfohlen, die Basisauthentifizierung zu aktivieren. Andernfalls könnte jeder Daten in /memfs schreiben.\",\"Encoder\":\"Encoder\",\"Encoding\":\"Kodierung\",\"Encryption\":\"Verschlüsselung\",\"Enter a name for the new channel.\":\"Einen Namen für den neuen Kanal eingeben.\",\"Enter password\":\"Passwort eingeben\",\"Enter the address of your network source:\":\"Adresse des Netzwerkquelle eintragen:\",\"Enter username\":\"Anmeldename eingeben\",\"Entropy coder\":\"Entropy coder\",\"Error\":\"Fehler\",\"Error while copying data to clipboard\":\"Fehler beim Kopieren von Daten in die Zwischenablage\",\"Error: {0}\":[\"Fehler: \",[\"0\"]],\"Expands the area above the channel list (live chat).\":\"Erweitert den Bereich oberhalb der Kanalliste (Live-Chat).\",\"Expands the area under the channel description (comment boxes).\":\"Erweitert den Bereich unter der Kanalbeschreibung (Kommentarfelder).\",\"Expert mode\":\"Expertenmodus\",\"Extend channel list\":\"Kanalliste erweitern\",\"Extend content\":\"Inhalt erweitern\",\"Extend footer\":\"Fußzeile erweitern\",\"Extend header\":\"Header erweitern\",\"FFmpeg\":\"FFmpeg\",\"FPS\":\"FPS\",\"Failed to create publication service ({0})\":[\"Publikationsdienst konnte nicht erstellt werden (\",[\"0\"],\")\"],\"Failed to create publication website files.\":\"Die Dateien der Publikations-Website konnten nicht erstellt werden.\",\"Failed to probe the source. Please check the <0>probe details.\":\"Prüfen der Quelle ist fehlgeschlagen. <0>Details der Überprüfung ansehen.\",\"Failed to refresh token: {0}\":[\"Token konnte nicht aktualisiert werden: \",[\"0\"]],\"Failed to save ingest metadata\":\"Speichern der Ingest-Metadaten fehlgeschlagen\",\"Failed to stop process\":\"Prozess konnte nicht angehalten werden\",\"Failed to store player size setting.\":\"Die Einstellung für die Playergröße konnte nicht gespeichert werden.\",\"Failed to store publication service ({0})\":[\"Publikationsdienst konnte nicht gespeichert werden (\",[\"0\"],\")\"],\"Failed to update ingest process ({0})\":[\"Aktualisierung des Ingest-Prozesses fehlgeschlagen (\",[\"0\"],\")\"],\"Failed to update the player\":\"Aktualisierung des Players fehlgeschlagen\",\"Failed to verify the source. Please check the address.\":\"Die Quelle konnte nicht verifiziert werden. Bitte Adresse prüfen.\",\"Finish\":\"Speichern\",\"Flags\":\"Flaggen\",\"For Javascripts.\":\"Für Javascripte.\",\"For Stylesheets.\":\"Für Stylesheets.\",\"Force input framerate\":\"Bildfrequenz für die Eingabe erzwingen\",\"Format\":\"Format\",\"Frame drops\":\"Verlorene Frames\",\"Framebuffer\":\"Bildspeicher\",\"Framerate\":\"Bildfrequenz\",\"Frequency (Hz)\":\"Frequenz (Hz)\",\"GET\":\"GET\",\"General\":\"Allgemein\",\"Google Analytics ID\":\"Google Analytics ID\",\"Google Analytics Tracker Name\":\"Name Google Analytics Tracker\",\"HLS\":\"HLS\",\"HLS statistic for the In-memory storage\":\"HLS-Statistik für den In-Memory-Speicher\",\"HTTP and HTTPS\":\"HTTP und HTTPS\",\"HTTP port\":\"HTTP Port\",\"HTTPS (SSL/TLS)\":\"HTTPS (SSL/TLS)\",\"HTTPS port\":\"HTTPS Port\",\"Hardware device\":\"Hardwaregerät\",\"Header\":\"Kopfzeile\",\"Headline\":\"Überschrift\",\"Hosted Restreamer interface\":\"Gehostete Restreamer-Oberfläche\",\"Human readable name on the service.\":\"Von Menschen lesbarer Name des Dienstes.\",\"IP address\":\"IP-Adresse\",\"If you changed the ports, it might be that Restreamer Core restarted already, but it is now available on a different port.\":\"Wenn Sie die Ports geändert haben, kann es sein, dass Restreamer Core bereits neu gestartet wurde, aber jetzt auf einem anderen Port verfügbar ist.\",\"If you enabled Let's Encrypt TLS it might take some time to acquire the certificates. Make sure that Restreamer Core is reachable via port 80 from the internet. Please check the console log of Restreamer Core.\":\"Wenn Sie Let’s Encrypt TLS aktiviert haben, kann es einige Zeit dauern, die Zertifikate zu erwerben. Stellen Sie sicher, dass Restreamer Core über Port 80 aus dem Internet erreichbar ist. Bitte überprüfen Sie das Protokoll in der Konsole von Restreamer Core.\",\"Ignore IP ranges\":\"IP-Bereiche ignorieren\",\"Image URL\":\"Bild-URL\",\"Imprint\":\"Impressum\",\"In addition to the player, the Restreamer offers a complete landingpage, which you can use to present your live stream easily and quickly.\":\"Neben dem Player bietet der Restreamer eine komplette Landingpage, mit der Sie Ihren Live-Stream einfach und schnell präsentieren können.\",\"In-memory\":\"In-memory\",\"In-memory storage\":\"In-Memory-Speicher\",\"Incompatible\":\"Inkompatibel\",\"Inherit\":\"Übernehmen\",\"Inject 1\":\"Inject 1\",\"Inject 2\":\"Inject 2\",\"Inject 3\":\"Inject 3\",\"Inject 4\":\"Inject 4\",\"Internal HLS server\":\"Interner HLS-Server\",\"Internal RTMP server\":\"Interner RTMP-Server\",\"Interval (seconds)\":\"Intervall (Sekunden)\",\"Issue alert\":\"Fehler melden\",\"Keyframe interval (seconds)\":\"Keyframe-Intervall (Sekunden)\",\"Layout\":\"Layout\",\"Let's Encrypt certification\":\"Zertifizierung mit Let’s Encrypt\",\"Let's Encrypt requires one or more public domain names and an accessible port 80/TCP.\":\"Let’s Encrypt erfordert einen oder mehrere öffentliche Domainnamen und einen zugänglichen Port 80/TCP.\",\"Level\":\"Level\",\"Level of system protocol.\":\"Ebene des Systemprotokolls.\",\"License\":\"Lizenz\",\"Life color\":\"Life color\",\"Linecolor\":\"Linienfarbe\",\"Link\":\"Link\",\"Link, mouseover\":\"Link, Mouseover\",\"List of IP ranges in CIDR notation, e.g., 127.0.0.1/32, that the statistics will not record—one IP range per line. Leave empty to record all sessions.\":\"Liste der IP-Bereiche in CIDR-Notation, z. B. 127.0.0.1/32, die von der Statistik nicht erfasst werden sollen - ein IP-Bereich pro Zeile. Leer lassen, um alle Sitzungen aufzuzeichnen.\",\"List of file extensions to cache (e.g. \\\".html\\\"), one per line. Leave empty to cache all file types.\":\"Liste der zu cachenden Dateierweiterungen (z. B. \\\".html\\\"), eine pro Zeile. Leer lassen, um alle Dateitypen zu cachen.\",\"List size (segments)\":\"Listengröße (Segmente)\",\"Live-Streaming to Facebook Live RTMP service\":\"Live-Streaming zum Facebook Live RTMP-Dienst\",\"Live-Streaming to Instagram Live RTMP Service. The stream key requires a service such as <0>Yellow Duck.\":\"Live-Streaming zum Instagram. Für den Stream-Schlüssel wird ein Dienst wie <0>Yellow Duck benötigt.\",\"Live-Streaming to Twitch Live RTMP Service.\":\"Live-Streaming zu Twitch.\",\"Live-Streaming to Vimeo Live RTMP Service\":\"Live-Streaming zu Vimeo\",\"Livesource ID\":\"Livesource-ID\",\"Log level\":\"Protokollierungsebene\",\"Logging\":\"Protokollieren\",\"Login\":\"Anmelden\",\"Login failed: Couldn't load API details\":\"Login fehlgeschlagen: Konnte die API-Details nicht laden\",\"Login failed: {0}\":[\"Login fehlgeschlagen: \",[\"0\"]],\"Login/JWT authorization\":\"Anmeldung/JWT-Autorisierung\",\"Logo\":\"Logo\",\"Logout\":\"Abmelden\",\"MB\":\"MB\",\"Main Source\":\"Hauptquelle\",\"Main channel\":\"Hauptkanal\",\"Main channel not found\":\"Hauptkanal nicht gefunden\",\"Main channel saved\":\"Hauptkanal gespeichert\",\"Main page channel (index.html).\":\"Kanal auf der Startseite (index.html)\",\"Maintainer:\":\"Gepflegt von:\",\"Maximum allowed cache size, 0 for unlimited.\":\"Maximal zulässige Cache-Größe, 0 für unbegrenzt.\",\"Maximum allowed megabytes of RAM for /memfs, 0 for unlimited.\":\"Maximal erlaubte MB RAM für /memfs, 0 für unbegrenzt.\",\"Maximum allowed megabytes to consume from hard disk. 0 for unlimited.\":\"Maximal erlaubte MB, die von der Festplatte verbraucht werden dürfen. 0 für unbegrenzt.\",\"Maximum bandwidth Mbit/s\":\"Maximale Bandbreite Mbit/s\",\"Maximum delay in milliseconds.\":\"Maximale Latenz (Ms).\",\"Maximum file size (Megabytes)\":\"Maximale Dateigröße (MB)\",\"Maximum file size to put in cache.\":\"Maximale Dateigröße, die in den Cache gestellt wird.\",\"Maximum log histroy\":\"Maximale Protokollhistorie\",\"Maximum log lines\":\"Maximale Protokollzeilen\",\"Maximum size (Megabytes)\":\"Maximale Größe (Megabytes)\",\"Maximum viewer idle time (Seconds)\":\"Maximale Zuschauer Leerzeit (Sekunden)\",\"Maximum viewers\":\"Maximale Anzahl von Zuschauenden\",\"Memory\":\"Arbeitsspeicher\",\"Meta information\":\"Meta-Informationen\",\"Metadata\":\"Metadaten\",\"Mold\":\"Mold\",\"More about Twitter's copyright <0>here.\":\"Mehr über Twitter’s Urheberrecht <0>hier.\",\"More about YouTube's copyright <0>here.\":\"Mehr über das Urheberrecht von YouTube <0>hier.\",\"More about licenses here\":\"Mehr über die Lizenzen hier\",\"More about the service\":\"Mehr über den Service\",\"Mute\":\"Stumm\",\"Name\":\"Name\",\"Name for the template. If the name already exists, it will be overwritten.\":\"Templatename. Wenn der Name existiert, wird er überschrieben.\",\"Network\":\"Netzwerk\",\"Network source\":\"Netzwerk-Quelle\",\"Next\":\"Weiter\",\"Next: Audio\":\"Weiter: Audio\",\"Next: Video setup\":\"Weiter: Video-Einrichtung\",\"No\":\"Nein\",\"No audio\":\"Kein Audio\",\"No audio stream available\":\"Kein Audiostream verfügbar\",\"No input device available\":\"Kein Eingabegerät vorhanden\",\"No live stream was detected. Please check the software that sends the stream.\":\"Es wurde kein Livestream erkannt. Bitte die Software überprüfen, die den Stream sendet.\",\"No source selected\":\"Keine Quelle ausgewählt\",\"No sources available\":\"Keine Quellen verfügbar\",\"No suitable encoder found.\":\"Keine passender Encoder gefunden.\",\"No video\":\"Kein Video\",\"No video stream available\":\"Kein Videostream verfügbar\",\"Node ID\":\"Knoten-ID\",\"Noise\":\"Rauschen\",\"None\":\"Keine\",\"Notes\":\"Hinweise\",\"Number of log lines to keep.\":\"Anzahl der Protokollzeilen, die aufbewahrt werden sollen.\",\"Number of logs to keep for each process.\":\"Anzahl der Protokolle, die je Prozess aufbewahrt werden sollen.\",\"OK\":\"OK\",\"One referrer per line, e.g. http://www.example.com\":\"Ein Referrer pro Zeile, wie http://www.beispiel.com\",\"Open\":\"Öffnen\",\"Passthrough (copy) should only be disabled if necessary. Each encoding requires additional CPU/GPU resources.\":\"Passthrough (Kopieren) sollte nur bei Bedarf deaktiviert werden. Jede Kodierung erfordert zusätzliche CPU/GPU-Ressourcen.\",\"Password\":\"Passwort\",\"Password for authorization.\":\"Passwort für die Autorisierung.\",\"Password for the device.\":\"Passwort von dem Gerät.\",\"Persist viewer statistics\":\"Betrachterstatistiken beibehalten\",\"Pixel format\":\"Pixelformat\",\"Plan: <0>Starter\":\"Plan: <0>Starter\",\"Platforms\":\"Plattformen\",\"Playback\":\"Wiedergabe\",\"Player\":\"Player\",\"Player URL\":\"Player-URL\",\"Player settings saved\":\"Playereinstellungen gespeichert\",\"Playersite\":\"Playerseite\",\"Playlist\":\"Wiedergabeliste\",\"Please check the <0>process log\":\"Bitte <0>Prozessprotokoll prüfen\",\"Please contact the operator of the service and check what happens.\":\"An den Betreiber des Dienstes wenden und prüfen, was passiert ist.\",\"Please select a file to upload.\":\"Datei zum Hochladen auswählen.\",\"Please use \\\"Passthrough (copy)\\\" if possible. Encoding requires additional CPU/GPU resources.\":\"„Passthrough (Kopieren)“ sollte nur deaktiviert werden, wenn es erforderlich ist. Jedes weitere Encoding benötigt zusätzliche CPU/GPU Ressourcen.\",\"Please wait. Probe stream data ...\":\"Bitte warten — der Stream wird geprüft ...\",\"Please wait. Setting up the stream ...\":\"Bitte warten — einrichten des Streams ...\",\"Port\":\"Port\",\"Position\":\"Position\",\"Preset\":\"Voreinstellung\",\"Primary stream\":\"Primärer Stream\",\"Primary stream key\":\"Primärer Stream-Schlüssel\",\"Probe\":\"Prüfen\",\"Process\":\"Prozess\",\"Process control\":\"Prozesskontrolle\",\"Process debug\":\"Prozess-Fehlerbehebung\",\"Process debug report\":\"Prozess-Fehlerbehebungsbericht\",\"Process details\":\"Prozess-Details\",\"Process report\":\"Prozess-Bericht\",\"Processing & Control\":\"Verarbeitung & Steuerung\",\"Profile\":\"Profil\",\"Protocol\":\"Protokoll\",\"Protocols\":\"Protokolle\",\"Public domain/s\":\"Öffentliceh Domain/s\",\"Publication service not found\":\"Publikationsdienst nicht gefunden\",\"Publication website settings saved\":\"Einstellungen der Publication Webseite gespeichert\",\"Publications\":\"Publikationen\",\"Pull Mode\":\"Abholmodus\",\"Pull or recieve the data:\":\"Daten abholen oder empfangen:\",\"Quality\":\"Qualität\",\"RGB test pattern\":\"RGB-Testbild\",\"RTMP app for publishing.\":\"RTMP-App für die Veröffentlichung.\",\"RTMP server\":\"RTMP-Server\",\"RTMP server is not enabled\":\"RTMP-Server ist nicht aktiviert\",\"RTMP server listen address.\":\"RTMP-Server Lauschadresse.\",\"RTMP token for publishing and playing. The token is the value of the URL query parameter 'token.'\":\"RTMP-Token für die Veröffentlichung und Wiedergabe. Das Token ist der Wert des URL-Abfrageparameters „token“.\",\"RTMP/S\":\"RTMP/S\",\"RTMPS server\":\"RTMPS-Server\",\"RTSP\":\"RTSP\",\"Raspberry Pi camera\":\"Raspberry Pi Kamera\",\"Rate control\":\"Ratenkontrolle\",\"Ratio\":\"Verhältnis\",\"Read input at native speed\":\"Eingabe mit nativer Geschwindigkeit lesen\",\"Receive Mode\":\"Empfangsmodus\",\"Reconnect\":\"Wiederverbinden\",\"Reconnect delay (seconds)\":\"Verzögerung beim Wiederherstellen der Verbindung (Sekunden)\",\"Reconnecting in {0}s\":[\"Wiederverbinden in \",[\"0\"],\"s\"],\"Reconnecting to Restreamer Core failed for the last {RETRIES} seconds.\":[\"Die Wiederherstellung der Verbindung zum Restreamer Core ist in den letzten \",[\"RETRIES\"],\" Sekunden fehlgeschlagen.\"],\"Reconnecting to Restreamer Core failed.\":\"Die Wiederherstellung der Verbindung zu Restreamer Core ist fehlgeschlagen.\",\"Refresh\":\"Aktualisieren\",\"Region\":\"Region\",\"Reload\":\"Erneut laden\",\"Remove the oldest entries if the /memfs is full\":\"Älteste Einträge entfernen, wenn das /memfs voll ist\",\"Requires activation\":\"Aktivierung erforderlich\",\"Restart\":\"Neustart\",\"Restart required\":\"Neustart erforderlich\",\"Restarting\":\"Neustart\",\"Restarting Restreamer Core ...\":\"Neustart von Restreamer Core …\",\"Restarting the application failed.\":\"Neustart der Anwendung ist fehlgeschlagen.\",\"Restreamer Service\":\"Restreamer Service\",\"Retrieving stream data ...\":\"Abrufen von Streamdaten ...\",\"Retry\":\"Wiederholen\",\"Rule\":\"Regel\",\"Sampling\":\"Sampling\",\"Save\":\"Speichern\",\"Scale\":\"Skalierung\",\"Seconds to keep files in cache.\":\"Sekunden, um Dateien im Cache zu halten.\",\"Seconds until a process is restarted.\":\"Sekunden, bis ein Prozess neu gestartet wird.\",\"Seconds until a staled process is terminated.\":\"Sekunden, bis ein hängender Prozess beendet wird.\",\"Seconds until the snapshot/thumbnail of the video source is updated.\":\"Sekunden, bis ein Vorschaubild (JPEG) der Videoquelle aktualisiert wird.\",\"Security\":\"Sicherheit\",\"Security token\":\"Sicherheit Token\",\"Seekbar color\":\"Seekbar Farbe\",\"Segment length (seconds)\":\"Segmentlänge (Sek)\",\"Segment will be cut on the following keyframe after this time has passed. 2 is recommended.\":\"Das Segment wird nach Ablauf dieser Zeit auf dem folgenden Keyframe geschnitten. 2 wird empfohlen.\",\"Segmentation\":\"Segmentierung\",\"Select a device:\":\"Auswahl Gerät:\",\"Select audio source:\":\"Audio-Quelle auswählen:\",\"Select source ...\":\"Auswahl Quelle ...\",\"Select video source:\":\"Videoquelle auswählen:\",\"Select whether you pull the stream from a <0>network source (such as a network camera) or the <1>internal RTMP server (e.g., OBS streams to the Restreamer).\":\"Wählen Sie aus, ob Sie den Stream von einer <0>Netzwerkquelle (z. B. einer Netzwerkkamera) oder dem <1>internen RTMP-Server (z. B. OBS-Streams an den Restreamer) beziehen.\",\"Select your encoding setting:\":\"Einstellungen für die Encodierung:\",\"Selected\":\"Ausgewählt\",\"Selected channel\":\"Auswahl\",\"Selection\":\"Auswahl\",\"Send anonymous metrics (helps us for future development)\":\"Sende anonyme Anwendungsdaten (Hilft den Restreamer kontinuierlich zu verbessern)\",\"Send stream to this address:\":\"Sende den Stream an diese Adresse:\",\"Send video to Framebuffer\":\"Sendet das Video zum Bildspeicher\",\"Server\":\"Server\",\"Service\":\"Service\",\"Service name\":\"Name des Dienstes\",\"Service token for monitoring.\":\"Servicetoken für die Überwachung.\",\"Sessions\":\"Zuschauer\",\"Sets a bandwidth limit in Mbit per second for outgoing HLS data transfer. All services, such as RTMP and outgoing processes, are included in the calculation. If the bandwidth is exceeded, HLS viewers receive the HTTP status code 509 (Bandwidth Limit Exceeded). 0 is unlimited.\":\"Legt eine Begrenzung der Bandbreite in Mbit/s für die ausgehende HLS-Datenübertragung fest. Alle Dienste, wie RTMP und ausgehende Prozesse, werden in die Berechnung einbezogen. Wenn die Bandbreite überschritten wird, erhalten HLS-Zuschauende den HTTP-Statuscode 509 (Bandwidth Limit Exceeded). 0 ist unbegrenzt.\",\"Sets a viewer limit for HLS sessions. If the limit is exceeded, HLS viewers receive the HTTP status code 509 (Bandwidth Limit Exceeded). 0 is unlimited.\":\"Legt ein Limit für die Zuschauenden in der HLS-Sitzungen fest. Wenn das Limit überschritten wird, erhalten HLS-Zuschauende den HTTP-Statuscode 509 (Bandbreitenlimit überschritten). 0 ist unbegrenzt.\",\"Setting for connection to the service.\":\"Einstellung für die Anbindung an den Service.\",\"Settings\":\"Einstellungen\",\"Settings (expert mode)\":\"Einstellungen (Experten-Modus)\",\"Settings for /data path. The access is protected by\":\"Eintellungen für den /data Pfad. Der Zugriff wird geschützt durch\",\"Settings for /memfs path.\":\"Einstellung für den /memfs Pfad.\",\"Settings saved. All changes will be applied after restarting the application.\":\"Einstellungen gespeichert. Die Änderungen werden nach einem Neustart der Anwendungen übernommen.\",\"Share button\":\"Share-Button\",\"Shows a reference to the project.\":\"Zeigt einen Hinweis auf das Projekt.\",\"Sign up (free)\":\"Anmelden (Kostenlos)\",\"Silence\":\"Stille\",\"Silence Audio\":\"Stilles Audio\",\"Sine\":\"Sinus\",\"Sitename\":\"Seitenname\",\"Size\":\"Grösse\",\"Snapshot\":\"Vorschaubild\",\"Social-login (OAuth2, 2FA)\":\"Social-login (OAuth2, 2FA)\",\"Socket timeout (microseconds)\":\"Socket-Zeitüberschreitung (Mikrosekunden)\",\"Software\":\"Software\",\"Source\":\"Quelle\",\"Speed\":\"Geschwindigkeit\",\"Stale timeout (seconds)\":\"Zeitüberschreitung (Sekunden)\",\"Statistics\":\"Statistiken\",\"Storage\":\"Speicherplatz\",\"Stores the viewer statistics to the disk.\":\"Speichert die Zuschauerstatistik auf der Festplatte.\",\"Stream\":\"Stream\",\"Stream URL\":\"Stream-URL\",\"Stream key\":\"Stream-Schlüssel\",\"Stream name\":\"Streamname\",\"Stream names\":\"Streamnamen\",\"Support datarhei Restreamer\":\"Unterstütze datarhei Restreamer\",\"Supports HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT and more.\":\"Unterstützt HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT und mehr.\",\"System\":\"System\",\"Template\":\"Vorlage\",\"Template to be used for creating the publication website. The delete button removes the selection from the system.\":\"Vorlage, die für die Erstellung der Publikations-Website verwendet werden soll. Mit der Schaltfläche „Löschen“ wird die Auswahl aus dem System entfernt.\",\"Terms\":\"Bedingungen\",\"Test pattern\":\"Testbild\",\"Test pattern (extended)\":\"Testbild (erweitert)\",\"Text colors\":\"Textfarben\",\"The amplitude (0.0 - 1.0) of the generated audio stream\":\"Die Amplitude (0,0 - 1,0) des erzeugten Audiostreams\",\"The application is using an older version of the settings.\":\"Die Applikation verwendet eine ältere Version der Einstellungen.\",\"The bitrate of the audio stream.\":\"Die Bitrate des Audiostreams.\",\"The carrier frequency\":\"Trägerfrequenz\",\"The channel \\\"{0}\\\" could not be deleted\":[\"Der Kanal \\\"\",[\"0\"],\"\\\\“ konnte nicht gelöscht werden\"],\"The channel \\\"{0}\\\" has been deleted\":[\"Der Kanal \\\"\",[\"0\"],\"\\\\“ wurde gelöscht\"],\"The deletion of this channel can not be recovered. All publications of this channel will be removed.\":\"Die Löschung dieses Kanals kann nicht rückgängig gemacht werden. Alle Veröffentlichungen dieses Kanals werden entfernt.\",\"The input profile is not complete. Please define a video and audio source.\":\"Unvollständiges Eingangsprofil. Video- und Audioquelle definieren.\",\"The layout of the audio stream.\":\"Anordnung des Audiostreams.\",\"The maximum number of playlist segments. 0 will contain all the segments. 6 is recommended.\":\"Die maximale Anzahl von Wiedergabelistensegmenten. 0 enthält alle Segmente. 6 wird empfohlen.\",\"The noise color\":\"Audio-Rauschfarbe\",\"The person who associated a work with this deed has dedicated the work to the public domain by waiving all of his or her rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law. You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.\":\"Die Person, die ein Werk mit dieser Urkunde verbunden hat, hat das Werk der Allgemeinheit gewidmet, indem sie auf alle ihre Rechte an dem Werk weltweit nach dem Urheberrecht, einschließlich aller verwandten und benachbarten Rechte, verzichtet, soweit dies gesetzlich zulässig ist. Sie können das Werk vervielfältigen, verändern, verbreiten und aufführen, auch für kommerzielle Zwecke, alles ohne um Erlaubnis zu fragen.\",\"The public reachable domain name of the host this Restreamer is running on. Separate multiple domain names by a comma.\":\"Der öffentlich erreichbare Domänenname des Hosts, auf dem der Restreamer läuft. Trennen Sie mehrere Domänennamen durch ein Komma.\",\"The publication service \\\"{0}\\\" could not be deleted\":[\"Der Publikationsdienst \\\"\",[\"0\"],\"\\\" konnte nicht gelöscht werden\"],\"The publication service \\\"{0}\\\" has been created\":[\"Der Publikationsdienst \\\"\",[\"0\"],\"\\\" wurde erstellt\"],\"The publication service \\\"{0}\\\" has been deleted\":[\"Der Publikationsdienst wurde \\\"\",[\"0\"],\"\\\" gelöscht\"],\"The publication service has been created\":\"Der Publikationsdienst wurde erstellt\",\"The sample rate of the audio stream.\":\"Abtastrate des Audiostreams.\",\"The selected file is too big ({0} bytes). Only {1} bytes are allowed.\":[\"Die ausgewählte Datei ist zu groß (\",[\"0\"],\" Bytes). Es sind nur \",[\"1\"],\" Bytes erlaubt.\"],\"The selected file type ({0}) is not allowed. Allowed file types are {types}\":[\"Der ausgewählte Dateityp (\",[\"0\"],\") ist nich erlaubt. Erlaubte Dateitypen sind \",[\"types\"]],\"The settings for \\\"{0}\\\" have been saved\":[\"Die Einstellungen für \\\"\",[\"0\"],\"\\\" wurden gespeichert\"],\"The source doesn't provide any audio streams.\":\"Die Quelle stellt keine Audiostreams zur Verfügung.\",\"The source doesn't provide any audio streams. Please check the <0>probe details.\":\"Die Quelle stellt keine Audiostreams zur Verfügung. Bitte die <0>Details der Überprüfung ansehen.\",\"The source doesn't provide any compatible audio streams.\":\"Die Quelle stellt keine kompatiblen Audiostreams zur Verfügung.\",\"The source doesn't provide any compatible video streams. Please check the <0>requirements.\":\"Die Quelle stellt keine kompatiblen Videostreams zur Verfügung. Bitte die <0>Anforderungen prüfen.\",\"The source doesn't provide any video streams. Please check the <0>probe details.\":\"Die Quelle stellt keine Videostreams zur Verfügung. Bitte die <0>Details der Überprüfung ansehen.\",\"The source doesn't provide any video streams. Please check the device.\":\"Die Quelle stellt keine Videostreams zur Verfügung. Bitte die Quelle prüfen.\",\"The video source doesn't provide any compatible audio stream. <0>Silence audio is recommended. Services e.g. YouTube, Facebook & Co. require an audio channel.\":\"Die Videoquelle stellt keinen kompatiblen Audiokanal zur Verfügung. <0>Silence Audio wird empfohlen. Dienste wie z.B. YouTube, Facebook & Co. benötigen einen Audiokanal.\",\"The video source is compatible. Select the desired resolution:\":\"Die Videoquelle ist kompatibel. Gewünschte Auflösung auswählen:\",\"There are updates available. Here you get more information.\":\"Es sind Updates verfügbar. Hier erhalten Sie weitere Informationen.\",\"There was a problem storing the settings. Settings not saved.\":\"Es gab ein Problem beim Speichern der Einstellungen. Einstellungen nicht gespeichert.\",\"There was an error connecting to Restreamer Core at {0}.\":[\"Es ist ein Fehler beim Verbinden mit Restreamer Core bei \",[\"0\"],\" aufgetreten.\"],\"There was an error during upload: {0}\":[\"Beim Hochladen ist ein Fehler aufgetreten: \",[\"0\"]],\"There was an error setting up the stream.\":\"Es ist ein Fehler beim Einrichten des Streams aufgetreten.\",\"There were some errors in the settings. Settings not saved.\":\"Es gab einige Fehler in den Einstellungen. Einstellungen nicht gespeichert.\",\"There's no login method available.\":\"Es ist keine Methode für die Anmeldung verfügbar.\",\"This is a dummy service that explains to you the concepts of service.\":\"Dies ist ein Dummy-Dienst, der Ihnen die Konzepte des Dienstes erklärt.\",\"This is not necessarily an error. However, it may take a bit longer for Restreamer Core to restart..\":\"Bitte Geduld. Es kann einen Moment dauern, bis der Restreamer Core neu gestartet ist …\",\"This is to mention the copyright regulations for the target of this service.\":\"Dies ist ein Hinweis auf die urheberrechtlichen Bestimmungen für das Ziel dieses Dienstes.\",\"This license allows reusers to copy and distribute the material in any medium or format in unadapted form only, and only so long as attribution is given to the creator. The license allows for commercial use.\":\"Diese Lizenz erlaubt Wiederverwendern das Kopieren und Verteilen des Materials in jedem Medium oder Format nur in unangepasster Form und nur so lange, wie die Nennung des Urhebers erfolgt. Die Lizenz erlaubt die kommerzielle Nutzung.\",\"This license allows reusers to copy and distribute the material in any medium or format in unadapted form only, for noncommercial purposes only, and only so long as attribution is given to the creator.\":\"Diese Lizenz erlaubt es Wiederverwendern, das Material in jedem Medium oder Format in unangepasster Form zu kopieren und zu verbreiten, und zwar nur für nicht-kommerzielle Zwecke und nur so lange, wie der Urheber genannt wird.\",\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format for noncommercial purposes only, and only so long as attribution is given to the creator.\":\"Diese Lizenz erlaubt es Wiederverwendern, das Material zu verbreiten, zu remixen, zu adaptieren und darauf aufzubauen, und zwar in jedem Medium oder Format und nur für nicht-kommerzielle Zwecke und nur so lange, wie die Nennung des Urhebers erfolgt.\",\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format for noncommercial purposes only, and only so long as attribution is given to the creator. If you remix, adapt, or build upon the material, you must license the modified material under identical terms.\":\"Diese Lizenz erlaubt es Wiederverwendern, das Material zu verbreiten, zu remixen, zu adaptieren und darauf aufzubauen, und zwar in jedem Medium oder Format und nur für nicht-kommerzielle Zwecke, und nur solange der Urheber genannt wird. Wenn Sie das Material umarbeiten, anpassen oder darauf aufbauen, müssen Sie das geänderte Material unter identischen Bedingungen lizenzieren.\",\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format, so long as attribution is given to the creator. The license allows for commercial use.\":\"Diese Lizenz erlaubt es Wiederverwendern, das Material in jedem Medium oder Format zu verbreiten, zu remixen, anzupassen und darauf aufzubauen, solange der Urheber genannt wird. Die Lizenz erlaubt die kommerzielle Nutzung.\",\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format, so long as attribution is given to the creator. The license allows for commercial use. If you remix, adapt, or build upon the material, you must license the modified material under identical terms.\":\"Diese Lizenz erlaubt es Wiederverwendern, das Material in jedem Medium oder Format zu verbreiten, zu remixen, anzupassen und darauf aufzubauen, solange der Urheber genannt wird. Die Lizenz erlaubt die kommerzielle Nutzung. Wenn Sie das Material umarbeiten, anpassen oder darauf aufbauen, müssen Sie das geänderte Material unter identischen Bedingungen lizenzieren.\",\"This source cannot be edited while it is in use. To continue, you have to disconnect the source.\":\"Diese Quelle kann nicht bearbeitet werden, während sie in Gebrauch ist. Um fortzufahren, müssen Sie die Verbindung zur Quelle unterbrechen.\",\"This version of the UI doesn't support the available FFmpeg binary ({0}). The UI requires {1}. Please use a supported FFmpeg binary.\":[\"Diese Version der Benutzeroberfläche unterstützt nicht das verfügbare FFmpeg-Binary (\",[\"0\"],\"). Die Benutzeroberfläche erfordert \",[\"1\"],\". Bitte verwenden Sie eine unterstützte FFmpeg-Binärdatei.\"],\"This version of the UI doesn't support the connected Core ({0}). The UI requires {1}. Please use a compatible version of the UI.\":[\"Diese Version der Benutzeroberfläche unterstützt nicht den angeschlossenen Kern (\",[\"0\"],\"). Die Benutzeroberfläche erfordert \",[\"1\"],\". Bitte verwenden Sie eine kompatible Version der UI.\"],\"This version of the UI is compatible.\":\"Die verwendete Version der Benutzeroberfläche ist kompatibel.\",\"Time until an inactive viewer connection is treated as closed.\":\"Zeit bis eine inaktive Zuschauerverbindung als geschlossen behandelt wird.\",\"Token\":\"Token\",\"Transmit snapshots of the main source to an HTTP/S Server. More details about the settings can be found <0>here.\":\"Überträgt Schnappschüsse der Hauptquelle an einen HTTP/S Server. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"Transmit the audio channel of the main source to an Icecast Server. More details about the settings can be found <0>here.\":\"Überträgt den Audiokanal der Hauptquelle an einen Icecast Server. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"Transmit the main source as HTTP-Live-Streaming (HLS) to an HTTP/S Server. More details about the settings can be found <0>here.\":\"Übertragen Sie die Hauptquelle als HTTP-Live-Streaming (HLS) an einen HTTP/S-Server. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"Transmit the main source as MPEG-DASH to an HTTP/S Server. More details about the settings can be found <0>here.\":\"Übertragen Sie die Hauptquelle als MPEG-DASH an einen HTTP/S Server. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"Transmit the main source to a Brightcove Live Service. More details about the settings can be found <0>here.\":\"Übertragen Sie die Hauptquelle an einen Brightcove Live-Service. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"Transmit the main source to an CDN77 RTMP Service. More about the setup <0>here.\":\"Übertragen Sie die Hauptquelle an einen CDN77 RTMP Service. Mehr über die Einrichtung <0>hier.\",\"Transmit the main source to an DaCast RTMP Service. More about the setup <0>here.\":\"Übertragen Sie die Hauptquelle an einen DaCast RTMP Service. Mehr über die Einrichtung <0>hier.\",\"Transmit the main source to an MPEG-TS Service. More details about the settings can be found here <0>here.\":\"Übertragen Sie die Hauptquelle an einen MPEG-TS-Dienst. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"Transmit the main source to an RTMP(e|s|t|te|ts) Server. More details about the settings can be found <0>here.\":\"Übertragen Sie die Hauptquelle an einen MPEG-TS-Dienst. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"Transmit the main source to an RTSP Server. More details about the settings can be found <0>here.\":\"Übertragen Sie die Hauptquelle an einen RTSP-Server. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"Transmit the main source to an Red5/Pro Server. More details about the settings can be found <0>here.\":\"Übertragen Sie die Hauptquelle an einen Red5/Pro Server. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"Transmit the main source to an SRT Server. More details about the settings can be found <0>here.\":\"Übertragen Sie die Hauptquelle an einen SRT Server. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"Transmit the main source to an UDP Server. More details about the settings can be found <0>here.\":\"Übertragen Sie die Hauptquelle an einen UDP-Server. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"Transmit the main source to an WOWZA Server. More details about the settings can be found <0>here.\":\"Übertragen Sie die Hauptquelle an einen WOWZA Server. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"Transmit the main source to an datarhei Core Ressource. More details about the settings can be found <0>here.\":\"Überträgt die Hauptquelle auf eine datarhei Core Ressource. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"Transmit the main source to an livespotting.com Ressource. More details about the settings can be found <0>here.\":\"Übertragen Sie die Hauptquelle auf eine livespotting.com Ressource. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"Transmit the main source to the Akamai (MSL) Media Services Live. More details about the MSL Encoder settings can be found on <0>here.\":\"Übertragen Sie die Hauptquelle an die Akamai (MSL) Media Services Live. Weitere Details zu den MSL-Encoder-Einstellungen finden Sie <0>hier.\",\"Transmit the main source to the Bitmovin cloud encoding service, a powerful tool for live streaming. More details about the settings can be founds <0>here.\":\"Übertragen Sie die Hauptquelle an den Bitmovin-Cloud-Encoding-Service, ein leistungsstarkes Tool für Live-Streaming. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"Transmit the main source to the Restream RTMP Service. More details about the settings can be found <0>here.\":\"Übertragen Sie die Hauptquelle an den Restream RTMP Service. Weitere Details zu den Einstellungen finden Sie <0>hier.\",\"Transmits your video as an RTMP stream with the required key generated in YouTube Studio. You can find more information on setting up a live stream at YouTube's <0>Creator Academy.\":\"Überträgt Ihr Video als RTMP-Stream mit dem erforderlichen, in YouTube Studio generierten Schlüssel. Weitere Informationen zum Einrichten eines Live-Streams finden Sie in der <0>Creator Academy von YouTube.\",\"Transmits your video stream with the required key, which was generated in Twitter Producer. You can find more information on seting up a live stream at Twitter's <0>Producer.\":\"Überträgt Ihren Videostream mit dem erforderlichen Schlüssel, der in Twitter Producer generiert wurde. Weitere Informationen zum Einrichten eines Livestreams finden Sie unter <0>Producer von Twitter.\",\"Tune\":\"Optimieren\",\"UDP transport\":\"UDP-Transport\",\"Unable to load the config.\":\"Die Konfiguration kann nicht geladen werden.\",\"Unique ident on the service.\":\"Einzigartige Identität für den Service.\",\"Unknown\":\"Unbekannt\",\"Unselected\":\"Nicht gewählt\",\"Upload\":\"Hochladen\",\"Uploading the file failed\":\"Die Dateiübertragung ist fehlgeschlagen\",\"Uploading the logo failed\":\"Hochladen des Logos fehlgeschlagen\",\"Uptime\":\"Betriebszeit\",\"Use Auth0 for your running Restreamer Core. More <0>details.\":\"Verwenden Sie Auth0 für Ihren laufenden Restreamer Core. Mehr <0>Details.\",\"Use the wizard (<0/>) for a quick and easy setup, or edit (<1/>) the sources directly in custom mode.\":\"Verwenden Sie den Assistenten (<0/>) für eine schnelle und einfache Einrichtung, oder bearbeiten Sie (<1/>) die Quellen direkt im benutzerdefinierten Modus.\",\"Use your copyright and choose the correct image license. Whether free for all or highly restricted. Briefly discuss what others are allowed to do with your image.\":\"Use your copyright and choose the correct image license. Whether free for all or highly restricted. Briefly discuss what others are allowed to do with your image.\",\"Use your copyright and choose the right image licence. Whether free for all or highly restricted. Briefly discuss what others are allowed to do with your image.\":\"Copyright und die richtige Bildlizenz wählen. Ob frei für alle oder stark eingeschränkt. Überlege kurz, was andere mit dem Video machen dürfen.\",\"User registration\":\"Benutzerregistrierung\",\"Username\":\"Anmeldename\",\"Username for authorization.\":\"Anmeldename für die Autorisierung.\",\"Username for the device.\":\"Anmeldename von dem Gerät.\",\"VPU ID\":\"VPU-ID\",\"Video\":\"Video\",\"Video device\":\"Videogerät\",\"Video settings\":\"Videoeinstellungen\",\"Video setup\":\"Video-Einrichtung\",\"Video source\":\"Videoquelle\",\"Viewer\":\"Zuschauende\",\"Virtual source\":\"Virtuelle-Quelle\",\"Welcome to Restreamer v2, the solution for fast and easy video publishing. Free for private and commercial use. Further help in the <0>docs.\":\"Willkommen bei Restreamer v2, der Lösung für die schnelle und einfache Veröffentlichung von Videos. Kostenlos für private und kommerzielle Nutzung. Weitere Hilfe in der <0>Dokumentation.\",\"Write protection\":\"Schreibschutz\",\"YUV test pattern\":\"YUV-Testbild\",\"Yes\":\"Ja\",\"You can't abort the wizard because at least one input must be defined.\":\"Sie können den Assistenten nicht abbrechen, da mindestens ein Eingang definiert sein muss.\",\"You have changed the configuration. In order for the changes to take effect, you have to restart the application. Do you want to restart now?\":\"Konfiguration geändert. Damit die Änderungen wirksam werden muss die Anwendung neu starten. Jetzt neu starten?\",\"You have to reconnect manually\":\"Verbindung manuell wiederherstellen\",\"You have unsaved changes. Please save them before you can control the service again.\":\"Ungespeicherte Änderungen. Bitte speichern, bevor der Dienst wieder gesteuert werden kann.\",\"Your stream needs to be encoded, but there's no suitable encoder available.\":\"Ihr Stream muss kodiert werden, aber es ist kein geeigneter Encoder verfügbar.\",\"Your stream needs to be encoded. Choose the desired encoder:\":\"Stream muss kodiert werden. Gewünschten Encoder wählen:\",\"blue\":\"blau\",\"brown\":\"braun\",\"iframe code\":\"iframe Code\",\"kbit/s\":\"kbit/s\",\"pink\":\"rosa\",\"velvet\":\"velvet\",\"violet\":\"violett\",\"white\":\"weiß\"}};","/*eslint-disable*/module.exports={messages:{\"<0>Compatibility list\":\"<0>Liste des compatibilités\",\"<0>Show probe details\":\"<0>Montrer les détails de la sonde.\",\"ALSA\":\"ALSA\",\"API endpoint not found. Settings not saved.\":\"Le point de terminaison de l'API n'a pas été trouvé. Paramètres non sauvegardés.\",\"AVFoundation\":\"AVFoundation\",\"Abort\":\"Abandonner\",\"About\":\"À propos de\",\"Add\":\"Ajouter\",\"Add Publication\":\"Ajouter une publication\",\"Add external widgets and styles to the publication site. You can find some examples on the help page.\":\"Ajoutez des widgets et des styles externes au site de publication. Vous pouvez trouver quelques exemples sur la page d'aide.\",\"Add new channel\":\"Ajouter un nouveau canal\",\"Add: {0}\":[\"Ajouter : \",[\"0\"]],\"Address\":\"Adresse\",\"Address for the background image.\":\"Adresse pour l'image de fond.\",\"Address to listen on for HTTP requests.\":\"Adresse d'écoute pour les demandes HTTP.\",\"Address to listen on for HTTPS requests.\":\"Adresse à écouter pour les demandes HTTPS.\",\"Adjust publication site colors and background as you like.\":\"Ajustez les couleurs et le fond du site de publication comme vous le souhaitez.\",\"Advanced monitoring\":\"Surveillance avancée\",\"Advanced settings\":\"Paramètres avancés\",\"Advanced setup\":\"Configuration avancée\",\"Alerting by email\":\"Alerte par e-mail\",\"All\":\"Tous\",\"All important system settings.\":\"Tous les paramètres importants du système.\",\"Allow all referrer\":\"Autoriser tous les référents\",\"Allow counting how many viewers the stream has.\":\"Permet de compter le nombre de spectateurs du flux.\",\"Amplitude\":\"Amplitude\",\"An environment variable sets this value.\":\"Une variable d'environnement définit cette valeur.\",\"App\":\"App\",\"Application\":\"Application\",\"Are you sure you want to abort the wizard?\":\"Êtes-vous sûr de vouloir interrompre l'assistant ?\",\"Audio\":\"Audio\",\"Audio Device\":\"Dispositif audio\",\"Audio device\":\"Dispositif audio\",\"Audio from device\":\"Audio de l'appareil\",\"Audio settings\":\"Paramètres audio\",\"Audio setup\":\"Configuration audio\",\"Auth0\":\"Auth0\",\"Auth0 Tenant\":\"Auth0 Locataire\",\"Auth0 is currently not available because this interface is loaded from an insecure origin.\":\"Auth0 n'est actuellement pas disponible car cette interface est chargée depuis une origine non sécurisée.\",\"Author\":\"Auteur\",\"Authorization\":\"Autorisation\",\"Automatic cleanup of all media data\":\"Nettoyage automatique de toutes les données des médias\",\"Autoplay\":\"Jeu automatique\",\"Available\":\"Disponible sur\",\"Back\":\"Dos\",\"Background colors\":\"Couleurs d'arrière-plan\",\"Background image\":\"Image de fond\",\"Backup URL\":\"URL de sauvegarde\",\"Backup server\":\"Serveur de sauvegarde\",\"Backup stream\":\"Flux de sauvegarde\",\"Backup stream key\":\"Clé du flux de sauvegarde\",\"Bandwidth\":\"Bande passante\",\"Bandwidth control\":\"Contrôle de la bande passante\",\"Banner\":\"Bannière\",\"Basic\":\"Base\",\"Beep factor\":\"Facteur Bip\",\"Bitrate\":\"Bitrate\",\"Briefly describe what the audience will see during the live stream.\":\"Décrivez brièvement ce que le public verra pendant le streaming en direct.\",\"Button color\":\"Couleur du bouton\",\"Cache for files on /data.\":\"Cache pour les fichiers sur /data.\",\"Cache time (Seconds)\":\"Temps de cache (Secondes)\",\"Cache types\":\"Types de caches\",\"Capture clicks\":\"Capture des clics\",\"Capture cursor\":\"Curseur de capture\",\"Channel \\\"{0}\\\" saved\":[\"Canal \\\"\",[\"0\"],\"\\\" sauvegardé\"],\"Channels\":\"Chaînes\",\"Check for updates\":\"Vérifier les mises à jour\",\"Check the requirements\":\"Vérifiez les exigences\",\"Choose a video stream\":\"Choisissez un flux vidéo\",\"Choose an audio stream\":\"Choisissez un flux audio\",\"Choose an input device ...\":\"Choisissez un périphérique d'entrée ...\",\"Choose codec ...\":\"Choisissez le codec ...\",\"Choose tenant ...\":\"Choisir le locataire ...\",\"Chunk\":\"Chunk\",\"Close\":\"Fermer\",\"Code injection\":\"Injection de code\",\"Codec\":\"Codec\",\"Color\":\"Couleur\",\"Config\":\"Config\",\"Confirm password\":\"Conf confirmer le mot de passe\",\"Connect\":\"Connectez-vous à\",\"Connected device\":\"Appareil connecté\",\"Connected since <0/>\":\"Connecté depuis <0/>\",\"Connecting ...\":\"Connecter ...\",\"Connecting to Restreamer Core ...\":\"Connexion à Restreamer Core ...\",\"Connecting to Restreamer Core failed probably because of mixed content.\":\"La connexion à Restreamer Core a échoué, probablement en raison d'un contenu mixte.\",\"Content\":\"Contenu\",\"Content URL\":\"Content URL\",\"Cores\":\"Cœurs\",\"Create user\":\"Créer un utilisateur\",\"Creative Commons\":\"Creative Commons\",\"Custom ...\":\"Personnalisé...\",\"Custom JSON config for datarhei Core.\":\"Configuration JSON personnalisée pour le noyau datarhei.\",\"Custom audio device\":\"Dispositif audio personnalisé\",\"Custom audio index\":\"Index audio personnalisé\",\"Custom bitrate (kbit/s)\":\"Débit binaire personnalisé (kbit/s)\",\"Custom code injection\":\"Injection de code personnalisé\",\"Custom delay\":\"Délai personnalisé\",\"Custom device\":\"Dispositif personnalisé\",\"Custom format\":\"Format personnalisé\",\"Custom framerate\":\"Taux de rafraîchissement personnalisé\",\"Custom keyframe interval\":\"Intervalle d'images clés personnalisé\",\"Custom layout\":\"Mise en page personnalisée\",\"Custom sampling (Hz)\":\"Échantillonnage personnalisé (Hz)\",\"Custom scale\":\"Échelle personnalisée\",\"Custom size\":\"Taille personnalisée\",\"Custom video device\":\"Dispositif vidéo personnalisé\",\"Custom video index\":\"Index vidéo personnalisé\",\"Data copied to clipboard\":\"Données copiées dans le presse-papiers\",\"Death color\":\"Couleur de la mort\",\"Decoder\":\"Décodeur\",\"Default\":\"Défaut\",\"Delay\":\"Délai\",\"Delay (ms)\":\"Délai (ms)\",\"Delete\":\"Supprimer\",\"Deleting a publication service cannot be reversed. The publication stops immediately.\":\"La suppression d'un service de publication ne peut pas être annulée. La publication s'arrête immédiatement.\",\"Delivering mode\":\"Mode de livraison\",\"Description\":\"Description\",\"Design\":\"Design\",\"Device\":\"Dispositif\",\"Disconnect\":\"Déconnexion\",\"Disconnect & Continue\":\"Déconnecter et continuer\",\"Disconnecting ...\":\"Déconnexion ...\",\"Disk\":\"Disque\",\"Disk cache\":\"Cache disque\",\"Disk storage\":\"Stockage sur disque\",\"Do you really want to restart the application now?\":\"Voulez-vous vraiment redémarrer l'application maintenant ?\",\"Do you want to delete \\\"{0}\\\"?\":[\"Voulez-vous supprimer \\\"\",[\"0\"],\"\\\" ?\"],\"Do you want to delete {title}?\":[\"Voulez-vous supprimer \",[\"titre\"],\" ?\"],\"Do you want to disconnect \\\"{0}\\\"?\":[\"Voulez-vous déconnecter \\\"\",[\"0\"],\"\\\" ?\"],\"Docs\":\"Docs\",\"Documentation\":\"Documentation\",\"Dup. frames\":\"Cadres de duplication\",\"EDIT: Player\":\"EDIT : Joueur\",\"EDIT: Publication Website\":\"EDIT : Site de la publication\",\"Edit\":\"Modifier\",\"Edit the audio and video sources for the live stream. Add a description, and set your desired content license.\":\"Modifiez les sources audio et vidéo pour le flux en direct. Ajoutez une description, et définissez la licence de votre contenu souhaité.\",\"Edit: {title}\":[\"Edit : \",[\"title\"]],\"Embed\":\"Intégrer\",\"Enable RTMP server ...\":\"Activer le serveur RTMP ...\",\"Enable a periodic beep every second with this value times the carrier frequency\":\"Active un bip périodique toutes les secondes avec cette valeur multipliée par la fréquence porteuse\",\"Enable backup stream\":\"Activer le flux de sauvegarde\",\"Enable nerd statistics\":\"Activer les statistiques des nerds\",\"Enable primary stream\":\"Activer le flux primaire\",\"Enable snapshots\":\"Activer les instantanés\",\"Enabling authorization is strongly advised. Otherwise, anybody can access this instance.\":\"Il est fortement conseillé d'activer l'autorisation. Sinon, n'importe qui peut accéder à cette instance.\",\"Enabling basic auth is strongly advised. Otherwise, anybody could write data to /memfs.\":\"L'activation de l'authentification de base est fortement conseillée. Sinon, n'importe qui pourrait écrire des données sur /memfs.\",\"Encoder\":\"Codeur\",\"Encoding\":\"Encodage\",\"Encryption\":\"Cryptage\",\"Enter a name for the new channel.\":\"Saisissez un nom pour le nouveau canal.\",\"Enter password\":\"Entrez le mot de passe\",\"Enter the address of your network source:\":\"Saisissez l'adresse de votre source réseau :\",\"Enter username\":\"Entrez le nom d'utilisateur\",\"Entropy coder\":\"Codeur d'entropie\",\"Error\":\"Erreur\",\"Error while copying data to clipboard\":\"Erreur lors de la copie de données dans le presse-papiers\",\"Error: {0}\":[\"Erreur : \",[\"0\"]],\"Expands the area above the channel list (live chat).\":\"Agrandit la zone au-dessus de la liste des chaînes (chat en direct).\",\"Expands the area under the channel description (comment boxes).\":\"Agrandit la zone située sous la description du canal (cases de commentaires).\",\"Expert mode\":\"Mode expert\",\"Extend channel list\":\"Étendre la liste des canaux\",\"Extend content\":\"Étendre le contenu\",\"Extend footer\":\"Étendre le pied de page\",\"Extend header\":\"Prolonger l'en-tête\",\"FFmpeg\":\"FFmpeg\",\"FPS\":\"FPS\",\"Failed to create publication service ({0})\":[\"Échec de la création du service de publication (\",[\"0\"],\")\"],\"Failed to create publication website files.\":\"Échec de la création des fichiers du site Web de publication.\",\"Failed to probe the source. Please check the <0>probe details.\":\"Impossible de sonder la source. Veuillez vérifier les <0>détails de la sonde.\",\"Failed to refresh token: {0}\":[\"Échec du rafraîchissement du jeton : \",[\"0\"]],\"Failed to save ingest metadata\":\"Échec de la sauvegarde des métadonnées d'ingestion\",\"Failed to stop process\":\"Échec de l'arrêt du processus\",\"Failed to store player size setting.\":\"Échec de l'enregistrement du paramètre de taille du lecteur.\",\"Failed to store publication service ({0})\":[\"Échec du stockage du service de publication (\",[\"0\"],\")\"],\"Failed to update ingest process ({0})\":[\"Échec de la mise à jour du processus d'ingestion (\",[\"0\"],\")\"],\"Failed to update the player\":\"Échec de la mise à jour du lecteur\",\"Failed to verify the source. Please check the address.\":\"Impossible de vérifier la source. Veuillez vérifier l'adresse.\",\"Finish\":\"Finition\",\"Flags\":\"Drapeaux\",\"For Javascripts.\":\"Pour les Javascripts.\",\"For Stylesheets.\":\"Pour les feuilles de style.\",\"Force input framerate\":\"Forcer le taux de rafraîchissement de l'entrée\",\"Format\":\"Format\",\"Frame drops\":\"Baisse du cadre\",\"Framebuffer\":\"Framebuffer\",\"Framerate\":\"Fréquence d'images\",\"Frequency (Hz)\":\"Fréquence (Hz)\",\"GET\":\"GET\",\"General\":\"Général\",\"Google Analytics ID\":\"ID Google Analytics\",\"Google Analytics Tracker Name\":\"Nom du tracker Google Analytics\",\"HLS\":\"HLS\",\"HLS statistic for the In-memory storage\":\"Statistique HLS pour le stockage en mémoire\",\"HTTP and HTTPS\":\"HTTP et HTTPS\",\"HTTP port\":\"Port HTTP\",\"HTTPS (SSL/TLS)\":\"HTTPS (SSL/TLS)\",\"HTTPS port\":\"Port HTTPS\",\"Hardware device\":\"Dispositif matériel\",\"Header\":\"En-tête\",\"Headline\":\"A la une\",\"Hosted Restreamer interface\":\"Interface hébergée de Restreamer\",\"Human readable name on the service.\":\"Nom lisible par l'homme sur le service.\",\"IP address\":\"Adresse IP\",\"If you changed the ports, it might be that Restreamer Core restarted already, but it is now available on a different port.\":\"Si vous avez changé les ports, il se peut que Restreamer Core ait déjà redémarré, mais qu'il soit maintenant disponible sur un port différent.\",\"If you enabled Let's Encrypt TLS it might take some time to acquire the certificates. Make sure that Restreamer Core is reachable via port 80 from the internet. Please check the console log of Restreamer Core.\":\"Si vous avez activé Let's Encrypt TLS, l'acquisition des certificats peut prendre un certain temps. Assurez-vous que Restreamer Core est joignable via le port 80 depuis Internet. Veuillez vérifier le journal de la console de Restreamer Core.\",\"Ignore IP ranges\":\"Ignorer les plages IP\",\"Image URL\":\"URL de l'image\",\"Imprint\":\"Impression\",\"In addition to the player, the Restreamer offers a complete landingpage, which you can use to present your live stream easily and quickly.\":\"En plus du lecteur, le Restreamer offre une page d'accueil complète, que vous pouvez utiliser pour présenter votre flux en direct facilement et rapidement.\",\"In-memory\":\"En mémoire\",\"In-memory storage\":\"Stockage en mémoire\",\"Incompatible\":\"Incompatibilité\",\"Inherit\":\"Hériter de\",\"Inject 1\":\"Injecter 1\",\"Inject 2\":\"Injecter 2\",\"Inject 3\":\"Injecter 3\",\"Inject 4\":\"Injecter 4\",\"Internal HLS server\":\"Serveur HLS interne\",\"Internal RTMP server\":\"Serveur RTMP interne\",\"Interval (seconds)\":\"Intervalle (secondes)\",\"Issue alert\":\"Alerte aux problèmes\",\"Keyframe interval (seconds)\":\"Intervalle entre les images clés (secondes)\",\"Layout\":\"Mise en page\",\"Let's Encrypt certification\":\"Certification Let's Encrypt\",\"Let's Encrypt requires one or more public domain names and an accessible port 80/TCP.\":\"Let's Encrypt requiert un ou plusieurs noms de domaine publics et un port 80/TCP accessible.\",\"Level\":\"Niveau\",\"Level of system protocol.\":\"Niveau du protocole du système.\",\"License\":\"Licence\",\"Life color\":\"Couleur de la vie\",\"Linecolor\":\"Linecolor\",\"Link\":\"Lien\",\"Link, mouseover\":\"Lien, survol de la souris\",\"List of IP ranges in CIDR notation, e.g., 127.0.0.1/32, that the statistics will not record—one IP range per line. Leave empty to record all sessions.\":\"Liste des plages IP en notation CIDR, par exemple, 127.0.0.1/32, que les statistiques n'enregistreront pas - une plage IP par ligne. Laissez vide pour enregistrer toutes les sessions.\",\"List of file extensions to cache (e.g. \\\".html\\\"), one per line. Leave empty to cache all file types.\":\"Liste des extensions de fichiers à mettre en cache (par exemple, \\\".html\\\"), une par ligne. Laissez vide pour mettre en cache tous les types de fichiers.\",\"List size (segments)\":\"Taille de la liste (segments)\",\"Live-Streaming to Facebook Live RTMP service\":\"Diffusion en direct vers le service RTMP de Facebook Live\",\"Live-Streaming to Instagram Live RTMP Service. The stream key requires a service such as <0>Yellow Duck.\":\"Service RTMP de diffusion en direct sur Instagram Live. La clé du streaming nécessite un service tel que <0>Yellow Duck.\",\"Live-Streaming to Twitch Live RTMP Service.\":\"Diffusion en direct sur le service RTMP de Twitch Live.\",\"Live-Streaming to Vimeo Live RTMP Service\":\"Diffusion en direct sur le service RTMP Live de Vimeos\",\"Livesource ID\":\"Livesource ID\",\"Log level\":\"Niveau du journal\",\"Logging\":\"Enregistrement\",\"Login\":\"Connexion\",\"Login failed: Couldn't load API details\":\"La connexion a échoué : Impossible de charger les détails de l'API\",\"Login failed: {0}\":[\"La connexion a échoué : \",[\"0\"]],\"Login/JWT authorization\":\"Autorisation de connexion/JWT\",\"Logo\":\"Logo\",\"Logout\":\"Déconnexion\",\"MB\":\"MB\",\"Main Source\":\"Source principale\",\"Main channel\":\"Canal principal\",\"Main channel not found\":\"Canal principal non trouvé\",\"Main channel saved\":\"Canal principal sauvegardé\",\"Main page channel (index.html).\":\"Canal de la page principale (index.html).\",\"Maintainer:\":\"Mainteneur :\",\"Maximum allowed cache size, 0 for unlimited.\":\"Taille maximale autorisée du cache, 0 pour illimité.\",\"Maximum allowed megabytes of RAM for /memfs, 0 for unlimited.\":\"Mégaoctets de RAM maximum autorisés pour /memfs, 0 pour illimité.\",\"Maximum allowed megabytes to consume from hard disk. 0 for unlimited.\":\"Maximum de mégaoctets autorisés à consommer du disque dur. 0 pour illimité.\",\"Maximum bandwidth Mbit/s\":\"Bande passante maximale Mbit/s\",\"Maximum delay in milliseconds.\":\"Délai maximal en millisecondes.\",\"Maximum file size (Megabytes)\":\"Taille maximale du fichier (mégaoctets)\",\"Maximum file size to put in cache.\":\"Taille maximale du fichier à mettre dans le cache.\",\"Maximum log histroy\":\"Histroy log maximum\",\"Maximum log lines\":\"Lignes de journal maximum\",\"Maximum size (Megabytes)\":\"Taille maximale (mégaoctets)\",\"Maximum viewer idle time (Seconds)\":\"Temps d'inactivité maximum du téléspectateur (Secondes)\",\"Maximum viewers\":\"Nombre maximum de téléspectateurs\",\"Memory\":\"Mémoire\",\"Meta information\":\"Méta-information\",\"Metadata\":\"Métadonnées\",\"Mold\":\"Moisissure\",\"More about Twitter's copyright <0>here.\":\"Plus d'informations sur les droits d'auteur de Twitter <0>ici.\",\"More about YouTube's copyright <0>here.\":\"Plus d'informations sur les droits d'auteur de YouTube <0>ici.\",\"More about licenses here\":\"Plus d'informations sur les licences ici\",\"More about the service\":\"En savoir plus sur le service\",\"Mute\":\"Mute\",\"Name\":\"Nom\",\"Name for the template. If the name already exists, it will be overwritten.\":\"Nom du modèle. Si le nom existe déjà, il sera écrasé.\",\"Network\":\"Réseau\",\"Network source\":\"Source du réseau\",\"Next\":\"Suivant\",\"Next: Audio\":\"Suivant : Audio\",\"Next: Video setup\":\"Suivant : Configuration de la vidéo\",\"No\":\"Non\",\"No audio\":\"Pas d'audio\",\"No audio stream available\":\"Aucun flux audio disponible\",\"No input device available\":\"Aucun dispositif d'entrée disponible\",\"No live stream was detected. Please check the software that sends the stream.\":\"Aucun flux en direct n'a été détecté. Veuillez vérifier le logiciel qui envoie le flux.\",\"No source selected\":\"Pas de source sélectionnée\",\"No sources available\":\"Aucune source disponible\",\"No suitable encoder found.\":\"Aucun codeur approprié n'a été trouvé.\",\"No video\":\"Pas de vidéo\",\"No video stream available\":\"Aucun flux vidéo disponible\",\"Node ID\":\"ID du nœud\",\"Noise\":\"Bruit\",\"None\":\"Aucun\",\"Notes\":\"Notes\",\"Number of log lines to keep.\":\"Nombre de lignes de journal à conserver.\",\"Number of logs to keep for each process.\":\"Nombre de journaux à conserver pour chaque processus.\",\"OK\":\"OK\",\"One referrer per line, e.g. http://www.example.com\":\"Un référent par ligne, par exemple http://www.example.com.\",\"Open\":\"Ouvrir\",\"Passthrough (copy) should only be disabled if necessary. Each encoding requires additional CPU/GPU resources.\":\"Le Passthrough (copie) ne doit être désactivé que si nécessaire. Chaque encodage nécessite des ressources CPU/GPU supplémentaires.\",\"Password\":\"Mot de passe\",\"Password for authorization.\":\"Mot de passe pour l'autorisation.\",\"Password for the device.\":\"Mot de passe pour l'appareil.\",\"Persist viewer statistics\":\"Persistance des statistiques des téléspectateurs\",\"Pixel format\":\"Format des pixels\",\"Plan: <0>Starter\":\"Plan : <0>Démarreur\",\"Platforms\":\"Plateformes\",\"Playback\":\"Lecture\",\"Player\":\"Joueur\",\"Player URL\":\"URL du joueur\",\"Player settings saved\":\"Sauvegarde des paramètres du lecteur\",\"Playersite\":\"Site des joueurs\",\"Playlist\":\"Liste de lecture\",\"Please check the <0>process log\":\"Veuillez vérifier le <0>Journal du processus.\",\"Please contact the operator of the service and check what happens.\":\"Veuillez contacter l'opérateur du service et vérifier ce qui se passe.\",\"Please select a file to upload.\":\"Veuillez sélectionner un fichier à télécharger.\",\"Please use \\\"Passthrough (copy)\\\" if possible. Encoding requires additional CPU/GPU resources.\":\"Veuillez utiliser \\\"Passthrough (copie)\\\" si possible. L'encodage nécessite des ressources CPU/GPU supplémentaires.\",\"Please wait. Probe stream data ...\":\"Veuillez patienter. Données du flux de sondes ...\",\"Please wait. Setting up the stream ...\":\"Veuillez patienter. Configuration du flux ...\",\"Port\":\"Port\",\"Position\":\"Position\",\"Preset\":\"Préréglage\",\"Primary stream\":\"Flux primaire\",\"Primary stream key\":\"Clé de flux primaire\",\"Probe\":\"Sonde\",\"Process\":\"Processus\",\"Process control\":\"Contrôle du processus\",\"Process debug\":\"Débogage du processus\",\"Process debug report\":\"Rapport de débogage du processus\",\"Process details\":\"Détails du processus\",\"Process report\":\"Rapport de processus\",\"Processing & Control\":\"Traitement et contrôle\",\"Profile\":\"Profil\",\"Protocol\":\"Protocole\",\"Protocols\":\"Protocoles\",\"Public domain/s\":\"Domaine public/s\",\"Publication service not found\":\"Service de publication non trouvé\",\"Publication website settings saved\":\"Sauvegarde des paramètres du site Web de la publication\",\"Publications\":\"Publications\",\"Pull Mode\":\"Mode de traction\",\"Pull or recieve the data:\":\"Tirer ou recevoir les données :\",\"Quality\":\"Qualité\",\"RGB test pattern\":\"Mire de test RVB\",\"RTMP app for publishing.\":\"Application RTMP pour la publication.\",\"RTMP server\":\"Serveur RTMP\",\"RTMP server is not enabled\":\"Le serveur RTMP n'est pas activé\",\"RTMP server listen address.\":\"Adresse d'écoute du serveur RTMP.\",\"RTMP token for publishing and playing. The token is the value of the URL query parameter 'token.'\":\"Jeton RTMP pour la publication et la lecture. Le jeton est la valeur du paramètre de requête de l'URL \\\"token\\\".\",\"RTMP/S\":\"RTMP/S\",\"RTMPS server\":\"Serveur RTMPS\",\"RTSP\":\"RTSP\",\"Raspberry Pi camera\":\"Caméra Raspberry Pi\",\"Rate control\":\"Contrôle du taux\",\"Ratio\":\"Ratio\",\"Read input at native speed\":\"Lecture de l'entrée à la vitesse native\",\"Receive Mode\":\"Mode de réception\",\"Reconnect\":\"Reconnecter\",\"Reconnect delay (seconds)\":\"Délai de reconnexion (secondes)\",\"Reconnecting in {0}s\":[\"Reconnexion en \",[\"0\"],\"s\"],\"Reconnecting to Restreamer Core failed for the last {RETRIES} seconds.\":[\"La reconnexion au Restreamer Core a échoué au cours des \",[\"RETRIES\"],\" dernières secondes.\"],\"Reconnecting to Restreamer Core failed.\":\"La reconnexion à Restreamer Core a échoué.\",\"Refresh\":\"Rafraîchir\",\"Region\":\"Région\",\"Reload\":\"Rechargez\",\"Remove the oldest entries if the /memfs is full\":\"Supprimer les entrées les plus anciennes si le /memfs est plein\",\"Requires activation\":\"Nécessite une activation\",\"Restart\":\"Redémarrer\",\"Restart required\":\"Redémarrage nécessaire\",\"Restarting\":\"Redémarrage de\",\"Restarting Restreamer Core ...\":\"Redémarrage de Restreamer Core ...\",\"Restarting the application failed.\":\"Le redémarrage de l'application a échoué.\",\"Restreamer Service\":\"Service Restreamer\",\"Retrieving stream data ...\":\"Récupération des données de flux ...\",\"Retry\":\"Réessayer\",\"Rule\":\"Règle\",\"Sampling\":\"Échantillonnage\",\"Save\":\"Sauvez\",\"Scale\":\"Échelle\",\"Seconds to keep files in cache.\":\"Secondes pour garder les fichiers dans le cache.\",\"Seconds until a process is restarted.\":\"Secondes jusqu'à ce qu'un processus soit redémarré.\",\"Seconds until a staled process is terminated.\":\"Secondes jusqu'à ce qu'un processus bloqué soit terminé.\",\"Seconds until the snapshot/thumbnail of the video source is updated.\":\"Secondes jusqu'à ce que l'instantané/la vignette de la source vidéo soit mis à jour.\",\"Security\":\"Sécurité\",\"Security token\":\"Jeton de sécurité\",\"Seekbar color\":\"Couleur du Seekbar\",\"Segment length (seconds)\":\"Longueur du segment (secondes)\",\"Segment will be cut on the following keyframe after this time has passed. 2 is recommended.\":\"Une fois ce délai écoulé, le segment sera coupé sur l'image clé suivante. Une valeur de 2 est recommandée.\",\"Segmentation\":\"Segmentation\",\"Select a device:\":\"Sélectionnez un appareil :\",\"Select audio source:\":\"Sélectionnez la source audio :\",\"Select source ...\":\"Sélectionnez la source ...\",\"Select video source:\":\"Sélectionnez la source vidéo :\",\"Select whether you pull the stream from a <0>network source (such as a network camera) or the <1>internal RTMP server (e.g., OBS streams to the Restreamer).\":\"Choisissez si vous tirez le flux d'une <0>source réseau (comme une caméra réseau) ou du <1>serveur RTMP interne (par exemple, les flux OBS vers le Restreamer).\",\"Select your encoding setting:\":\"Sélectionnez votre paramètre de codage :\",\"Selected\":\"Sélectionné\",\"Selected channel\":\"Canal sélectionné\",\"Selection\":\"Sélection\",\"Send anonymous metrics (helps us for future development)\":\"Envoyez des métriques anonymes (nous aide pour le développement futur)\",\"Send stream to this address:\":\"Envoyez le flux à cette adresse :\",\"Send video to Framebuffer\":\"Envoyer la vidéo au Framebuffer\",\"Server\":\"Serveur\",\"Service\":\"Service\",\"Service name\":\"Nom du service\",\"Service token for monitoring.\":\"Jeton de service pour la surveillance.\",\"Sessions\":\"Sessions\",\"Sets a bandwidth limit in Mbit per second for outgoing HLS data transfer. All services, such as RTMP and outgoing processes, are included in the calculation. If the bandwidth is exceeded, HLS viewers receive the HTTP status code 509 (Bandwidth Limit Exceeded). 0 is unlimited.\":\"Définit une limite de bande passante en Mbit par seconde pour le transfert des données HLS sortantes. Tous les services, tels que RTMP et les processus sortants, sont inclus dans le calcul. Si la bande passante est dépassée, les spectateurs HLS reçoivent le code d'état HTTP 509 (Bandwidth Limit Exceeded). 0 est illimité.\",\"Sets a viewer limit for HLS sessions. If the limit is exceeded, HLS viewers receive the HTTP status code 509 (Bandwidth Limit Exceeded). 0 is unlimited.\":\"Définit une limite de visualisation pour les sessions HLS. Si la limite est dépassée, les spectateurs HLS reçoivent le code d'état HTTP 509 (limite de bande passante dépassée). La valeur 0 est illimitée.\",\"Setting for connection to the service.\":\"Paramètre pour la connexion au service.\",\"Settings\":\"Paramètres\",\"Settings (expert mode)\":\"Paramètres (mode expert)\",\"Settings for /data path. The access is protected by\":\"Paramètres pour le chemin /data. L'accès est protégé par\",\"Settings for /memfs path.\":\"Paramètres pour le chemin /memfs.\",\"Settings saved. All changes will be applied after restarting the application.\":\"Les paramètres sont enregistrés. Toutes les modifications seront appliquées après le redémarrage de l'application.\",\"Share button\":\"Bouton partager\",\"Shows a reference to the project.\":\"Affiche une référence au projet.\",\"Sign up (free)\":\"S'inscrire (gratuit)\",\"Silence\":\"Silence\",\"Silence Audio\":\"Silence Audio\",\"Sine\":\"Sine\",\"Sitename\":\"Nom de site\",\"Size\":\"Taille\",\"Snapshot\":\"Instantané\",\"Social-login (OAuth2, 2FA)\":\"Social-login (OAuth2, 2FA)\",\"Socket timeout (microseconds)\":\"Délai d'attente pour les sockets (microsecondes)\",\"Software\":\"Logiciel\",\"Source\":\"Source :\",\"Speed\":\"Vitesse\",\"Stale timeout (seconds)\":\"Délai d'expiration (secondes)\",\"Statistics\":\"Statistiques\",\"Storage\":\"Stockage\",\"Stores the viewer statistics to the disk.\":\"Stocke les statistiques du visualiseur sur le disque.\",\"Stream\":\"Stream\",\"Stream URL\":\"URL du flux\",\"Stream key\":\"Clé de flux\",\"Stream name\":\"Nom du cours d'eau\",\"Stream names\":\"Noms des cours d'eau\",\"Support datarhei Restreamer\":\"Support datarhei Restreamer\",\"Supports HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT and more.\":\"Prend en charge HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT et plus encore.\",\"System\":\"Système\",\"Template\":\"Modèle\",\"Template to be used for creating the publication website. The delete button removes the selection from the system.\":\"Modèle à utiliser pour créer le site Web de la publication. Le bouton de suppression supprime la sélection du système.\",\"Terms\":\"Conditions\",\"Test pattern\":\"Modèle de test\",\"Test pattern (extended)\":\"Mire (étendue)\",\"Text colors\":\"Couleurs du texte\",\"The amplitude (0.0 - 1.0) of the generated audio stream\":\"L'amplitude (0,0 - 1,0) du flux audio généré\",\"The application is using an older version of the settings.\":\"L'application utilise une ancienne version des paramètres.\",\"The bitrate of the audio stream.\":\"Le débit binaire du flux audio.\",\"The carrier frequency\":\"La fréquence porteuse\",\"The channel \\\"{0}\\\" could not be deleted\":[\"Le canal \\\"\",[\"0\"],\"\\\" n'a pas pu être supprimé\"],\"The channel \\\"{0}\\\" has been deleted\":[\"Le canal \\\"\",[\"0\"],\"\\\" a été supprimé\"],\"The deletion of this channel can not be recovered. All publications of this channel will be removed.\":\"La suppression de ce canal ne peut pas être récupérée. Toutes les publications de ce canal seront supprimées.\",\"The input profile is not complete. Please define a video and audio source.\":\"Le profil d'entrée n'est pas complet. Veuillez définir une source vidéo et audio.\",\"The layout of the audio stream.\":\"La mise en page du flux audio.\",\"The maximum number of playlist segments. 0 will contain all the segments. 6 is recommended.\":\"Le nombre maximum de segments de la liste de lecture. 0 contiendra tous les segments. 6 est recommandé.\",\"The noise color\":\"La couleur du bruit\",\"The person who associated a work with this deed has dedicated the work to the public domain by waiving all of his or her rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law. You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.\":\"La personne qui a associé une œuvre à cet acte a dédié l'œuvre au domaine public en renonçant à tous ses droits sur l'œuvre dans le monde entier en vertu de la loi sur le droit d'auteur, y compris tous les droits connexes et voisins, dans la mesure autorisée par la loi. Vous pouvez copier, modifier, distribuer et exécuter l'œuvre, même à des fins commerciales, le tout sans demander la permission.\",\"The public reachable domain name of the host this Restreamer is running on. Separate multiple domain names by a comma.\":\"Le nom de domaine public joignable de l'hôte sur lequel ce Restreamer est exécuté. Séparez les noms de domaine multiples par une virgule.\",\"The publication service \\\"{0}\\\" could not be deleted\":[\"Le service de publication \\\"\",[\"0\"],\"\\\" n'a pas pu être supprimé.\"],\"The publication service \\\"{0}\\\" has been created\":[\"Le service de publication \\\"\",[\"0\"],\"\\\" a été créé.\"],\"The publication service \\\"{0}\\\" has been deleted\":[\"Le service de publication \\\"\",[\"0\"],\"\\\" a été supprimé.\"],\"The publication service has been created\":\"Le service de publication a été créé\",\"The sample rate of the audio stream.\":\"La fréquence d'échantillonnage du flux audio.\",\"The selected file is too big ({0} bytes). Only {1} bytes are allowed.\":[\"Le fichier sélectionné est trop gros (\",[\"0\"],\" octets). Seuls les \",[\"1\"],\" octets sont autorisés.\"],\"The selected file type ({0}) is not allowed. Allowed file types are {types}\":[\"Le type de fichier sélectionné (\",[\"0\"],\") n'est pas autorisé. Les types de fichiers autorisés sont \",[\"types\"]],\"The settings for \\\"{0}\\\" have been saved\":[\"Les paramètres de \\\"\",[\"0\"],\"\\\" ont été sauvegardés.\"],\"The source doesn't provide any audio streams.\":\"La source ne fournit pas de flux audio.\",\"The source doesn't provide any audio streams. Please check the <0>probe details.\":\"La source ne fournit pas de flux audio. Veuillez vérifier les <0>détails de la sonde.\",\"The source doesn't provide any compatible audio streams.\":\"La source ne fournit pas de flux audio compatible.\",\"The source doesn't provide any compatible video streams. Please check the <0>requirements.\":\"La source ne fournit pas de flux vidéo compatible. Veuillez vérifier les <0>exigences.\",\"The source doesn't provide any video streams. Please check the <0>probe details.\":\"La source ne fournit pas de flux vidéo. Veuillez vérifier les <0>détails de la sonde.\",\"The source doesn't provide any video streams. Please check the device.\":\"La source ne fournit pas de flux vidéo. Veuillez vérifier l'appareil.\",\"The video source doesn't provide any compatible audio stream. <0>Silence audio is recommended. Services e.g. YouTube, Facebook & Co. require an audio channel.\":\"La source vidéo ne fournit pas de flux audio compatible. <0>Silence audio est recommandé. Les services tels que YouTube, Facebook & Co. nécessitent un canal audio.\",\"The video source is compatible. Select the desired resolution:\":\"La source vidéo est compatible. Sélectionnez la résolution souhaitée :\",\"There are updates available. Here you get more information.\":\"Il y a des mises à jour disponibles. Ici vous obtenez plus d'informations.\",\"There was a problem storing the settings. Settings not saved.\":\"Il y a eu un problème pour enregistrer les paramètres. Paramètres non sauvegardés.\",\"There was an error connecting to Restreamer Core at {0}.\":[\"Il y a eu une erreur de connexion à Restreamer Core à \",[\"0\"],\".\"],\"There was an error during upload: {0}\":[\"Il y a eu une erreur pendant le téléchargement : \",[\"0\"]],\"There was an error setting up the stream.\":\"Il y a eu une erreur dans la configuration du flux.\",\"There were some errors in the settings. Settings not saved.\":\"Il y avait des erreurs dans les paramètres. Les paramètres n'ont pas été sauvegardés.\",\"There's no login method available.\":\"Il n'y a pas de méthode de connexion disponible.\",\"This is a dummy service that explains to you the concepts of service.\":\"Il s'agit d'un service factice qui vous explique les concepts du service.\",\"This is not necessarily an error. However, it may take a bit longer for Restreamer Core to restart..\":\"Il ne s'agit pas nécessairement d'une erreur. Cependant, le redémarrage de Restreamer Core peut prendre un peu plus de temps...\",\"This is to mention the copyright regulations for the target of this service.\":\"Il s'agit de mentionner les règles de copyright pour la cible de ce service.\",\"This license allows reusers to copy and distribute the material in any medium or format in unadapted form only, and only so long as attribution is given to the creator. The license allows for commercial use.\":\"Cette licence permet aux réutilisateurs de copier et de distribuer le matériel sur n'importe quel support ou dans n'importe quel format, sous une forme non adaptée uniquement, et à condition que le créateur soit mentionné. La licence autorise l'utilisation commerciale.\",\"This license allows reusers to copy and distribute the material in any medium or format in unadapted form only, for noncommercial purposes only, and only so long as attribution is given to the creator.\":\"Cette licence permet aux réutilisateurs de copier et de distribuer le matériel sur n'importe quel support ou dans n'importe quel format, sous une forme non adaptée uniquement, à des fins non commerciales et à condition que le créateur soit mentionné.\",\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format for noncommercial purposes only, and only so long as attribution is given to the creator.\":\"Cette licence permet aux réutilisateurs de distribuer, de remixer, d'adapter et d'utiliser le matériel sur n'importe quel support ou dans n'importe quel format à des fins non commerciales uniquement, et à condition que le créateur soit mentionné.\",\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format for noncommercial purposes only, and only so long as attribution is given to the creator. If you remix, adapt, or build upon the material, you must license the modified material under identical terms.\":\"Cette licence permet aux réutilisateurs de distribuer, de remixer, d'adapter et d'utiliser le matériel sur n'importe quel support ou dans n'importe quel format à des fins non commerciales uniquement, et à condition que le créateur soit mentionné. Si vous remixez, adaptez ou développez le matériel, vous devez accorder une licence au matériel modifié selon des conditions identiques.\",\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format, so long as attribution is given to the creator. The license allows for commercial use.\":\"Cette licence permet aux réutilisateurs de distribuer, de remixer, d'adapter et d'utiliser le matériel sur n'importe quel support ou format, à condition que le créateur soit mentionné. La licence autorise l'utilisation commerciale.\",\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format, so long as attribution is given to the creator. The license allows for commercial use. If you remix, adapt, or build upon the material, you must license the modified material under identical terms.\":\"Cette licence permet aux réutilisateurs de distribuer, de remixer, d'adapter et d'utiliser le matériel sur n'importe quel support ou format, à condition que le créateur soit mentionné. La licence autorise l'utilisation commerciale. Si vous remixez, adaptez ou développez le matériel, vous devez accorder une licence au matériel modifié selon des conditions identiques.\",\"This source cannot be edited while it is in use. To continue, you have to disconnect the source.\":\"Cette source ne peut pas être éditée lorsqu'elle est en cours d'utilisation. Pour continuer, vous devez déconnecter la source.\",\"This version of the UI doesn't support the available FFmpeg binary ({0}). The UI requires {1}. Please use a supported FFmpeg binary.\":[\"Cette version de l'interface utilisateur ne prend pas en charge le binaire FFmpeg disponible (\",[\"0\"],\"). L'interface utilisateur requiert \",[\"1\"],\". Veuillez utiliser un binaire FFmpeg supporté.\"],\"This version of the UI doesn't support the connected Core ({0}). The UI requires {1}. Please use a compatible version of the UI.\":[\"Cette version de l'IU ne prend pas en charge le Core connecté (\",[\"0\"],\"). L'IU requiert \",[\"1\"],\". Veuillez utiliser une version compatible de l'IU.\"],\"This version of the UI is compatible.\":\"Cette version de l'interface utilisateur est compatible.\",\"Time until an inactive viewer connection is treated as closed.\":\"Temps jusqu'à ce qu'une connexion de téléspectateur inactive soit traitée comme fermée.\",\"Token\":\"Token\",\"Transmit snapshots of the main source to an HTTP/S Server. More details about the settings can be found <0>here.\":\"Transmettre des instantanés de la source principale à un serveur HTTP/S. Vous trouverez plus de détails sur les paramètres <0>ici.\",\"Transmit the audio channel of the main source to an Icecast Server. More details about the settings can be found <0>here.\":\"Transmet le canal audio de la source principale à un serveur Icecast. Vous trouverez plus de détails sur les paramètres <0>ici.\",\"Transmit the main source as HTTP-Live-Streaming (HLS) to an HTTP/S Server. More details about the settings can be found <0>here.\":\"Transmettre la source principale en tant que HTTP-Live-Streaming (HLS) à un serveur HTTP/S. Vous trouverez plus de détails sur les paramètres <0>ici.\",\"Transmit the main source as MPEG-DASH to an HTTP/S Server. More details about the settings can be found <0>here.\":\"Transmettre la source principale en MPEG-DASH à un serveur HTTP/S. Vous trouverez plus de détails sur les paramètres <0>ici.\",\"Transmit the main source to a Brightcove Live Service. More details about the settings can be found <0>here.\":\"Transmettre la source principale à un service Live de Brightcove. Vous trouverez plus de détails sur les paramètres <0>ici.\",\"Transmit the main source to an CDN77 RTMP Service. More about the setup <0>here.\":\"Transmettre la source principale à un service CDN77 RTMP. Plus d'informations sur la configuration <0>ici.\",\"Transmit the main source to an DaCast RTMP Service. More about the setup <0>here.\":\"Transmettre la source principale à un service DaCast RTMP. Plus d'informations sur la configuration <0>ici.\",\"Transmit the main source to an MPEG-TS Service. More details about the settings can be found here <0>here.\":\"Transmettre la source principale à un service MPEG-TS. Vous trouverez plus de détails sur les réglages ici <0>ici.\",\"Transmit the main source to an RTMP(e|s|t|te|ts) Server. More details about the settings can be found <0>here.\":\"Transmettre la source principale à un serveur RTMP(e|s|t|te|ts). Vous trouverez plus de détails sur les paramètres <0>ici.\",\"Transmit the main source to an RTSP Server. More details about the settings can be found <0>here.\":\"Transmettre la source principale à un serveur RTSP. Vous trouverez plus de détails sur les paramètres <0>ici.\",\"Transmit the main source to an Red5/Pro Server. More details about the settings can be found <0>here.\":\"Transmettre la source principale à un serveur Red5/Pro. Vous trouverez plus de détails sur les réglages <0>ici.\",\"Transmit the main source to an SRT Server. More details about the settings can be found <0>here.\":\"Transmettre la source principale à un serveur SRT. Vous trouverez plus de détails sur les paramètres <0>ici.\",\"Transmit the main source to an UDP Server. More details about the settings can be found <0>here.\":\"Transmettre la source principale à un serveur UDP. Vous trouverez plus de détails sur les paramètres <0>ici.\",\"Transmit the main source to an WOWZA Server. More details about the settings can be found <0>here.\":\"Transmettre la source principale à un serveur WOWZA. Vous trouverez plus de détails sur les réglages <0>ici.\",\"Transmit the main source to an datarhei Core Ressource. More details about the settings can be found <0>here.\":\"Transmettre la source principale à un datarhei Core Ressource. Plus de détails sur les paramètres peuvent être trouvés <0>ici.\",\"Transmit the main source to an livespotting.com Ressource. More details about the settings can be found <0>here.\":\"Transmettre la source principale à une Ressource livespotting.com. Vous trouverez plus de détails sur les paramètres <0>ici.\",\"Transmit the main source to the Akamai (MSL) Media Services Live. More details about the MSL Encoder settings can be found on <0>here.\":\"Transmettre la source principale à l'Akamai (MSL) Media Services Live. Vous trouverez plus de détails sur les paramètres de l'encodeur MSL sur <0>ici.\",\"Transmit the main source to the Bitmovin cloud encoding service, a powerful tool for live streaming. More details about the settings can be founds <0>here.\":\"Transmettez la source principale au service d'encodage en nuage Bitmovin, un outil puissant pour le streaming en direct. Vous trouverez plus de détails sur les paramètres <0>ici.\",\"Transmit the main source to the Restream RTMP Service. More details about the settings can be found <0>here.\":\"Transmettre la source principale au service RTMP de Restream. Vous trouverez plus de détails sur les paramètres <0>ici.\",\"Transmits your video as an RTMP stream with the required key generated in YouTube Studio. You can find more information on setting up a live stream at YouTube's <0>Creator Academy.\":\"Transmet votre vidéo sous forme de flux RTMP avec la clé requise générée dans YouTube Studio. Vous pouvez trouver plus d'informations sur la configuration d'un flux en direct sur le site de la <0>Creator Academy de YouTube.\",\"Transmits your video stream with the required key, which was generated in Twitter Producer. You can find more information on seting up a live stream at Twitter's <0>Producer.\":\"Transmet votre flux vidéo avec la clé requise, qui a été générée dans Twitter Producer. Vous trouverez plus d'informations sur la configuration d'un flux en direct sur le site <0>Producteur de Twitter.\",\"Tune\":\"Tune\",\"UDP transport\":\"Transport UDP\",\"Unable to load the config.\":\"Impossible de charger la configuration.\",\"Unique ident on the service.\":\"Identifiant unique sur le service.\",\"Unknown\":\"Inconnu\",\"Unselected\":\"Non sélectionné\",\"Upload\":\"Télécharger\",\"Uploading the file failed\":\"Le téléchargement du fichier a échoué\",\"Uploading the logo failed\":\"Le téléchargement du logo a échoué\",\"Uptime\":\"Temps de fonctionnement\",\"Use Auth0 for your running Restreamer Core. More <0>details.\":\"Utilisez Auth0 pour votre noyau Restreamer en cours d'exécution. Plus de <0>détails.\",\"Use the wizard (<0/>) for a quick and easy setup, or edit (<1/>) the sources directly in custom mode.\":\"Utilisez l'assistant (<0/>) pour une configuration rapide et facile, ou éditez (<1/>) les sources directement en mode personnalisé.\",\"Use your copyright and choose the correct image license. Whether free for all or highly restricted. Briefly discuss what others are allowed to do with your image.\":\"Utilisez vos droits d'auteur et choisissez la bonne licence d'image. Qu'elle soit libre pour tous ou fortement restreinte. Discutez brièvement de ce que les autres sont autorisés à faire avec votre image.\",\"Use your copyright and choose the right image licence. Whether free for all or highly restricted. Briefly discuss what others are allowed to do with your image.\":\"Utilisez vos droits d'auteur et choisissez la bonne licence d'image. Qu'il s'agisse d'une licence gratuite pour tous ou d'une licence très restreinte. Discutez brièvement de ce que les autres sont autorisés à faire avec votre image.\",\"User registration\":\"Enregistrement de l'utilisateur\",\"Username\":\"Nom d'utilisateur :\",\"Username for authorization.\":\"Nom d'utilisateur pour l'autorisation.\",\"Username for the device.\":\"Nom d'utilisateur pour l'appareil.\",\"VPU ID\":\"ID VPU\",\"Video\":\"Vidéo\",\"Video device\":\"Appareil vidéo\",\"Video settings\":\"Paramètres vidéo\",\"Video setup\":\"Configuration vidéo\",\"Video source\":\"Source vidéo\",\"Viewer\":\"Visionneuse\",\"Virtual source\":\"Source virtuelle\",\"Welcome to Restreamer v2, the solution for fast and easy video publishing. Free for private and commercial use. Further help in the <0>docs.\":\"Bienvenue à Restreamer v2, la solution pour la publication rapide et facile de vidéos. Gratuit pour une utilisation privée et commerciale. Plus d'aide dans les <0>docs.\",\"Write protection\":\"Protection de l'écriture\",\"YUV test pattern\":\"Mire de test YUV\",\"Yes\":\"Oui\",\"You can't abort the wizard because at least one input must be defined.\":\"Vous ne pouvez pas interrompre l'assistant car au moins une entrée doit être définie.\",\"You have changed the configuration. In order for the changes to take effect, you have to restart the application. Do you want to restart now?\":\"Vous avez modifié la configuration. Pour que les changements prennent effet, vous devez redémarrer l'application. Voulez-vous redémarrer maintenant ?\",\"You have to reconnect manually\":\"Vous devez vous reconnecter manuellement\",\"You have unsaved changes. Please save them before you can control the service again.\":\"Vous avez des modifications non sauvegardées. Veuillez les sauvegarder avant de pouvoir contrôler à nouveau le service.\",\"Your stream needs to be encoded, but there's no suitable encoder available.\":\"Votre flux doit être encodé, mais aucun encodeur approprié n'est disponible.\",\"Your stream needs to be encoded. Choose the desired encoder:\":\"Votre flux doit être encodé. Choisissez l'encodeur souhaité :\",\"blue\":\"bleu\",\"brown\":\"brun\",\"iframe code\":\"code iframe\",\"kbit/s\":\"kbit/s\",\"pink\":\"rose\",\"velvet\":\"velours\",\"violet\":\"violet\",\"white\":\"blanc\"}};","/*eslint-disable*/module.exports={messages:{\"<0>Compatibility list\":\"<0>Elenco di compatibilità\",\"<0>Show probe details\":\"<0>Mostra dettagli sonda\",\"ALSA\":\"ALSA\",\"API endpoint not found. Settings not saved.\":\"Endpoint API non trovato. Impostazioni non salvate.\",\"AVFoundation\":\"AVFoundation\",\"Abort\":\"Abort\",\"About\":\"A proposito di\",\"Add\":\"Aggiungi\",\"Add Publication\":\"Aggiungi pubblicazione\",\"Add external widgets and styles to the publication site. You can find some examples on the help page.\":\"Aggiungere widget e stili esterni al sito di pubblicazione. Può trovare alcuni esempi nella pagina di aiuto.\",\"Add new channel\":\"Aggiungere un nuovo canale\",\"Add: {0}\":[\"Aggiungi: \",[\"0\"]],\"Address\":\"Indirizzo\",\"Address for the background image.\":\"Indirizzo per l'immagine di sfondo.\",\"Address to listen on for HTTP requests.\":\"Indirizzo da ascoltare per le richieste HTTP.\",\"Address to listen on for HTTPS requests.\":\"Indirizzo su cui ascoltare le richieste HTTPS.\",\"Adjust publication site colors and background as you like.\":\"Regoli i colori del sito di pubblicazione e lo sfondo come preferisce.\",\"Advanced monitoring\":\"Monitoraggio avanzato\",\"Advanced settings\":\"Impostazioni avanzate\",\"Advanced setup\":\"Configurazione avanzata\",\"Alerting by email\":\"Avvisi via e-mail\",\"All\":\"Tutti\",\"All important system settings.\":\"Tutte le impostazioni importanti del sistema.\",\"Allow all referrer\":\"Consentire tutti i referenti\",\"Allow counting how many viewers the stream has.\":\"Permette di contare quanti spettatori ha lo stream.\",\"Amplitude\":\"Ampiezza\",\"An environment variable sets this value.\":\"Una variabile d'ambiente imposta questo valore.\",\"App\":\"App\",\"Application\":\"Applicazione\",\"Are you sure you want to abort the wizard?\":\"È sicuro di voler interrompere la procedura guidata?\",\"Audio\":\"Audio\",\"Audio Device\":\"Dispositivo audio\",\"Audio device\":\"Dispositivo audio\",\"Audio from device\":\"Audio dal dispositivo\",\"Audio settings\":\"Impostazioni audio\",\"Audio setup\":\"Configurazione audio\",\"Auth0\":\"Auth0\",\"Auth0 Tenant\":\"Auth0 Inquilino\",\"Auth0 is currently not available because this interface is loaded from an insecure origin.\":\"Auth0 non è attualmente disponibile perché questa interfaccia è caricata da un'origine non sicura.\",\"Author\":\"Autore\",\"Authorization\":\"Autorizzazione\",\"Automatic cleanup of all media data\":\"Pulizia automatica di tutti i dati dei media\",\"Autoplay\":\"Autoplay\",\"Available\":\"Disponibile\",\"Back\":\"Indietro\",\"Background colors\":\"Colori di sfondo\",\"Background image\":\"Immagine di sfondo\",\"Backup URL\":\"URL di backup\",\"Backup server\":\"Server di backup\",\"Backup stream\":\"Flusso di backup\",\"Backup stream key\":\"Chiave del flusso di backup\",\"Bandwidth\":\"Larghezza di banda\",\"Bandwidth control\":\"Controllo della larghezza di banda\",\"Banner\":\"Banner\",\"Basic\":\"Di base\",\"Beep factor\":\"Fattore bip\",\"Bitrate\":\"Bitrate\",\"Briefly describe what the audience will see during the live stream.\":\"Descriva brevemente ciò che il pubblico vedrà durante il live stream.\",\"Button color\":\"Colore del pulsante\",\"Cache for files on /data.\":\"Cache per i file su /data.\",\"Cache time (Seconds)\":\"Tempo di cache (secondi)\",\"Cache types\":\"Tipi di cache\",\"Capture clicks\":\"Cattura i clic\",\"Capture cursor\":\"Cattura del cursore\",\"Channel \\\"{0}\\\" saved\":[\"Canale \\\"\",[\"0\"],\"\\\" salvato\"],\"Channels\":\"Canali\",\"Check for updates\":\"Controlla gli aggiornamenti\",\"Check the requirements\":\"Controlla i requisiti\",\"Choose a video stream\":\"Scegliere un flusso video\",\"Choose an audio stream\":\"Scegliere un flusso audio\",\"Choose an input device ...\":\"Scegliere un dispositivo di input ...\",\"Choose codec ...\":\"Scegliere il codec ...\",\"Choose tenant ...\":\"Scelga l'inquilino ...\",\"Chunk\":\"Chunk\",\"Close\":\"Chiudere\",\"Code injection\":\"Iniezione di codice\",\"Codec\":\"Codec\",\"Color\":\"Colore\",\"Config\":\"Configurazione\",\"Confirm password\":\"Confermare la password\",\"Connect\":\"Collegare\",\"Connected device\":\"Dispositivo collegato\",\"Connected since <0/>\":\"Collegato da <0/>\",\"Connecting ...\":\"Collegamento ...\",\"Connecting to Restreamer Core ...\":\"Collegamento a Restreamer Core ...\",\"Connecting to Restreamer Core failed probably because of mixed content.\":\"La connessione a Restreamer Core non è riuscita, probabilmente a causa del contenuto misto.\",\"Content\":\"Contenuto\",\"Content URL\":\"Content URL\",\"Cores\":\"Nuclei\",\"Create user\":\"Creare un utente\",\"Creative Commons\":\"Creative Commons\",\"Custom ...\":\"Personalizzato ...\",\"Custom JSON config for datarhei Core.\":\"Configurazione JSON personalizzata per datarhei Core.\",\"Custom audio device\":\"Dispositivo audio personalizzato\",\"Custom audio index\":\"Indice audio personalizzato\",\"Custom bitrate (kbit/s)\":\"Bitrate personalizzato (kbit/s)\",\"Custom code injection\":\"Iniezione di codice personalizzato\",\"Custom delay\":\"Ritardo personalizzato\",\"Custom device\":\"Dispositivo personalizzato\",\"Custom format\":\"Formato personalizzato\",\"Custom framerate\":\"Framerate personalizzato\",\"Custom keyframe interval\":\"Intervallo keyframe personalizzato\",\"Custom layout\":\"Layout personalizzato\",\"Custom sampling (Hz)\":\"Campionamento personalizzato (Hz)\",\"Custom scale\":\"Scala personalizzata\",\"Custom size\":\"Dimensione personalizzata\",\"Custom video device\":\"Dispositivo video personalizzato\",\"Custom video index\":\"Indice video personalizzato\",\"Data copied to clipboard\":\"Dati copiati negli appunti\",\"Death color\":\"Colore della morte\",\"Decoder\":\"Decoder\",\"Default\":\"Default\",\"Delay\":\"Ritardo\",\"Delay (ms)\":\"Ritardo (ms)\",\"Delete\":\"Cancellare\",\"Deleting a publication service cannot be reversed. The publication stops immediately.\":\"L'eliminazione di un servizio di pubblicazione non può essere annullata. La pubblicazione si interrompe immediatamente.\",\"Delivering mode\":\"Modalità di consegna\",\"Description\":\"Descrizione\",\"Design\":\"Design\",\"Device\":\"Dispositivo\",\"Disconnect\":\"Scollegare\",\"Disconnect & Continue\":\"Disconnettersi e continuare\",\"Disconnecting ...\":\"Scollegamento ...\",\"Disk\":\"Disco\",\"Disk cache\":\"Cache del disco\",\"Disk storage\":\"Archiviazione su disco\",\"Do you really want to restart the application now?\":\"Vuoi davvero riavviare l'applicazione ora?\",\"Do you want to delete \\\"{0}\\\"?\":[\"Vuole cancellare \\\"\",[\"0\"],\"\\\"?\"],\"Do you want to delete {title}?\":[\"Vuoi cancellare \",[\"titolo\"],\"?\"],\"Do you want to disconnect \\\"{0}\\\"?\":[\"Vuole disconnettere \\\"\",[\"0\"],\"\\\"?\"],\"Docs\":\"Documenti\",\"Documentation\":\"Documentazione\",\"Dup. frames\":\"Telai duplicati\",\"EDIT: Player\":\"EDIT: Giocatore\",\"EDIT: Publication Website\":\"EDIT: Sito web di pubblicazione\",\"Edit\":\"Modifica\",\"Edit the audio and video sources for the live stream. Add a description, and set your desired content license.\":\"Modifichi le fonti audio e video per il live stream. Aggiunga una descrizione e imposti la licenza di contenuto desiderata.\",\"Edit: {title}\":[\"Modifica: \",[\"titolo\"]],\"Embed\":\"Incorporare\",\"Enable RTMP server ...\":\"Abilitare il server RTMP ...\",\"Enable a periodic beep every second with this value times the carrier frequency\":\"Abilita un bip periodico ogni secondo con questo valore moltiplicato per la frequenza della portante\",\"Enable backup stream\":\"Attiva il flusso di backup\",\"Enable nerd statistics\":\"Abilita le statistiche dei nerd\",\"Enable primary stream\":\"Attiva il flusso primario\",\"Enable snapshots\":\"Abilita le istantanee\",\"Enabling authorization is strongly advised. Otherwise, anybody can access this instance.\":\"L'abilitazione dell'autorizzazione è fortemente consigliata. Altrimenti, chiunque può accedere a questa istanza.\",\"Enabling basic auth is strongly advised. Otherwise, anybody could write data to /memfs.\":\"L'abilitazione dell'autenticazione di base è fortemente consigliata. Altrimenti, chiunque potrebbe scrivere dati su /memfs.\",\"Encoder\":\"Encoder\",\"Encoding\":\"Codifica\",\"Encryption\":\"Crittografia\",\"Enter a name for the new channel.\":\"Inserisca un nome per il nuovo canale.\",\"Enter password\":\"Inserire la password\",\"Enter the address of your network source:\":\"Inserisci l'indirizzo della tua sorgente di rete:\",\"Enter username\":\"Inserisca il nome utente\",\"Entropy coder\":\"Codificatore di entropia\",\"Error\":\"Errore\",\"Error while copying data to clipboard\":\"Errore durante la copia dei dati negli appunti\",\"Error: {0}\":[\"Errore: \",[\"0\"]],\"Expands the area above the channel list (live chat).\":\"Espande l'area sopra l'elenco dei canali (live chat).\",\"Expands the area under the channel description (comment boxes).\":\"Espande l'area sotto la descrizione del canale (caselle di commento).\",\"Expert mode\":\"Modalità esperto\",\"Extend channel list\":\"Estendere l'elenco dei canali\",\"Extend content\":\"Estendere il contenuto\",\"Extend footer\":\"Estendere il piè di pagina\",\"Extend header\":\"Estendere l'intestazione\",\"FFmpeg\":\"FFmpeg\",\"FPS\":\"FPS\",\"Failed to create publication service ({0})\":[\"Impossibile creare il servizio di pubblicazione (\",[\"0\"],\")\"],\"Failed to create publication website files.\":\"Impossibile creare i file del sito web della pubblicazione.\",\"Failed to probe the source. Please check the <0>probe details.\":\"Impossibile sondare la sorgente. Per favore controlla i <0>dettagli della sonda.\",\"Failed to refresh token: {0}\":[\"Impossibile aggiornare il token: \",[\"0\"]],\"Failed to save ingest metadata\":\"Non è riuscito a salvare i metadati di ingest\",\"Failed to stop process\":\"Non è riuscito a fermare il processo\",\"Failed to store player size setting.\":\"Impossibile memorizzare l'impostazione delle dimensioni del giocatore.\",\"Failed to store publication service ({0})\":[\"Impossibile memorizzare il servizio di pubblicazione (\",[\"0\"],\")\"],\"Failed to update ingest process ({0})\":[\"Fallito l'aggiornamento del processo di ingest (\",[\"0\"],\")\"],\"Failed to update the player\":\"Non è riuscito ad aggiornare il giocatore\",\"Failed to verify the source. Please check the address.\":\"Impossibile verificare la fonte. Si prega di controllare l'indirizzo.\",\"Finish\":\"Finitura\",\"Flags\":\"Bandiere\",\"For Javascripts.\":\"Per i Javascript.\",\"For Stylesheets.\":\"Per i fogli di stile.\",\"Force input framerate\":\"Forzare il framerate in ingresso\",\"Format\":\"Formato\",\"Frame drops\":\"Cadute del telaio\",\"Framebuffer\":\"Framebuffer\",\"Framerate\":\"Framerate\",\"Frequency (Hz)\":\"Frequenza (Hz)\",\"GET\":\"GET\",\"General\":\"Generale\",\"Google Analytics ID\":\"ID di Google Analytics\",\"Google Analytics Tracker Name\":\"Nome del tracker di Google Analytics\",\"HLS\":\"HLS\",\"HLS statistic for the In-memory storage\":\"Statistica HLS per l'archiviazione In-memory\",\"HTTP and HTTPS\":\"HTTP e HTTPS\",\"HTTP port\":\"Porta HTTP\",\"HTTPS (SSL/TLS)\":\"HTTPS (SSL/TLS)\",\"HTTPS port\":\"Porta HTTPS\",\"Hardware device\":\"Dispositivo hardware\",\"Header\":\"Intestazione\",\"Headline\":\"Titolo\",\"Hosted Restreamer interface\":\"Interfaccia Restreamer in hosting\",\"Human readable name on the service.\":\"Nome leggibile dall'uomo del servizio.\",\"IP address\":\"Indirizzo IP\",\"If you changed the ports, it might be that Restreamer Core restarted already, but it is now available on a different port.\":\"Se ha cambiato le porte, è possibile che Restreamer Core sia già stato riavviato, ma ora è disponibile su una porta diversa.\",\"If you enabled Let's Encrypt TLS it might take some time to acquire the certificates. Make sure that Restreamer Core is reachable via port 80 from the internet. Please check the console log of Restreamer Core.\":\"Se ha attivato Let's Encrypt TLS, potrebbe essere necessario un po' di tempo per acquisire i certificati. Si assicuri che Restreamer Core sia raggiungibile tramite la porta 80 da Internet. Controlli il registro della console di Restreamer Core.\",\"Ignore IP ranges\":\"Ignora gli intervalli IP\",\"Image URL\":\"URL dell'immagine\",\"Imprint\":\"Impronta\",\"In addition to the player, the Restreamer offers a complete landingpage, which you can use to present your live stream easily and quickly.\":\"Oltre al player, Restreamer offre una landingpage completa, che può utilizzare per presentare il suo live stream in modo semplice e veloce.\",\"In-memory\":\"In-memory\",\"In-memory storage\":\"Archiviazione in memoria\",\"Incompatible\":\"Incompatibile\",\"Inherit\":\"Eredita\",\"Inject 1\":\"Iniettare 1\",\"Inject 2\":\"Iniettare 2\",\"Inject 3\":\"Iniettare 3\",\"Inject 4\":\"Iniettare 4\",\"Internal HLS server\":\"Server HLS interno\",\"Internal RTMP server\":\"Server RTMP interno\",\"Interval (seconds)\":\"Intervallo (secondi)\",\"Issue alert\":\"Allarme problemi\",\"Keyframe interval (seconds)\":\"Intervallo dei fotogrammi chiave (secondi)\",\"Layout\":\"Layout\",\"Let's Encrypt certification\":\"Certificazione Let's Encrypt\",\"Let's Encrypt requires one or more public domain names and an accessible port 80/TCP.\":\"Let's Encrypt richiede uno o più nomi di dominio pubblico e una porta 80/TCP accessibile.\",\"Level\":\"Livello\",\"Level of system protocol.\":\"Livello di protocollo del sistema.\",\"License\":\"Licenza\",\"Life color\":\"Colore della vita\",\"Linecolor\":\"Linecolor\",\"Link\":\"Link\",\"Link, mouseover\":\"Link, passaggio del mouse\",\"List of IP ranges in CIDR notation, e.g., 127.0.0.1/32, that the statistics will not record—one IP range per line. Leave empty to record all sessions.\":\"Elenco di intervalli IP in notazione CIDR, ad esempio 127.0.0.1/32, che le statistiche non registreranno, un intervallo IP per riga. Lasciare vuoto per registrare tutte le sessioni.\",\"List of file extensions to cache (e.g. \\\".html\\\"), one per line. Leave empty to cache all file types.\":\"Elenco di estensioni di file da mettere in cache (ad esempio \\\".html\\\"), una per riga. Lasciare vuoto per mettere in cache tutti i tipi di file.\",\"List size (segments)\":\"Dimensione della lista (segmenti)\",\"Live-Streaming to Facebook Live RTMP service\":\"Live-Streaming verso il servizio RTMP di Facebook Live\",\"Live-Streaming to Instagram Live RTMP Service. The stream key requires a service such as <0>Yellow Duck.\":\"Live-Streaming su Instagram Live RTMP Service. La chiave di streaming richiede un servizio come <0>Yellow Duck.\",\"Live-Streaming to Twitch Live RTMP Service.\":\"Live-Streaming su Twitch Live RTMP Service.\",\"Live-Streaming to Vimeo Live RTMP Service\":\"Trasmissione in diretta su Vimeo Live RTMP Service\",\"Livesource ID\":\"ID Livesource\",\"Log level\":\"Livello di registro\",\"Logging\":\"Registrazione\",\"Login\":\"Accesso\",\"Login failed: Couldn't load API details\":\"Accesso fallito: Impossibile caricare i dettagli API\",\"Login failed: {0}\":[\"Accesso fallito: \",[\"0\"]],\"Login/JWT authorization\":\"Accesso/Autorizzazione JWT\",\"Logo\":\"Logo\",\"Logout\":\"Disconnessione\",\"MB\":\"MB\",\"Main Source\":\"Fonte principale\",\"Main channel\":\"Canale principale\",\"Main channel not found\":\"Canale principale non trovato\",\"Main channel saved\":\"Canale principale salvato\",\"Main page channel (index.html).\":\"Canale della pagina principale (index.html).\",\"Maintainer:\":\"Manutentore:\",\"Maximum allowed cache size, 0 for unlimited.\":\"Dimensione massima consentita della cache, 0 per illimitata.\",\"Maximum allowed megabytes of RAM for /memfs, 0 for unlimited.\":\"Megabyte massimi consentiti di RAM per /memfs, 0 per illimitato.\",\"Maximum allowed megabytes to consume from hard disk. 0 for unlimited.\":\"Megabyte massimi consentiti da consumare dal disco rigido. 0 per illimitato.\",\"Maximum bandwidth Mbit/s\":\"Larghezza di banda massima Mbit/s\",\"Maximum delay in milliseconds.\":\"Ritardo massimo in millisecondi.\",\"Maximum file size (Megabytes)\":\"Dimensione massima del file (Megabyte)\",\"Maximum file size to put in cache.\":\"Dimensione massima del file da inserire nella cache.\",\"Maximum log histroy\":\"Istanza di log massima\",\"Maximum log lines\":\"Linee di registro massime\",\"Maximum size (Megabytes)\":\"Dimensione massima (Megabyte)\",\"Maximum viewer idle time (Seconds)\":\"Tempo massimo di inattività del telespettatore (secondi)\",\"Maximum viewers\":\"Spettatori massimi\",\"Memory\":\"Memoria\",\"Meta information\":\"Meta informazioni\",\"Metadata\":\"Metadati\",\"Mold\":\"Stampo\",\"More about Twitter's copyright <0>here.\":\"Maggiori informazioni sul copyright di Twitter <0>qui.\",\"More about YouTube's copyright <0>here.\":\"Maggiori informazioni sul copyright di YouTube <0>qui.\",\"More about licenses here\":\"Maggiori informazioni sulle licenze qui\",\"More about the service\":\"Maggiori informazioni sul servizio\",\"Mute\":\"Muto\",\"Name\":\"Nome\",\"Name for the template. If the name already exists, it will be overwritten.\":\"Nome del modello. Se il nome esiste già, verrà sovrascritto.\",\"Network\":\"Rete\",\"Network source\":\"Fonte della rete\",\"Next\":\"Prossimo\",\"Next: Audio\":\"Prossimo: Audio\",\"Next: Video setup\":\"Prossimo: Impostazione video\",\"No\":\"No\",\"No audio\":\"Nessun audio\",\"No audio stream available\":\"Nessun flusso audio disponibile\",\"No input device available\":\"Nessun dispositivo di input disponibile\",\"No live stream was detected. Please check the software that sends the stream.\":\"Non è stato rilevato alcun flusso in diretta. Si prega di controllare il software che invia il flusso.\",\"No source selected\":\"Nessuna fonte selezionata\",\"No sources available\":\"Nessuna fonte disponibile\",\"No suitable encoder found.\":\"Nessun encoder adatto trovato.\",\"No video\":\"Nessun video\",\"No video stream available\":\"Nessun flusso video disponibile\",\"Node ID\":\"ID del nodo\",\"Noise\":\"Rumore\",\"None\":\"Nessuno\",\"Notes\":\"Note\",\"Number of log lines to keep.\":\"Numero di righe di registro da conservare.\",\"Number of logs to keep for each process.\":\"Numero di registri da conservare per ogni processo.\",\"OK\":\"OK\",\"One referrer per line, e.g. http://www.example.com\":\"Un referente per riga, ad esempio http://www.example.com.\",\"Open\":\"Aperto\",\"Passthrough (copy) should only be disabled if necessary. Each encoding requires additional CPU/GPU resources.\":\"Il passthrough (copia) deve essere disattivato solo se necessario. Ogni codifica richiede risorse CPU/GPU aggiuntive.\",\"Password\":\"Password\",\"Password for authorization.\":\"Password per l'autorizzazione.\",\"Password for the device.\":\"Password per il dispositivo.\",\"Persist viewer statistics\":\"Persistere le statistiche dei visualizzatori\",\"Pixel format\":\"Formato pixel\",\"Plan: <0>Starter\":\"Piano: <0>Inizio\",\"Platforms\":\"Piattaforme\",\"Playback\":\"Riproduzione\",\"Player\":\"Giocatore\",\"Player URL\":\"URL del giocatore\",\"Player settings saved\":\"Impostazioni del giocatore salvate\",\"Playersite\":\"Playersite\",\"Playlist\":\"Playlist\",\"Please check the <0>process log\":\"Si prega di controllare il <0>log del processo\",\"Please contact the operator of the service and check what happens.\":\"Contatta l'operatore del servizio e verifica cosa succede.\",\"Please select a file to upload.\":\"Seleziona un file da caricare.\",\"Please use \\\"Passthrough (copy)\\\" if possible. Encoding requires additional CPU/GPU resources.\":\"Se possibile, utilizzi \\\"Passthrough (copia)\\\". La codifica richiede risorse CPU/GPU aggiuntive.\",\"Please wait. Probe stream data ...\":\"Si prega di attendere. Flusso di dati della sonda ...\",\"Please wait. Setting up the stream ...\":\"Si prega di attendere. Impostazione del flusso ...\",\"Port\":\"Porto\",\"Position\":\"Posizione\",\"Preset\":\"Preset\",\"Primary stream\":\"Flusso primario\",\"Primary stream key\":\"Chiave di flusso primaria\",\"Probe\":\"Sonda\",\"Process\":\"Processo\",\"Process control\":\"Controllo del processo\",\"Process debug\":\"Debug del processo\",\"Process debug report\":\"Rapporto di debug del processo\",\"Process details\":\"Dettagli del processo\",\"Process report\":\"Rapporto sul processo\",\"Processing & Control\":\"Elaborazione e controllo\",\"Profile\":\"Profilo\",\"Protocol\":\"Protocollo\",\"Protocols\":\"Protocolli\",\"Public domain/s\":\"Dominio pubblico/i\",\"Publication service not found\":\"Servizio di pubblicazione non trovato\",\"Publication website settings saved\":\"Impostazioni del sito web di pubblicazione salvate\",\"Publications\":\"Pubblicazioni\",\"Pull Mode\":\"Modo di tirare\",\"Pull or recieve the data:\":\"Tirare o ricevere i dati:\",\"Quality\":\"Qualità\",\"RGB test pattern\":\"Modello di test RGB\",\"RTMP app for publishing.\":\"App RTMP per la pubblicazione.\",\"RTMP server\":\"Server RTMP\",\"RTMP server is not enabled\":\"Il server RTMP non è abilitato\",\"RTMP server listen address.\":\"Indirizzo di ascolto del server RTMP.\",\"RTMP token for publishing and playing. The token is the value of the URL query parameter 'token.'\":\"Token RTMP per la pubblicazione e la riproduzione. Il token è il valore del parametro di query URL 'token'.\",\"RTMP/S\":\"RTMP/S\",\"RTMPS server\":\"Server RTMPS\",\"RTSP\":\"RTSP\",\"Raspberry Pi camera\":\"Fotocamera Raspberry Pi\",\"Rate control\":\"Controllo del tasso\",\"Ratio\":\"Rapporto\",\"Read input at native speed\":\"Leggere l'input a velocità nativa\",\"Receive Mode\":\"Modalità di ricezione\",\"Reconnect\":\"Ricollegare\",\"Reconnect delay (seconds)\":\"Ritardo di riconnessione (secondi)\",\"Reconnecting in {0}s\":[\"Riconnettersi in \",[\"0\"],\"s\"],\"Reconnecting to Restreamer Core failed for the last {RETRIES} seconds.\":[\"La riconnessione a Restreamer Core non è riuscita negli ultimi \",[\"RETRIES\"],\" secondi.\"],\"Reconnecting to Restreamer Core failed.\":\"La riconnessione a Restreamer Core non è riuscita.\",\"Refresh\":\"Aggiornamento\",\"Region\":\"Regione\",\"Reload\":\"Ricarica\",\"Remove the oldest entries if the /memfs is full\":\"Rimuovere le voci più vecchie se la /memfs è piena\",\"Requires activation\":\"Richiede l'attivazione\",\"Restart\":\"Riavviare\",\"Restart required\":\"Riavvio richiesto\",\"Restarting\":\"Riavvio\",\"Restarting Restreamer Core ...\":\"Riavvio di Restreamer Core ...\",\"Restarting the application failed.\":\"Il riavvio dell'applicazione non è riuscito.\",\"Restreamer Service\":\"Servizio Restreamer\",\"Retrieving stream data ...\":\"Recuperare i dati del flusso ...\",\"Retry\":\"Riprova\",\"Rule\":\"Regola\",\"Sampling\":\"Campionamento\",\"Save\":\"Salva\",\"Scale\":\"Scala\",\"Seconds to keep files in cache.\":\"Secondi per mantenere i file nella cache.\",\"Seconds until a process is restarted.\":\"Secondi fino al riavvio di un processo.\",\"Seconds until a staled process is terminated.\":\"Secondi fino alla terminazione di un processo in stallo.\",\"Seconds until the snapshot/thumbnail of the video source is updated.\":\"Secondi fino all'aggiornamento dell'istantanea/ miniatura della sorgente video.\",\"Security\":\"Sicurezza\",\"Security token\":\"Token di sicurezza\",\"Seekbar color\":\"Colore Seekbar\",\"Segment length (seconds)\":\"Lunghezza del segmento (secondi)\",\"Segment will be cut on the following keyframe after this time has passed. 2 is recommended.\":\"Il segmento verrà tagliato sul fotogramma chiave successivo, una volta trascorso questo tempo. Si consiglia il valore 2.\",\"Segmentation\":\"Segmentazione\",\"Select a device:\":\"Selezionare un dispositivo:\",\"Select audio source:\":\"Seleziona la sorgente audio:\",\"Select source ...\":\"Selezionare la fonte ...\",\"Select video source:\":\"Selezionare la sorgente video:\",\"Select whether you pull the stream from a <0>network source (such as a network camera) or the <1>internal RTMP server (e.g., OBS streams to the Restreamer).\":\"Selezioni se prelevare il flusso da una <0>sorgente di rete (come una telecamera di rete) o dal <1>server RTMP interno (ad esempio, i flussi OBS verso il Restreamer).\",\"Select your encoding setting:\":\"Seleziona la tua impostazione di codifica:\",\"Selected\":\"Selezionato\",\"Selected channel\":\"Canale selezionato\",\"Selection\":\"Selezione\",\"Send anonymous metrics (helps us for future development)\":\"Invii metriche anonime (ci aiuta per lo sviluppo futuro)\",\"Send stream to this address:\":\"Invia il flusso a questo indirizzo:\",\"Send video to Framebuffer\":\"Invia il video al Framebuffer\",\"Server\":\"Server\",\"Service\":\"Servizio\",\"Service name\":\"Nome del servizio\",\"Service token for monitoring.\":\"Token di servizio per il monitoraggio.\",\"Sessions\":\"Sessioni\",\"Sets a bandwidth limit in Mbit per second for outgoing HLS data transfer. All services, such as RTMP and outgoing processes, are included in the calculation. If the bandwidth is exceeded, HLS viewers receive the HTTP status code 509 (Bandwidth Limit Exceeded). 0 is unlimited.\":\"Imposta un limite di larghezza di banda in Mbit al secondo per il trasferimento di dati HLS in uscita. Tutti i servizi, come RTMP e i processi in uscita, sono inclusi nel calcolo. Se la larghezza di banda viene superata, gli spettatori HLS ricevono il codice di stato HTTP 509 (Limite di larghezza di banda superato). 0 è illimitato.\",\"Sets a viewer limit for HLS sessions. If the limit is exceeded, HLS viewers receive the HTTP status code 509 (Bandwidth Limit Exceeded). 0 is unlimited.\":\"Imposta un limite di visualizzazione per le sessioni HLS. Se il limite viene superato, gli spettatori HLS ricevono il codice di stato HTTP 509 (Bandwidth Limit Exceeded). 0 è illimitato.\",\"Setting for connection to the service.\":\"Impostazione per la connessione al servizio.\",\"Settings\":\"Impostazioni\",\"Settings (expert mode)\":\"Impostazioni (modalità esperto)\",\"Settings for /data path. The access is protected by\":\"Impostazioni per il percorso /data. L'accesso è protetto da\",\"Settings for /memfs path.\":\"Impostazioni per il percorso /memfs.\",\"Settings saved. All changes will be applied after restarting the application.\":\"Impostazioni salvate. Tutte le modifiche saranno applicate dopo il riavvio dell'applicazione.\",\"Share button\":\"Tasto condividi\",\"Shows a reference to the project.\":\"Mostra un riferimento al progetto.\",\"Sign up (free)\":\"Si iscriva (gratis)\",\"Silence\":\"Silenzio\",\"Silence Audio\":\"Silenzio Audio\",\"Sine\":\"Seno\",\"Sitename\":\"Nome del sito\",\"Size\":\"Dimensione\",\"Snapshot\":\"Snapshot\",\"Social-login (OAuth2, 2FA)\":\"Social-login (OAuth2, 2FA)\",\"Socket timeout (microseconds)\":\"Timeout della presa (microsecondi)\",\"Software\":\"Software\",\"Source\":\"Fonte\",\"Speed\":\"Velocità\",\"Stale timeout (seconds)\":\"Timeout di stallo (secondi)\",\"Statistics\":\"Statistiche\",\"Storage\":\"Stoccaggio\",\"Stores the viewer statistics to the disk.\":\"Memorizza le statistiche del visualizzatore sul disco.\",\"Stream\":\"Flusso\",\"Stream URL\":\"URL del flusso\",\"Stream key\":\"Chiave del flusso\",\"Stream name\":\"Nome del flusso\",\"Stream names\":\"Nomi dei flussi\",\"Support datarhei Restreamer\":\"Supporto datarhei Restreamer\",\"Supports HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT and more.\":\"Supporta HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT e altro.\",\"System\":\"Sistema\",\"Template\":\"Modello\",\"Template to be used for creating the publication website. The delete button removes the selection from the system.\":\"Modello da utilizzare per la creazione del sito web della pubblicazione. Il pulsante Elimina rimuove la selezione dal sistema.\",\"Terms\":\"Termini\",\"Test pattern\":\"Modello di test\",\"Test pattern (extended)\":\"Modello di test (esteso)\",\"Text colors\":\"Colori del testo\",\"The amplitude (0.0 - 1.0) of the generated audio stream\":\"L'ampiezza (0.0 - 1.0) del flusso audio generato\",\"The application is using an older version of the settings.\":\"L'applicazione sta usando una vecchia versione delle impostazioni.\",\"The bitrate of the audio stream.\":\"Il bitrate del flusso audio.\",\"The carrier frequency\":\"La frequenza portante\",\"The channel \\\"{0}\\\" could not be deleted\":[\"Non è stato possibile eliminare il canale \\\"\",[\"0\"],\"\\\".\"],\"The channel \\\"{0}\\\" has been deleted\":[\"Il canale \\\"\",[\"0\"],\"\\\" è stato cancellato.\"],\"The deletion of this channel can not be recovered. All publications of this channel will be removed.\":\"La cancellazione di questo canale non può essere recuperata. Tutte le pubblicazioni di questo canale saranno rimosse.\",\"The input profile is not complete. Please define a video and audio source.\":\"Il profilo di ingresso non è completo. Si prega di definire una sorgente video e audio.\",\"The layout of the audio stream.\":\"Il layout del flusso audio.\",\"The maximum number of playlist segments. 0 will contain all the segments. 6 is recommended.\":\"Il numero massimo di segmenti della playlist. 0 conterrà tutti i segmenti. 6 è consigliato.\",\"The noise color\":\"Il colore del rumore\",\"The person who associated a work with this deed has dedicated the work to the public domain by waiving all of his or her rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law. You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.\":\"La persona che ha associato un'opera con questo atto ha dedicato l'opera al pubblico dominio rinunciando a tutti i suoi diritti sull'opera in tutto il mondo secondo la legge sul diritto d'autore, compresi tutti i diritti connessi e vicini, nella misura consentita dalla legge. Puoi copiare, modificare, distribuire ed eseguire l'opera, anche per scopi commerciali, il tutto senza chiedere il permesso.\",\"The public reachable domain name of the host this Restreamer is running on. Separate multiple domain names by a comma.\":\"Il nome di dominio pubblico raggiungibile dell'host su cui gira questo Restreamer. Separi i nomi di dominio multipli con una virgola.\",\"The publication service \\\"{0}\\\" could not be deleted\":[\"Il servizio di pubblicazione \\\"\",[\"0\"],\"\\\" non può essere eliminato\"],\"The publication service \\\"{0}\\\" has been created\":[\"Il servizio di pubblicazione \\\"\",[\"0\"],\"\\\" è stato creato\"],\"The publication service \\\"{0}\\\" has been deleted\":[\"Il servizio di pubblicazione \\\"\",[\"0\"],\"\\\" è stato cancellato\"],\"The publication service has been created\":\"Il servizio di pubblicazione è stato creato\",\"The sample rate of the audio stream.\":\"La frequenza di campionamento del flusso audio.\",\"The selected file is too big ({0} bytes). Only {1} bytes are allowed.\":[\"Il file selezionato è troppo grande (\",[\"0\"],\" byte). Sono ammessi solo \",[\"1\"],\" byte.\"],\"The selected file type ({0}) is not allowed. Allowed file types are {types}\":[\"Il tipo di file selezionato (\",[\"0\"],\") non è consentito. I tipi di file consentiti sono \",[\"types\"]],\"The settings for \\\"{0}\\\" have been saved\":[\"Le impostazioni per \\\"\",[\"0\"],\"\\\" sono state salvate\"],\"The source doesn't provide any audio streams.\":\"La fonte non fornisce alcun flusso audio.\",\"The source doesn't provide any audio streams. Please check the <0>probe details.\":\"La sorgente non fornisce alcun flusso audio. Per favore controlla i <0>dettagli della sonda.\",\"The source doesn't provide any compatible audio streams.\":\"La fonte non fornisce alcun flusso audio compatibile.\",\"The source doesn't provide any compatible video streams. Please check the <0>requirements.\":\"La fonte non fornisce alcun flusso video compatibile. Per favore controlla i <0>requisiti.\",\"The source doesn't provide any video streams. Please check the <0>probe details.\":\"La fonte non fornisce alcun flusso video. Per favore controlla i <0>dettagli della sonda.\",\"The source doesn't provide any video streams. Please check the device.\":\"La fonte non fornisce alcun flusso video. Si prega di controllare il dispositivo.\",\"The video source doesn't provide any compatible audio stream. <0>Silence audio is recommended. Services e.g. YouTube, Facebook & Co. require an audio channel.\":\"La sorgente video non fornisce alcun flusso audio compatibile. Si raccomanda <0>Audio silenzioso. I servizi come YouTube, Facebook & Co. richiedono un canale audio.\",\"The video source is compatible. Select the desired resolution:\":\"La sorgente video è compatibile. Selezionare la risoluzione desiderata:\",\"There are updates available. Here you get more information.\":\"Sono disponibili degli aggiornamenti. Qui può ottenere maggiori informazioni.\",\"There was a problem storing the settings. Settings not saved.\":\"Si è verificato un problema nella memorizzazione delle impostazioni. Le impostazioni non sono state salvate.\",\"There was an error connecting to Restreamer Core at {0}.\":[\"Si è verificato un errore di connessione a Restreamer Core a \",[\"0\"],\".\"],\"There was an error during upload: {0}\":[\"Si è verificato un errore durante il caricamento: \",[\"0\"]],\"There was an error setting up the stream.\":\"C'è stato un errore nell'impostazione del flusso.\",\"There were some errors in the settings. Settings not saved.\":\"Ci sono stati alcuni errori nelle impostazioni. Impostazioni non salvate.\",\"There's no login method available.\":\"Non c'è un metodo di accesso disponibile.\",\"This is a dummy service that explains to you the concepts of service.\":\"Questo è un servizio fittizio che le spiega i concetti di servizio.\",\"This is not necessarily an error. However, it may take a bit longer for Restreamer Core to restart..\":\"Non si tratta necessariamente di un errore. Tuttavia, potrebbe essere necessario un po' più di tempo perché Restreamer Core si riavvii...\",\"This is to mention the copyright regulations for the target of this service.\":\"Questo per citare le norme sul copyright per il target di questo servizio.\",\"This license allows reusers to copy and distribute the material in any medium or format in unadapted form only, and only so long as attribution is given to the creator. The license allows for commercial use.\":\"Questa licenza permette ai riutilizzatori di copiare e distribuire il materiale in qualsiasi mezzo o formato solo in forma non adattata, e solo a condizione che venga data attribuzione al creatore. La licenza permette l'uso commerciale.\",\"This license allows reusers to copy and distribute the material in any medium or format in unadapted form only, for noncommercial purposes only, and only so long as attribution is given to the creator.\":\"Questa licenza permette ai riutilizzatori di copiare e distribuire il materiale in qualsiasi mezzo o formato solo in forma non adattata, solo per scopi non commerciali, e solo a condizione che venga data attribuzione al creatore.\",\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format for noncommercial purposes only, and only so long as attribution is given to the creator.\":\"Questa licenza permette ai riutilizzatori di distribuire, remixare, adattare e costruire sul materiale in qualsiasi mezzo o formato solo per scopi non commerciali, e solo finché viene data attribuzione al creatore.\",\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format for noncommercial purposes only, and only so long as attribution is given to the creator. If you remix, adapt, or build upon the material, you must license the modified material under identical terms.\":\"Questa licenza permette ai riutilizzatori di distribuire, remixare, adattare e costruire sul materiale in qualsiasi mezzo o formato solo per scopi non commerciali, e solo finché viene data l'attribuzione al creatore. Se remixate, adattate o costruite sul materiale, dovete dare in licenza il materiale modificato sotto gli stessi termini.\",\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format, so long as attribution is given to the creator. The license allows for commercial use.\":\"Questa licenza permette ai riutilizzatori di distribuire, remixare, adattare e costruire sul materiale in qualsiasi mezzo o formato, purché venga data l'attribuzione al creatore. La licenza permette l'uso commerciale.\",\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format, so long as attribution is given to the creator. The license allows for commercial use. If you remix, adapt, or build upon the material, you must license the modified material under identical terms.\":\"Questa licenza permette ai riutilizzatori di distribuire, remixare, adattare e costruire sul materiale in qualsiasi mezzo o formato, purché venga data l'attribuzione al creatore. La licenza permette l'uso commerciale. Se remixate, adattate o costruite sul materiale, dovete dare in licenza il materiale modificato sotto gli stessi termini.\",\"This source cannot be edited while it is in use. To continue, you have to disconnect the source.\":\"Questa sorgente non può essere modificata mentre è in uso. Per continuare, deve scollegare la sorgente.\",\"This version of the UI doesn't support the available FFmpeg binary ({0}). The UI requires {1}. Please use a supported FFmpeg binary.\":[\"Questa versione dell'interfaccia utente non supporta il binario FFmpeg disponibile (\",[\"0\"],\"). L'interfaccia utente richiede \",[\"1\"],\". Utilizzi un binario FFmpeg supportato.\"],\"This version of the UI doesn't support the connected Core ({0}). The UI requires {1}. Please use a compatible version of the UI.\":[\"Questa versione dell'interfaccia utente non supporta il Core connesso (\",[\"0\"],\"). L'interfaccia utente richiede \",[\"1\"],\". Utilizzi una versione compatibile dell'interfaccia utente.\"],\"This version of the UI is compatible.\":\"Questa versione dell'UI è compatibile.\",\"Time until an inactive viewer connection is treated as closed.\":\"Tempo fino a quando una connessione inattiva del visualizzatore viene trattata come chiusa.\",\"Token\":\"Token\",\"Transmit snapshots of the main source to an HTTP/S Server. More details about the settings can be found <0>here.\":\"Trasmette le istantanee della sorgente principale a un server HTTP/S. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"Transmit the audio channel of the main source to an Icecast Server. More details about the settings can be found <0>here.\":\"Trasmette il canale audio della sorgente principale a un server Icecast. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"Transmit the main source as HTTP-Live-Streaming (HLS) to an HTTP/S Server. More details about the settings can be found <0>here.\":\"Trasmette la sorgente principale come HTTP-Live-Streaming (HLS) a un server HTTP/S. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"Transmit the main source as MPEG-DASH to an HTTP/S Server. More details about the settings can be found <0>here.\":\"Trasmette la sorgente principale come MPEG-DASH a un server HTTP/S. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"Transmit the main source to a Brightcove Live Service. More details about the settings can be found <0>here.\":\"Trasmette la sorgente principale a un servizio Brightcove Live. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"Transmit the main source to an CDN77 RTMP Service. More about the setup <0>here.\":\"Trasmette la sorgente principale a un servizio RTMP di CDN77. Maggiori informazioni sulla configurazione <0>qui.\",\"Transmit the main source to an DaCast RTMP Service. More about the setup <0>here.\":\"Trasmette la sorgente principale a un servizio RTMP DaCast. Maggiori informazioni sulla configurazione <0>qui.\",\"Transmit the main source to an MPEG-TS Service. More details about the settings can be found here <0>here.\":\"Trasmette la sorgente principale a un Servizio MPEG-TS. Maggiori dettagli sulle impostazioni sono disponibili qui <0>qui.\",\"Transmit the main source to an RTMP(e|s|t|te|ts) Server. More details about the settings can be found <0>here.\":\"Trasmette la sorgente principale a un server RTMP(e|s|t|te|ts). Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"Transmit the main source to an RTSP Server. More details about the settings can be found <0>here.\":\"Trasmette la sorgente principale a un server RTSP. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"Transmit the main source to an Red5/Pro Server. More details about the settings can be found <0>here.\":\"Trasmette la sorgente principale a un Server Red5/Pro. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"Transmit the main source to an SRT Server. More details about the settings can be found <0>here.\":\"Trasmette la sorgente principale a un server SRT. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"Transmit the main source to an UDP Server. More details about the settings can be found <0>here.\":\"Trasmette la sorgente principale a un server UDP. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"Transmit the main source to an WOWZA Server. More details about the settings can be found <0>here.\":\"Trasmette la sorgente principale a un server WOWZA. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"Transmit the main source to an datarhei Core Ressource. More details about the settings can be found <0>here.\":\"Trasmette la sorgente principale a una risorsa Core datarhei. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"Transmit the main source to an livespotting.com Ressource. More details about the settings can be found <0>here.\":\"Trasmette la fonte principale ad una fonte di livespotting.com. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"Transmit the main source to the Akamai (MSL) Media Services Live. More details about the MSL Encoder settings can be found on <0>here.\":\"Trasmette la sorgente principale a Akamai (MSL) Media Services Live. Maggiori dettagli sulle impostazioni dell'Encoder MSL sono disponibili su <0>qui.\",\"Transmit the main source to the Bitmovin cloud encoding service, a powerful tool for live streaming. More details about the settings can be founds <0>here.\":\"Trasmette la sorgente principale al servizio di codifica cloud Bitmovin, un potente strumento per lo streaming live. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"Transmit the main source to the Restream RTMP Service. More details about the settings can be found <0>here.\":\"Trasmette la sorgente principale al Servizio Restream RTMP. Maggiori dettagli sulle impostazioni sono disponibili <0>qui.\",\"Transmits your video as an RTMP stream with the required key generated in YouTube Studio. You can find more information on setting up a live stream at YouTube's <0>Creator Academy.\":\"Trasmette il suo video come flusso RTMP con la chiave necessaria generata in YouTube Studio. Può trovare maggiori informazioni sull'impostazione di un live stream nella <0>Creator Academy di YouTube.\",\"Transmits your video stream with the required key, which was generated in Twitter Producer. You can find more information on seting up a live stream at Twitter's <0>Producer.\":\"Trasmette il suo flusso video con la chiave richiesta, che è stata generata in Twitter Producer. Può trovare maggiori informazioni sull'impostazione di un live stream su Twitter <0>Producer.\",\"Tune\":\"Tune\",\"UDP transport\":\"Trasporto UDP\",\"Unable to load the config.\":\"Impossibile caricare la configurazione.\",\"Unique ident on the service.\":\"Identità unica del servizio.\",\"Unknown\":\"Sconosciuto\",\"Unselected\":\"Non selezionato\",\"Upload\":\"Carica\",\"Uploading the file failed\":\"Il caricamento del file non è riuscito\",\"Uploading the logo failed\":\"Caricamento del logo fallito\",\"Uptime\":\"Uptime\",\"Use Auth0 for your running Restreamer Core. More <0>details.\":\"Utilizzi Auth0 per il suo Restreamer Core in esecuzione. Ulteriori <0>dettagli.\",\"Use the wizard (<0/>) for a quick and easy setup, or edit (<1/>) the sources directly in custom mode.\":\"Utilizzi la procedura guidata (<0/>) per un'impostazione rapida e semplice, oppure modifichi (<1/>) le sorgenti direttamente in modalità personalizzata.\",\"Use your copyright and choose the correct image license. Whether free for all or highly restricted. Briefly discuss what others are allowed to do with your image.\":\"Utilizzi il suo copyright e scelga la licenza d'immagine corretta. Che sia libera per tutti o altamente limitata. Discuta brevemente di ciò che gli altri possono fare con la sua immagine.\",\"Use your copyright and choose the right image licence. Whether free for all or highly restricted. Briefly discuss what others are allowed to do with your image.\":\"Usa il tuo copyright e scegli la giusta licenza per le immagini. Che sia libera per tutti o altamente limitata. Discuti brevemente su cosa gli altri possono fare con la tua immagine.\",\"User registration\":\"Registrazione dell'utente\",\"Username\":\"Nome utente\",\"Username for authorization.\":\"Nome utente per l'autorizzazione.\",\"Username for the device.\":\"Nome utente del dispositivo.\",\"VPU ID\":\"ID VPU\",\"Video\":\"Video\",\"Video device\":\"Dispositivo video\",\"Video settings\":\"Impostazioni video\",\"Video setup\":\"Configurazione video\",\"Video source\":\"Fonte video\",\"Viewer\":\"Visualizzatore\",\"Virtual source\":\"Fonte virtuale\",\"Welcome to Restreamer v2, the solution for fast and easy video publishing. Free for private and commercial use. Further help in the <0>docs.\":\"Benvenuti a Restreamer v2, la soluzione per pubblicare video in modo facile e veloce. Gratuito per uso privato e commerciale. Ulteriore aiuto nei <0>docs.\",\"Write protection\":\"Scrivere la protezione\",\"YUV test pattern\":\"Modello di test YUV\",\"Yes\":\"Sì\",\"You can't abort the wizard because at least one input must be defined.\":\"Non può interrompere la procedura guidata perché deve essere definito almeno un ingresso.\",\"You have changed the configuration. In order for the changes to take effect, you have to restart the application. Do you want to restart now?\":\"Hai cambiato la configurazione. Affinché le modifiche abbiano effetto, devi riavviare l'applicazione. Vuoi riavviare ora?\",\"You have to reconnect manually\":\"Devi riconnetterti manualmente\",\"You have unsaved changes. Please save them before you can control the service again.\":\"Hai delle modifiche non salvate. Per favore, salvale prima di poter controllare di nuovo il servizio.\",\"Your stream needs to be encoded, but there's no suitable encoder available.\":\"Il suo flusso deve essere codificato, ma non è disponibile un codificatore adatto.\",\"Your stream needs to be encoded. Choose the desired encoder:\":\"Il tuo flusso deve essere codificato. Scegli il codificatore desiderato:\",\"blue\":\"blu\",\"brown\":\"marrone\",\"iframe code\":\"codice iframe\",\"kbit/s\":\"kbit/s\",\"pink\":\"rosa\",\"velvet\":\"velluto\",\"violet\":\"viola\",\"white\":\"bianco\"}};","/*eslint-disable*/module.exports={messages:{\"<0>Compatibility list\":\"<0>Lista de compatibilidade\",\"<0>Show probe details\":\"<0>Mostrar detalhes da sonda\",\"ALSA\":\"ALSA\",\"API endpoint not found. Settings not saved.\":\"Ponto final API não encontrado. Configurações não salvas.\",\"AVFoundation\":\"AVFoundation\",\"Abort\":\"Abortar\",\"About\":\"Sobre\",\"Add\":\"Adicione\",\"Add Publication\":\"Adicionar Publicação\",\"Add external widgets and styles to the publication site. You can find some examples on the help page.\":\"Adicione widgets e estilos externos ao site de publicação. Você pode encontrar alguns exemplos na página de ajuda.\",\"Add new channel\":\"Adicionar novo canal\",\"Add: {0}\":[\"Adicionar: \",[\"0\"]],\"Address\":\"Endereço\",\"Address for the background image.\":\"Endereço para a imagem de fundo.\",\"Address to listen on for HTTP requests.\":\"Endereço para ouvir os pedidos HTTP.\",\"Address to listen on for HTTPS requests.\":\"Endereço para ouvir os pedidos de HTTPS.\",\"Adjust publication site colors and background as you like.\":\"Ajuste as cores e o fundo do site de publicação como você quiser.\",\"Advanced monitoring\":\"Monitoramento avançado\",\"Advanced settings\":\"Configurações avançadas\",\"Advanced setup\":\"Configuração avançada\",\"Alerting by email\":\"Alerta por e-mail\",\"All\":\"Todos\",\"All important system settings.\":\"Todas as configurações importantes do sistema.\",\"Allow all referrer\":\"Permitir a todos os encaminhadores\",\"Allow counting how many viewers the stream has.\":\"Permitir contar quantos espectadores o fluxo tem.\",\"Amplitude\":\"Amplitude\",\"An environment variable sets this value.\":\"Uma variável de ambiente define este valor.\",\"App\":\"App\",\"Application\":\"Aplicação\",\"Are you sure you want to abort the wizard?\":\"Você tem certeza de que quer abortar o feiticeiro?\",\"Audio\":\"Áudio\",\"Audio Device\":\"Dispositivo de áudio\",\"Audio device\":\"Dispositivo de áudio\",\"Audio from device\":\"Áudio do dispositivo\",\"Audio settings\":\"Configurações de áudio\",\"Audio setup\":\"Configuração de áudio\",\"Auth0\":\"Auth0\",\"Auth0 Tenant\":\"Auth0 Inquilino\",\"Auth0 is currently not available because this interface is loaded from an insecure origin.\":\"Auth0 não está atualmente disponível porque esta interface é carregada a partir de uma origem insegura.\",\"Author\":\"Autor\",\"Authorization\":\"Autorização\",\"Automatic cleanup of all media data\":\"Limpeza automática de todos os dados da mídia\",\"Autoplay\":\"Autoplay\",\"Available\":\"Disponível em\",\"Back\":\"Voltar\",\"Background colors\":\"Cores de fundo\",\"Background image\":\"Imagem de fundo\",\"Backup URL\":\"URL de backup\",\"Backup server\":\"Servidor de backup\",\"Backup stream\":\"Fluxo de backup\",\"Backup stream key\":\"Chave de fluxo de backup\",\"Bandwidth\":\"Largura de banda\",\"Bandwidth control\":\"Controle de largura de banda\",\"Banner\":\"Banner\",\"Basic\":\"Básico\",\"Beep factor\":\"Fator Beep\",\"Bitrate\":\"Taxa de bits\",\"Briefly describe what the audience will see during the live stream.\":\"Descrever brevemente o que o público verá durante a transmissão ao vivo.\",\"Button color\":\"Cor do botão\",\"Cache for files on /data.\":\"Cache para arquivos em /dados.\",\"Cache time (Seconds)\":\"Tempo de cache (Segundos)\",\"Cache types\":\"Tipos de cachês\",\"Capture clicks\":\"Cliques de captura\",\"Capture cursor\":\"Captura do cursor\",\"Channel \\\"{0}\\\" saved\":[\"Canal \\\"\",[\"0\"],\"\\\" salvo\"],\"Channels\":\"Canais\",\"Check for updates\":\"Verificar por atualizações\",\"Check the requirements\":\"Verifique os requisitos\",\"Choose a video stream\":\"Escolha um fluxo de vídeo\",\"Choose an audio stream\":\"Escolha um fluxo de áudio\",\"Choose an input device ...\":\"Escolha um dispositivo de entrada ...\",\"Choose codec ...\":\"Escolha o codec ...\",\"Choose tenant ...\":\"Escolher inquilino ...\",\"Chunk\":\"Pedaço\",\"Close\":\"Fechar\",\"Code injection\":\"Injeção de código\",\"Codec\":\"Codec\",\"Color\":\"Cor\",\"Config\":\"Config\",\"Confirm password\":\"Confirmar senha\",\"Connect\":\"Conecte\",\"Connected device\":\"Dispositivo conectado\",\"Connected since <0/>\":\"Conectado desde <0/>\",\"Connecting ...\":\"Conectando ...\",\"Connecting to Restreamer Core ...\":\"Conectando-se ao Restreamer Core ...\",\"Connecting to Restreamer Core failed probably because of mixed content.\":\"A conexão com o Restreamer Core falhou provavelmente por causa do conteúdo misto.\",\"Content\":\"Conteúdo\",\"Content URL\":\"Content URL\",\"Cores\":\"Núcleos\",\"Create user\":\"Criar usuário\",\"Creative Commons\":\"Creative Commons\",\"Custom ...\":\"Personalizado ...\",\"Custom JSON config for datarhei Core.\":\"Configuração JSON personalizada para datarhei Core.\",\"Custom audio device\":\"Dispositivo de áudio personalizado\",\"Custom audio index\":\"Índice de áudio personalizado\",\"Custom bitrate (kbit/s)\":\"Taxa de bits personalizada (kbit/s)\",\"Custom code injection\":\"Injeção de código personalizado\",\"Custom delay\":\"Atraso personalizado\",\"Custom device\":\"Dispositivo personalizado\",\"Custom format\":\"Formato personalizado\",\"Custom framerate\":\"Framerate personalizado\",\"Custom keyframe interval\":\"Intervalo de chaveiro personalizado\",\"Custom layout\":\"Layout personalizado\",\"Custom sampling (Hz)\":\"Amostragem personalizada (Hz)\",\"Custom scale\":\"Escala personalizada\",\"Custom size\":\"Tamanho personalizado\",\"Custom video device\":\"Dispositivo de vídeo personalizado\",\"Custom video index\":\"Índice de vídeo personalizado\",\"Data copied to clipboard\":\"Dados copiados para a prancheta\",\"Death color\":\"Cor da morte\",\"Decoder\":\"Decodificador\",\"Default\":\"Predefinição\",\"Delay\":\"Atraso\",\"Delay (ms)\":\"Atraso (ms)\",\"Delete\":\"Excluir\",\"Deleting a publication service cannot be reversed. The publication stops immediately.\":\"A eliminação de um serviço de publicação não pode ser revertida. A publicação pára imediatamente.\",\"Delivering mode\":\"Modo de entrega\",\"Description\":\"Descrição\",\"Design\":\"Projeto\",\"Device\":\"Dispositivo\",\"Disconnect\":\"Desconectar\",\"Disconnect & Continue\":\"Desconectar e continuar\",\"Disconnecting ...\":\"Desconectando ...\",\"Disk\":\"Disco\",\"Disk cache\":\"Cache de disco\",\"Disk storage\":\"Armazenamento em disco\",\"Do you really want to restart the application now?\":\"Você realmente quer reiniciar a aplicação agora?\",\"Do you want to delete \\\"{0}\\\"?\":[\"Você quer excluir \\\"\",[\"0\"],\"\\\"?\"],\"Do you want to delete {title}?\":[\"Você quer apagar \",[\"título\"],\"?\"],\"Do you want to disconnect \\\"{0}\\\"?\":[\"Você quer desconectar \\\"\",[\"0\"],\"\\\"?\"],\"Docs\":\"Docs\",\"Documentation\":\"Documentação\",\"Dup. frames\":\"Molduras Dup\",\"EDIT: Player\":\"EDIT: Jogador\",\"EDIT: Publication Website\":\"EDIT: Site de publicação\",\"Edit\":\"Editar\",\"Edit the audio and video sources for the live stream. Add a description, and set your desired content license.\":\"Edite as fontes de áudio e vídeo para a transmissão ao vivo. Adicione uma descrição e defina sua licença de conteúdo desejada.\",\"Edit: {title}\":[\"Edição: \",[\"título\"]],\"Embed\":\"Embutir\",\"Enable RTMP server ...\":\"Habilitar servidor RTMP ...\",\"Enable a periodic beep every second with this value times the carrier frequency\":\"Habilitar um bip periódico a cada segundo com este valor vezes a freqüência portadora\",\"Enable backup stream\":\"Habilitar o fluxo de backup\",\"Enable nerd statistics\":\"Habilitar estatísticas de nerds\",\"Enable primary stream\":\"Habilitar o fluxo primário\",\"Enable snapshots\":\"Habilitar instantâneos\",\"Enabling authorization is strongly advised. Otherwise, anybody can access this instance.\":\"Aconselha-se vivamente a autorização. Caso contrário, qualquer pessoa pode ter acesso a esta instância.\",\"Enabling basic auth is strongly advised. Otherwise, anybody could write data to /memfs.\":\"Aconselha-se vivamente que se habilite a auth básica. Caso contrário, qualquer pessoa poderia escrever dados para /memfs.\",\"Encoder\":\"Codificador\",\"Encoding\":\"Codificação\",\"Encryption\":\"Criptografia\",\"Enter a name for the new channel.\":\"Digite um nome para o novo canal.\",\"Enter password\":\"Digite a senha\",\"Enter the address of your network source:\":\"Digite o endereço de sua fonte de rede:\",\"Enter username\":\"Digite o nome de usuário\",\"Entropy coder\":\"Codificador de entropia\",\"Error\":\"Erro\",\"Error while copying data to clipboard\":\"Erro ao copiar dados para a prancheta\",\"Error: {0}\":[\"Erro: \",[\"0\"]],\"Expands the area above the channel list (live chat).\":\"Expande a área acima da lista de canais (bate-papo ao vivo).\",\"Expands the area under the channel description (comment boxes).\":\"Expande a área sob a descrição do canal (caixas de comentários).\",\"Expert mode\":\"Modo especialista\",\"Extend channel list\":\"Ampliar a lista de canais\",\"Extend content\":\"Ampliar o conteúdo\",\"Extend footer\":\"Ampliar o rodapé\",\"Extend header\":\"Ampliar cabeçalho\",\"FFmpeg\":\"FFmpeg\",\"FPS\":\"FPS\",\"Failed to create publication service ({0})\":[\"Falha na criação do serviço de publicação (\",[\"0\"],\")\"],\"Failed to create publication website files.\":\"Falha na criação dos arquivos do site de publicação.\",\"Failed to probe the source. Please check the <0>probe details.\":\"Falha na sondagem da fonte. Por favor, verifique os <0> detalhes da sonda.\",\"Failed to refresh token: {0}\":[\"Falha em atualizar a ficha: \",[\"0\"]],\"Failed to save ingest metadata\":\"Falha em salvar metadados ingeridos\",\"Failed to stop process\":\"Falha em interromper o processo\",\"Failed to store player size setting.\":\"Falha no ajuste do tamanho do jogador.\",\"Failed to store publication service ({0})\":[\"Falha no serviço de publicação de lojas (\",[\"0\"],\")\"],\"Failed to update ingest process ({0})\":[\"Falha em atualizar o processo de ingestão (\",[\"0\"],\")\"],\"Failed to update the player\":\"Falha na atualização do jogador\",\"Failed to verify the source. Please check the address.\":\"Falha na verificação da fonte. Por favor, verifique o endereço.\",\"Finish\":\"Terminar\",\"Flags\":\"Bandeiras\",\"For Javascripts.\":\"Para Javascripts.\",\"For Stylesheets.\":\"Para Fichas de Estilo.\",\"Force input framerate\":\"Forçar o frame de entrada\",\"Format\":\"Formato\",\"Frame drops\":\"Gotas de moldura\",\"Framebuffer\":\"Framebuffer\",\"Framerate\":\"Framerate\",\"Frequency (Hz)\":\"Freqüência (Hz)\",\"GET\":\"GET\",\"General\":\"Geral\",\"Google Analytics ID\":\"Google Analytics ID\",\"Google Analytics Tracker Name\":\"Nome do Google Analytics Tracker\",\"HLS\":\"HLS\",\"HLS statistic for the In-memory storage\":\"Estatísticas HLS para o armazenamento In-memory\",\"HTTP and HTTPS\":\"HTTP e HTTPS\",\"HTTP port\":\"Porta HTTP\",\"HTTPS (SSL/TLS)\":\"HTTPS (SSL/TLS)\",\"HTTPS port\":\"Porto HTTPS\",\"Hardware device\":\"Dispositivo de ferragens\",\"Header\":\"Cabeçalho\",\"Headline\":\"Manchete\",\"Hosted Restreamer interface\":\"Interface Restreamer hospedado\",\"Human readable name on the service.\":\"Nome legível pelo ser humano no serviço.\",\"IP address\":\"Endereço IP\",\"If you changed the ports, it might be that Restreamer Core restarted already, but it is now available on a different port.\":\"Se você mudou os portos, pode ser que o Restreamer Core já tenha reiniciado, mas agora ele está disponível em um porto diferente.\",\"If you enabled Let's Encrypt TLS it might take some time to acquire the certificates. Make sure that Restreamer Core is reachable via port 80 from the internet. Please check the console log of Restreamer Core.\":\"Se você ativou Let's Encrypt TLS, pode levar algum tempo para adquirir os certificados. Certifique-se de que o Restreamer Core esteja acessível via porta 80 a partir da Internet. Por favor, verifique o log do console do Restreamer Core.\",\"Ignore IP ranges\":\"Ignorar as faixas de IP\",\"Image URL\":\"URL da imagem\",\"Imprint\":\"Impresso\",\"In addition to the player, the Restreamer offers a complete landingpage, which you can use to present your live stream easily and quickly.\":\"Além do jogador, o Restreamer oferece uma página de desembarque completa, que você pode usar para apresentar seu stream ao vivo com facilidade e rapidez.\",\"In-memory\":\"In-memory\",\"In-memory storage\":\"Armazenamento em memória\",\"Incompatible\":\"Incompatível\",\"Inherit\":\"Inerte\",\"Inject 1\":\"Injetar 1\",\"Inject 2\":\"Injetar 2\",\"Inject 3\":\"Injetar 3\",\"Inject 4\":\"Injetar 4\",\"Internal HLS server\":\"Servidor interno HLS\",\"Internal RTMP server\":\"Servidor RTMP interno\",\"Interval (seconds)\":\"Intervalo (segundos)\",\"Issue alert\":\"Alerta de emissão\",\"Keyframe interval (seconds)\":\"Intervalo do quadro-chave (segundos)\",\"Layout\":\"Layout\",\"Let's Encrypt certification\":\"Vamos encriptar a certificação\",\"Let's Encrypt requires one or more public domain names and an accessible port 80/TCP.\":\"Vamos Encriptar requer um ou mais nomes de domínio público e uma porta 80/TCP acessível.\",\"Level\":\"Nível\",\"Level of system protocol.\":\"Nível de protocolo do sistema.\",\"License\":\"Licença\",\"Life color\":\"Cor da vida\",\"Linecolor\":\"Linecolor\",\"Link\":\"Link\",\"Link, mouseover\":\"Link, mouseover\",\"List of IP ranges in CIDR notation, e.g., 127.0.0.1/32, that the statistics will not record—one IP range per line. Leave empty to record all sessions.\":\"Lista de faixas de IP na notação CIDR, por exemplo, 127.0.0.0.1/32, que as estatísticas não registrarão uma faixa IP por linha. Deixe em branco para registrar todas as sessões.\",\"List of file extensions to cache (e.g. \\\".html\\\"), one per line. Leave empty to cache all file types.\":\"Lista de extensões de arquivo para cache (por exemplo, \\\".html\\\"), uma por linha. Deixar vazio para o cache de todos os tipos de arquivo.\",\"List size (segments)\":\"Tamanho da lista (segmentos)\",\"Live-Streaming to Facebook Live RTMP service\":\"Live-Streaming para o serviço RTMP ao vivo no Facebook\",\"Live-Streaming to Instagram Live RTMP Service. The stream key requires a service such as <0>Yellow Duck.\":\"Live-Streaming para Instagram Live RTMP Service. A chave de fluxo requer um serviço como <0>Yellow Duck.\",\"Live-Streaming to Twitch Live RTMP Service.\":\"Live-Streaming para Twitch Live RTMP Service.\",\"Live-Streaming to Vimeo Live RTMP Service\":\"Live-Streaming para Vimeo Live RTMP Service\",\"Livesource ID\":\"Identificação de fonte de vida\",\"Log level\":\"Nível de log\",\"Logging\":\"Logging\",\"Login\":\"Login\",\"Login failed: Couldn't load API details\":\"O login falhou: Não foi possível carregar detalhes API\",\"Login failed: {0}\":[\"O login falhou: \",[\"0\"]],\"Login/JWT authorization\":\"Login/JWT autorização\",\"Logo\":\"Logotipo\",\"Logout\":\"Logout\",\"MB\":\"MB\",\"Main Source\":\"Fonte principal\",\"Main channel\":\"Canal principal\",\"Main channel not found\":\"Canal principal não encontrado\",\"Main channel saved\":\"Canal principal salvo\",\"Main page channel (index.html).\":\"Canal da página principal (index.html).\",\"Maintainer:\":\"Mantenedor:\",\"Maximum allowed cache size, 0 for unlimited.\":\"Tamanho máximo de cache permitido, 0 para ilimitado.\",\"Maximum allowed megabytes of RAM for /memfs, 0 for unlimited.\":\"Máximo permitido de megabytes de RAM para /memfs, 0 para ilimitado.\",\"Maximum allowed megabytes to consume from hard disk. 0 for unlimited.\":\"Consumo máximo permitido de megabytes a partir do disco rígido. 0 por ilimitado.\",\"Maximum bandwidth Mbit/s\":\"Largura de banda máxima Mbit/s\",\"Maximum delay in milliseconds.\":\"Atraso máximo em milissegundos.\",\"Maximum file size (Megabytes)\":\"Tamanho máximo do arquivo (Megabytes)\",\"Maximum file size to put in cache.\":\"Tamanho máximo de arquivo para colocar em cache.\",\"Maximum log histroy\":\"Histórico log máximo\",\"Maximum log lines\":\"Máximo de linhas de toras\",\"Maximum size (Megabytes)\":\"Tamanho máximo (Megabytes)\",\"Maximum viewer idle time (Seconds)\":\"Tempo máximo de ociosidade do espectador (segundos)\",\"Maximum viewers\":\"Máximo de espectadores\",\"Memory\":\"Memória\",\"Meta information\":\"Meta informação\",\"Metadata\":\"Metadados\",\"Mold\":\"Molde\",\"More about Twitter's copyright <0>here.\":\"Mais sobre os direitos autorais do Twitter <0>aqui.\",\"More about YouTube's copyright <0>here.\":\"Mais sobre os direitos autorais do YouTube <0>aqui.\",\"More about licenses here\":\"Mais sobre licenças aqui\",\"More about the service\":\"Mais sobre o serviço\",\"Mute\":\"Mudo\",\"Name\":\"Nome\",\"Name for the template. If the name already exists, it will be overwritten.\":\"Nome para o modelo. Se o nome já existir, ele será sobregravado.\",\"Network\":\"Rede\",\"Network source\":\"Fonte da rede\",\"Next\":\"Próximo\",\"Next: Audio\":\"A seguir: Áudio\",\"Next: Video setup\":\"A seguir: Configuração do vídeo\",\"No\":\"Não\",\"No audio\":\"Sem áudio\",\"No audio stream available\":\"Nenhum fluxo de áudio disponível\",\"No input device available\":\"Nenhum dispositivo de entrada disponível\",\"No live stream was detected. Please check the software that sends the stream.\":\"Nenhum fluxo vivo foi detectado. Por favor, verifique o software que envia o fluxo.\",\"No source selected\":\"Nenhuma fonte selecionada\",\"No sources available\":\"Não há fontes disponíveis\",\"No suitable encoder found.\":\"Não foi encontrado nenhum codificador adequado.\",\"No video\":\"Nenhum vídeo\",\"No video stream available\":\"Nenhum fluxo de vídeo disponível\",\"Node ID\":\"Identificação do nó\",\"Noise\":\"Ruído\",\"None\":\"Nenhum\",\"Notes\":\"Notas\",\"Number of log lines to keep.\":\"Número de linhas de registro a manter.\",\"Number of logs to keep for each process.\":\"Número de logs a serem mantidos para cada processo.\",\"OK\":\"OK\",\"One referrer per line, e.g. http://www.example.com\":\"Uma referência por linha, por exemplo http://www.example.com\",\"Open\":\"Aberto\",\"Passthrough (copy) should only be disabled if necessary. Each encoding requires additional CPU/GPU resources.\":\"A passagem (cópia) só deve ser desativada se necessário. Cada codificação requer recursos adicionais de CPU/GPU.\",\"Password\":\"Senha\",\"Password for authorization.\":\"Senha para autorização.\",\"Password for the device.\":\"Senha para o dispositivo.\",\"Persist viewer statistics\":\"Estatísticas persistentes dos telespectadores\",\"Pixel format\":\"Formato Pixel\",\"Plan: <0>Starter\":\"Plano: <0>Iniciador\",\"Platforms\":\"Plataformas\",\"Playback\":\"Reprodução\",\"Player\":\"Jogador\",\"Player URL\":\"URL do jogador\",\"Player settings saved\":\"Configurações do jogador salvas\",\"Playersite\":\"Playersite\",\"Playlist\":\"Lista de reprodução\",\"Please check the <0>process log\":\"Por favor, verifique o <0>log de processo\",\"Please contact the operator of the service and check what happens.\":\"Favor contatar o operador do serviço e verificar o que acontece.\",\"Please select a file to upload.\":\"Por favor, selecione um arquivo para carregar.\",\"Please use \\\"Passthrough (copy)\\\" if possible. Encoding requires additional CPU/GPU resources.\":\"Favor utilizar \\\"Passthrough (cópia)\\\", se possível. A codificação requer recursos adicionais de CPU/GPU.\",\"Please wait. Probe stream data ...\":\"Por favor, aguarde. Dados do fluxo da sonda ...\",\"Please wait. Setting up the stream ...\":\"Por favor, aguarde. Preparando o fluxo ...\",\"Port\":\"Porto\",\"Position\":\"Posição\",\"Preset\":\"Predefinição\",\"Primary stream\":\"Fluxo primário\",\"Primary stream key\":\"Chave de fluxo primário\",\"Probe\":\"Sonda\",\"Process\":\"Processo\",\"Process control\":\"Controle de processo\",\"Process debug\":\"Processo de depuração\",\"Process debug report\":\"Relatório de depuração do processo\",\"Process details\":\"Detalhes do processo\",\"Process report\":\"Relatório de processo\",\"Processing & Control\":\"Processamento e controle\",\"Profile\":\"Perfil\",\"Protocol\":\"Protocolo\",\"Protocols\":\"Protocolos\",\"Public domain/s\":\"Domínio público/s\",\"Publication service not found\":\"Serviço de publicação não encontrado\",\"Publication website settings saved\":\"Configurações do site de publicação salvas\",\"Publications\":\"Publicações\",\"Pull Mode\":\"Modo Puxar\",\"Pull or recieve the data:\":\"Puxar ou receber os dados:\",\"Quality\":\"Qualidade\",\"RGB test pattern\":\"Padrão de teste RGB\",\"RTMP app for publishing.\":\"Aplicação RTMP para publicação.\",\"RTMP server\":\"Servidor RTMP\",\"RTMP server is not enabled\":\"O servidor RTMP não está habilitado\",\"RTMP server listen address.\":\"Endereço de escuta do servidor RTMP.\",\"RTMP token for publishing and playing. The token is the value of the URL query parameter 'token.'\":\"Ficha RTMP para publicação e reprodução. O token é o valor do parâmetro de consulta de URL 'token'\",\"RTMP/S\":\"RTMP/S\",\"RTMPS server\":\"Servidor RTMPS\",\"RTSP\":\"RTSP\",\"Raspberry Pi camera\":\"Câmera Raspberry Pi\",\"Rate control\":\"Controle de tarifas\",\"Ratio\":\"Relação\",\"Read input at native speed\":\"Ler a entrada em velocidade nativa\",\"Receive Mode\":\"Modo Receber\",\"Reconnect\":\"Reconecte\",\"Reconnect delay (seconds)\":\"Retardo de reconexão (segundos)\",\"Reconnecting in {0}s\":[\"Reconexão em \",[\"0\"],\"s\"],\"Reconnecting to Restreamer Core failed for the last {RETRIES} seconds.\":[\"A reconexão ao Restreamer Core falhou durante os últimos \",[\"RETRIES\"],\" segundos.\"],\"Reconnecting to Restreamer Core failed.\":\"A reconexão com o Restreamer Core falhou.\",\"Refresh\":\"Atualização\",\"Region\":\"Região\",\"Reload\":\"Recarregar\",\"Remove the oldest entries if the /memfs is full\":\"Remover as entradas mais antigas se o /memfs estiver cheio\",\"Requires activation\":\"Requer ativação\",\"Restart\":\"Reinicie\",\"Restart required\":\"Reinício necessário\",\"Restarting\":\"Reinicialização\",\"Restarting Restreamer Core ...\":\"Reiniciando o Núcleo de Restreamer ...\",\"Restarting the application failed.\":\"A reinicialização do pedido falhou.\",\"Restreamer Service\":\"Serviço de Restreamer\",\"Retrieving stream data ...\":\"Recuperando dados do fluxo ...\",\"Retry\":\"Tentativa\",\"Rule\":\"Regra\",\"Sampling\":\"Amostragem\",\"Save\":\"Salvar\",\"Scale\":\"Escala\",\"Seconds to keep files in cache.\":\"Segundos para manter os arquivos em cache.\",\"Seconds until a process is restarted.\":\"Segundos até que um processo seja reiniciado.\",\"Seconds until a staled process is terminated.\":\"Segundos até o término de um processo parado.\",\"Seconds until the snapshot/thumbnail of the video source is updated.\":\"Segundos até que o instantâneo/imagem da fonte de vídeo seja atualizado.\",\"Security\":\"Segurança\",\"Security token\":\"Ficha de segurança\",\"Seekbar color\":\"Cor da barra de busca\",\"Segment length (seconds)\":\"Comprimento do segmento (segundos)\",\"Segment will be cut on the following keyframe after this time has passed. 2 is recommended.\":\"O segmento será cortado no seguinte quadro-chave após este tempo ter passado. 2 é recomendado.\",\"Segmentation\":\"Segmentação\",\"Select a device:\":\"Selecione um dispositivo:\",\"Select audio source:\":\"Selecione a fonte de áudio:\",\"Select source ...\":\"Selecione a fonte ...\",\"Select video source:\":\"Selecione a fonte de vídeo:\",\"Select whether you pull the stream from a <0>network source (such as a network camera) or the <1>internal RTMP server (e.g., OBS streams to the Restreamer).\":\"Selecione se você puxa o fluxo de uma <0> fonte de rede (como uma câmera de rede) ou o <1> servidor RTMP interno (por exemplo, fluxos OBS para o Restreamer).\",\"Select your encoding setting:\":\"Selecione sua configuração de codificação:\",\"Selected\":\"Selecionado\",\"Selected channel\":\"Canal selecionado\",\"Selection\":\"Seleção\",\"Send anonymous metrics (helps us for future development)\":\"Enviar métricas anônimas (nos ajuda para o desenvolvimento futuro)\",\"Send stream to this address:\":\"Enviar fluxo para este endereço:\",\"Send video to Framebuffer\":\"Enviar vídeo para Framebuffer\",\"Server\":\"Servidor\",\"Service\":\"Serviço\",\"Service name\":\"Nome do serviço\",\"Service token for monitoring.\":\"Ficha de serviço para monitoramento.\",\"Sessions\":\"Sessões\",\"Sets a bandwidth limit in Mbit per second for outgoing HLS data transfer. All services, such as RTMP and outgoing processes, are included in the calculation. If the bandwidth is exceeded, HLS viewers receive the HTTP status code 509 (Bandwidth Limit Exceeded). 0 is unlimited.\":\"Define um limite de largura de banda em Mbit por segundo para a transferência de dados HLS de saída. Todos os serviços, tais como RTMP e processos de saída, são incluídos no cálculo. Se a largura de banda for excedida, os visualizadores de HLS recebem o código de status HTTP 509 (Limite de Largura de Banda Excedido). 0 é ilimitado.\",\"Sets a viewer limit for HLS sessions. If the limit is exceeded, HLS viewers receive the HTTP status code 509 (Bandwidth Limit Exceeded). 0 is unlimited.\":\"Define um limite de visualização para as sessões de HLS. Se o limite for excedido, os espectadores de HLS recebem o código de status HTTP 509 (Limite de Largura de Banda Excedido). 0 é ilimitado.\",\"Setting for connection to the service.\":\"Configuração para conexão com o serviço.\",\"Settings\":\"Configurações\",\"Settings (expert mode)\":\"Configurações (modo especialista)\",\"Settings for /data path. The access is protected by\":\"Configurações para /dados de caminho. O acesso é protegido por\",\"Settings for /memfs path.\":\"Configurações para /memfs caminho.\",\"Settings saved. All changes will be applied after restarting the application.\":\"Configurações salvas. Todas as mudanças serão aplicadas após reiniciar a aplicação.\",\"Share button\":\"Botão compartilhar\",\"Shows a reference to the project.\":\"Mostra uma referência ao projeto.\",\"Sign up (free)\":\"Cadastre-se (gratuito)\",\"Silence\":\"Silêncio\",\"Silence Audio\":\"Áudio do silêncio\",\"Sine\":\"Sine\",\"Sitename\":\"Nome do Sitename\",\"Size\":\"Tamanho\",\"Snapshot\":\"Snapshot\",\"Social-login (OAuth2, 2FA)\":\"Login social (OAuth2, 2FA)\",\"Socket timeout (microseconds)\":\"Tempo limite da tomada (microssegundos)\",\"Software\":\"Software\",\"Source\":\"Fonte\",\"Speed\":\"Velocidade\",\"Stale timeout (seconds)\":\"Tempo esgotado (segundos)\",\"Statistics\":\"Estatísticas\",\"Storage\":\"Armazenamento\",\"Stores the viewer statistics to the disk.\":\"Armazena as estatísticas do telespectador no disco.\",\"Stream\":\"Corrente\",\"Stream URL\":\"URL do fluxo\",\"Stream key\":\"Chave do fluxo\",\"Stream name\":\"Nome do riacho\",\"Stream names\":\"Nomes dos fluxos\",\"Support datarhei Restreamer\":\"Suporte datarhei Restreamer\",\"Supports HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT and more.\":\"Suporta HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT e muito mais.\",\"System\":\"Sistema\",\"Template\":\"Modelo\",\"Template to be used for creating the publication website. The delete button removes the selection from the system.\":\"Modelo a ser utilizado para a criação do site de publicação. O botão apagar remove a seleção do sistema.\",\"Terms\":\"Termos\",\"Test pattern\":\"Padrão de teste\",\"Test pattern (extended)\":\"Padrão de teste (estendido)\",\"Text colors\":\"Cores do texto\",\"The amplitude (0.0 - 1.0) of the generated audio stream\":\"A amplitude (0,0 - 1,0) do fluxo de áudio gerado\",\"The application is using an older version of the settings.\":\"A aplicação está usando uma versão mais antiga das configurações.\",\"The bitrate of the audio stream.\":\"A taxa de bits do fluxo de áudio.\",\"The carrier frequency\":\"A freqüência portadora\",\"The channel \\\"{0}\\\" could not be deleted\":[\"O canal \\\"\",[\"0\"],\"\\\" não pôde ser excluído\"],\"The channel \\\"{0}\\\" has been deleted\":[\"O canal \\\"\",[\"0\"],\"\\\" foi excluído\"],\"The deletion of this channel can not be recovered. All publications of this channel will be removed.\":\"A eliminação deste canal não pode ser recuperada. Todas as publicações deste canal serão removidas.\",\"The input profile is not complete. Please define a video and audio source.\":\"O perfil de entrada não está completo. Por favor, defina uma fonte de vídeo e áudio.\",\"The layout of the audio stream.\":\"O layout do fluxo de áudio.\",\"The maximum number of playlist segments. 0 will contain all the segments. 6 is recommended.\":\"O número máximo de segmentos da playlist. 0 conterá todos os segmentos. 6 é recomendado.\",\"The noise color\":\"A cor do ruído\",\"The person who associated a work with this deed has dedicated the work to the public domain by waiving all of his or her rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law. You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.\":\"A pessoa que associou uma obra a esta escritura dedicou a obra ao domínio público, renunciando a todos os seus direitos à obra em todo o mundo sob a lei de direitos autorais, incluindo todos os direitos conexos e vizinhos, na medida do permitido por lei. Você pode copiar, modificar, distribuir e executar a obra, mesmo para fins comerciais, tudo sem pedir permissão.\",\"The public reachable domain name of the host this Restreamer is running on. Separate multiple domain names by a comma.\":\"O nome de domínio acessível ao público do host em que este Restreamer está funcionando. Separe vários nomes de domínio por uma vírgula.\",\"The publication service \\\"{0}\\\" could not be deleted\":[\"O serviço de publicação \\\"\",[\"0\"],\"\\\" não pôde ser excluído\"],\"The publication service \\\"{0}\\\" has been created\":[\"Foi criado o serviço de publicação \\\"\",[\"0\"],\"\\\"\"],\"The publication service \\\"{0}\\\" has been deleted\":[\"O serviço de publicação \\\"\",[\"0\"],\"\\\" foi eliminado\"],\"The publication service has been created\":\"O serviço de publicação foi criado\",\"The sample rate of the audio stream.\":\"A taxa de amostragem do fluxo de áudio.\",\"The selected file is too big ({0} bytes). Only {1} bytes are allowed.\":[\"O arquivo selecionado é muito grande (\",[\"0\"],\" bytes). Somente \",[\"1\"],\" bytes são permitidos.\"],\"The selected file type ({0}) is not allowed. Allowed file types are {types}\":[\"O tipo de arquivo selecionado (\",[\"0\"],\") não é permitido. Os tipos de arquivo permitidos são \",[\"types\"],\".\"],\"The settings for \\\"{0}\\\" have been saved\":[\"As configurações para \\\"\",[\"0\"],\"\\\" foram salvas\"],\"The source doesn't provide any audio streams.\":\"A fonte não fornece nenhum fluxo de áudio.\",\"The source doesn't provide any audio streams. Please check the <0>probe details.\":\"A fonte não fornece nenhum fluxo de áudio. Por favor, verifique os detalhes da <0>probe.\",\"The source doesn't provide any compatible audio streams.\":\"A fonte não fornece nenhum fluxo de áudio compatível.\",\"The source doesn't provide any compatible video streams. Please check the <0>requirements.\":\"A fonte não fornece nenhuma transmissão de vídeo compatível. Por favor, verifique as <0>requisitos.\",\"The source doesn't provide any video streams. Please check the <0>probe details.\":\"A fonte não fornece nenhuma transmissão de vídeo. Por favor, verifique os detalhes da <0>probe.\",\"The source doesn't provide any video streams. Please check the device.\":\"A fonte não fornece nenhuma transmissão de vídeo. Por favor, verifique o dispositivo.\",\"The video source doesn't provide any compatible audio stream. <0>Silence audio is recommended. Services e.g. YouTube, Facebook & Co. require an audio channel.\":\"A fonte de vídeo não fornece nenhum fluxo de áudio compatível. <0>Silêncio de áudio é recomendado. Serviços como, por exemplo, YouTube, Facebook & Co. requerem um canal de áudio.\",\"The video source is compatible. Select the desired resolution:\":\"A fonte de vídeo é compatível. Selecione a resolução desejada:\",\"There are updates available. Here you get more information.\":\"Há atualizações disponíveis. Aqui você obtém mais informações.\",\"There was a problem storing the settings. Settings not saved.\":\"Havia um problema no armazenamento das configurações. As configurações não foram salvas.\",\"There was an error connecting to Restreamer Core at {0}.\":[\"Houve um erro de conexão com o Restreamer Core em \",[\"0\"],\".\"],\"There was an error during upload: {0}\":[\"Houve um erro durante o upload: \",[\"0\"]],\"There was an error setting up the stream.\":\"Houve um erro ao configurar o fluxo.\",\"There were some errors in the settings. Settings not saved.\":\"Houve alguns erros nas configurações. As configurações não foram salvas.\",\"There's no login method available.\":\"Não há nenhum método de login disponível.\",\"This is a dummy service that explains to you the concepts of service.\":\"Este é um serviço fictício que explica a você os conceitos de serviço.\",\"This is not necessarily an error. However, it may take a bit longer for Restreamer Core to restart..\":\"Isto não é necessariamente um erro. Entretanto, pode levar um pouco mais de tempo para que o Restreamer Core reinicie.\",\"This is to mention the copyright regulations for the target of this service.\":\"Isto para mencionar os regulamentos de direitos autorais para o alvo deste serviço.\",\"This license allows reusers to copy and distribute the material in any medium or format in unadapted form only, and only so long as attribution is given to the creator. The license allows for commercial use.\":\"Esta licença permite aos reutilizadores copiar e distribuir o material em qualquer meio ou formato apenas de forma desadaptada, e apenas enquanto a atribuição for dada ao criador. A licença permite o uso comercial.\",\"This license allows reusers to copy and distribute the material in any medium or format in unadapted form only, for noncommercial purposes only, and only so long as attribution is given to the creator.\":\"Esta licença permite aos reutilizadores copiar e distribuir o material em qualquer meio ou formato apenas de forma não adaptada, apenas para fins não comerciais, e apenas enquanto a atribuição for dada ao criador.\",\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format for noncommercial purposes only, and only so long as attribution is given to the creator.\":\"Esta licença permite aos reutilizadores distribuir, remixar, adaptar e construir sobre o material em qualquer meio ou formato apenas para fins não comerciais, e apenas enquanto a atribuição for dada ao criador.\",\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format for noncommercial purposes only, and only so long as attribution is given to the creator. If you remix, adapt, or build upon the material, you must license the modified material under identical terms.\":\"Esta licença permite aos reutilizadores distribuir, remixar, adaptar e construir sobre o material em qualquer meio ou formato apenas para fins não comerciais, e apenas enquanto a atribuição for dada ao criador. Se você remixar, adaptar ou construir sobre o material, você deve licenciar o material modificado sob termos idênticos.\",\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format, so long as attribution is given to the creator. The license allows for commercial use.\":\"Esta licença permite aos reutilizadores distribuir, remixar, adaptar e construir sobre o material em qualquer meio ou formato, desde que a atribuição seja dada ao criador. A licença permite o uso comercial.\",\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format, so long as attribution is given to the creator. The license allows for commercial use. If you remix, adapt, or build upon the material, you must license the modified material under identical terms.\":\"Esta licença permite aos reutilizadores distribuir, remixar, adaptar e construir sobre o material em qualquer meio ou formato, desde que a atribuição seja dada ao criador. A licença permite o uso comercial. Se você remixar, adaptar, ou construir sobre o material, você deve licenciar o material modificado sob termos idênticos.\",\"This source cannot be edited while it is in use. To continue, you have to disconnect the source.\":\"Esta fonte não pode ser editada enquanto estiver em uso. Para continuar, você tem que desconectar a fonte.\",\"This version of the UI doesn't support the available FFmpeg binary ({0}). The UI requires {1}. Please use a supported FFmpeg binary.\":[\"Esta versão da IU não suporta o binário FFmpeg disponível (\",[\"0\"],\"). A interface de usuário requer \",[\"1\"],\". Por favor, use um binário FFmpeg compatível.\"],\"This version of the UI doesn't support the connected Core ({0}). The UI requires {1}. Please use a compatible version of the UI.\":[\"Esta versão da IU não suporta o Núcleo conectado (\",[\"0\"],\"). A interface de usuário requer \",[\"1\"],\". Por favor, use uma versão compatível da IU.\"],\"This version of the UI is compatible.\":\"Esta versão da IU é compatível.\",\"Time until an inactive viewer connection is treated as closed.\":\"Tempo até que uma conexão inativa do visor seja tratada como fechada.\",\"Token\":\"Token\",\"Transmit snapshots of the main source to an HTTP/S Server. More details about the settings can be found <0>here.\":\"Transmitir instantâneos da fonte principal para um servidor HTTP/S. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"Transmit the audio channel of the main source to an Icecast Server. More details about the settings can be found <0>here.\":\"Transmitir o canal de áudio da fonte principal para um servidor Icecast. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"Transmit the main source as HTTP-Live-Streaming (HLS) to an HTTP/S Server. More details about the settings can be found <0>here.\":\"Transmitir a fonte principal como HTTP-Live-Streaming (HLS) para um servidor HTTP/S. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"Transmit the main source as MPEG-DASH to an HTTP/S Server. More details about the settings can be found <0>here.\":\"Transmitir a fonte principal como MPEG-DASH para um servidor HTTP/S. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"Transmit the main source to a Brightcove Live Service. More details about the settings can be found <0>here.\":\"Transmitir a fonte principal a um Serviço Brightcove Live. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"Transmit the main source to an CDN77 RTMP Service. More about the setup <0>here.\":\"Transmitir a fonte principal para um Serviço CDN77 RTMP. Mais sobre a configuração <0>aqui.\",\"Transmit the main source to an DaCast RTMP Service. More about the setup <0>here.\":\"Transmitir a fonte principal a um Serviço DaCast RTMP. Mais sobre a configuração <0>aqui.\",\"Transmit the main source to an MPEG-TS Service. More details about the settings can be found here <0>here.\":\"Transmitir a fonte principal para um serviço MPEG-TS. Mais detalhes sobre as configurações podem ser encontrados aqui <0>aqui.\",\"Transmit the main source to an RTMP(e|s|t|te|ts) Server. More details about the settings can be found <0>here.\":\"Transmita a fonte principal para um servidor RTMP(e|s|t|te|ts). Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"Transmit the main source to an RTSP Server. More details about the settings can be found <0>here.\":\"Transmitir a fonte principal para um servidor RTSP. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"Transmit the main source to an Red5/Pro Server. More details about the settings can be found <0>here.\":\"Transmitir a fonte principal para um Servidor Red5/Pro. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"Transmit the main source to an SRT Server. More details about the settings can be found <0>here.\":\"Transmitir a fonte principal para um servidor SRT. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"Transmit the main source to an UDP Server. More details about the settings can be found <0>here.\":\"Transmitir a fonte principal para um servidor UDP. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"Transmit the main source to an WOWZA Server. More details about the settings can be found <0>here.\":\"Transmitir a fonte principal para um servidor WOWZA. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"Transmit the main source to an datarhei Core Ressource. More details about the settings can be found <0>here.\":\"Transmitir a fonte principal a um datarhei Core Ressource. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"Transmit the main source to an livespotting.com Ressource. More details about the settings can be found <0>here.\":\"Transmitir a fonte principal a um livepotting.com Ressource. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"Transmit the main source to the Akamai (MSL) Media Services Live. More details about the MSL Encoder settings can be found on <0>here.\":\"Transmita a fonte principal para a Akamai (MSL) Media Services Live. Mais detalhes sobre as configurações do codificador MSL podem ser encontrados em <0>here.\",\"Transmit the main source to the Bitmovin cloud encoding service, a powerful tool for live streaming. More details about the settings can be founds <0>here.\":\"Transmitir a fonte principal para o serviço de codificação em nuvem Bitmovin, uma ferramenta poderosa para o streaming ao vivo. Mais detalhes sobre as configurações podem ser encontrados em <0>here.\",\"Transmit the main source to the Restream RTMP Service. More details about the settings can be found <0>here.\":\"Transmitir a fonte principal para o Serviço RTMP da Restream. Mais detalhes sobre as configurações podem ser encontrados <0>aqui.\",\"Transmits your video as an RTMP stream with the required key generated in YouTube Studio. You can find more information on setting up a live stream at YouTube's <0>Creator Academy.\":\"Transmite seu vídeo como um fluxo RTMP com a chave necessária gerada no YouTube Studio. Você pode encontrar mais informações sobre a criação de um stream ao vivo no YouTube <0>Creator Academy.\",\"Transmits your video stream with the required key, which was generated in Twitter Producer. You can find more information on seting up a live stream at Twitter's <0>Producer.\":\"Transmite seu fluxo de vídeo com a chave necessária, que foi gerada no Twitter Producer. Você pode encontrar mais informações sobre a configuração de um fluxo ao vivo no Twitter's <0>Produtor.\",\"Tune\":\"Tune\",\"UDP transport\":\"Transporte UDP\",\"Unable to load the config.\":\"Incapaz de carregar a configuração.\",\"Unique ident on the service.\":\"Identidade única no serviço.\",\"Unknown\":\"Desconhecido\",\"Unselected\":\"Não selecionado\",\"Upload\":\"Upload\",\"Uploading the file failed\":\"O upload do arquivo falhou\",\"Uploading the logo failed\":\"O carregamento do logotipo falhou\",\"Uptime\":\"Horário de funcionamento\",\"Use Auth0 for your running Restreamer Core. More <0>details.\":\"Use o Auth0 para seu Restreamer Core em funcionamento. Mais <0>detalhes.\",\"Use the wizard (<0/>) for a quick and easy setup, or edit (<1/>) the sources directly in custom mode.\":\"Use o assistente (<0/>) para uma configuração rápida e fácil, ou edite (<1/>) as fontes diretamente no modo personalizado.\",\"Use your copyright and choose the correct image license. Whether free for all or highly restricted. Briefly discuss what others are allowed to do with your image.\":\"Use seus direitos autorais e escolha a licença de imagem correta. Seja gratuita para todos ou altamente restrita. Discuta brevemente o que outros estão autorizados a fazer com sua imagem.\",\"Use your copyright and choose the right image licence. Whether free for all or highly restricted. Briefly discuss what others are allowed to do with your image.\":\"Use seus direitos autorais e escolha a licença de imagem correta. Seja gratuita para todos ou altamente restrita. Discuta brevemente o que outros estão autorizados a fazer com sua imagem.\",\"User registration\":\"Registro de usuário\",\"Username\":\"Nome de usuário\",\"Username for authorization.\":\"Nome de usuário para autorização.\",\"Username for the device.\":\"Nome de usuário para o dispositivo.\",\"VPU ID\":\"ID DA VPU\",\"Video\":\"Vídeo\",\"Video device\":\"Dispositivo de vídeo\",\"Video settings\":\"Configurações de vídeo\",\"Video setup\":\"Configuração do vídeo\",\"Video source\":\"Fonte do vídeo\",\"Viewer\":\"Visualizador\",\"Virtual source\":\"Fonte virtual\",\"Welcome to Restreamer v2, the solution for fast and easy video publishing. Free for private and commercial use. Further help in the <0>docs.\":\"Bem-vindo à Restreamer v2, a solução para a publicação rápida e fácil de vídeos. Grátis para uso privado e comercial. Mais ajuda no <0>docs.\",\"Write protection\":\"Proteção de escrita\",\"YUV test pattern\":\"Padrão de teste YUV\",\"Yes\":\"Sim\",\"You can't abort the wizard because at least one input must be defined.\":\"Você não pode abortar o assistente porque pelo menos uma entrada deve ser definida.\",\"You have changed the configuration. In order for the changes to take effect, you have to restart the application. Do you want to restart now?\":\"Você mudou a configuração. Para que as mudanças tenham efeito, você tem que reiniciar a aplicação. Você quer reiniciar agora?\",\"You have to reconnect manually\":\"Você tem que reconectar manualmente\",\"You have unsaved changes. Please save them before you can control the service again.\":\"Você tem mudanças não salvas. Por favor, salve-as antes de poder controlar o serviço novamente.\",\"Your stream needs to be encoded, but there's no suitable encoder available.\":\"Seu fluxo precisa ser codificado, mas não há um codificador adequado disponível.\",\"Your stream needs to be encoded. Choose the desired encoder:\":\"Seu fluxo precisa ser codificado. Escolha o codificador desejado:\",\"blue\":\"azul\",\"brown\":\"marrom\",\"iframe code\":\"código iframe\",\"kbit/s\":\"kbit/s\",\"pink\":\"rosa\",\"velvet\":\"veludo\",\"violet\":\"violeta\",\"white\":\"branco\"}};","/*eslint-disable*/module.exports={messages:{\"<0>Compatibility list\":\"<0>Lista de compatibilidad\",\"<0>Show probe details\":\"<0>Mostrar detalles de la sonda\",\"ALSA\":\"ALSA\",\"API endpoint not found. Settings not saved.\":\"Punto final de la API no encontrado. La configuración no se ha guardado.\",\"AVFoundation\":\"AVFoundation\",\"Abort\":\"Abortar\",\"About\":\"Acerca de\",\"Add\":\"Añada\",\"Add Publication\":\"Añadir publicación\",\"Add external widgets and styles to the publication site. You can find some examples on the help page.\":\"Añada widgets y estilos externos al sitio de publicación. Puede encontrar algunos ejemplos en la página de ayuda.\",\"Add new channel\":\"Añadir un nuevo canal\",\"Add: {0}\":[\"Añadir: \",[\"0\"]],\"Address\":\"Dirección\",\"Address for the background image.\":\"Dirección para la imagen de fondo.\",\"Address to listen on for HTTP requests.\":\"Dirección de escucha para las peticiones HTTP.\",\"Address to listen on for HTTPS requests.\":\"Dirección de escucha para las solicitudes HTTPS.\",\"Adjust publication site colors and background as you like.\":\"Ajuste los colores del sitio de publicación y el fondo a su gusto.\",\"Advanced monitoring\":\"Vigilancia avanzada\",\"Advanced settings\":\"Ajustes avanzados\",\"Advanced setup\":\"Configuración avanzada\",\"Alerting by email\":\"Alerta por correo electrónico\",\"All\":\"Todo\",\"All important system settings.\":\"Todos los ajustes importantes del sistema.\",\"Allow all referrer\":\"Permitir todos los remitentes\",\"Allow counting how many viewers the stream has.\":\"Permite contar el número de espectadores que tiene el flujo.\",\"Amplitude\":\"Amplitud\",\"An environment variable sets this value.\":\"Una variable de entorno establece este valor.\",\"App\":\"App\",\"Application\":\"Aplicación\",\"Are you sure you want to abort the wizard?\":\"¿Está seguro de que quiere abortar el asistente?\",\"Audio\":\"Audio\",\"Audio Device\":\"Dispositivo de audio\",\"Audio device\":\"Dispositivo de audio\",\"Audio from device\":\"Audio del dispositivo\",\"Audio settings\":\"Ajustes de audio\",\"Audio setup\":\"Configuración de audio\",\"Auth0\":\"Auth0\",\"Auth0 Tenant\":\"Auth0 Inquilino\",\"Auth0 is currently not available because this interface is loaded from an insecure origin.\":\"Auth0 no está disponible actualmente porque esta interfaz está cargada desde un origen inseguro.\",\"Author\":\"Autor\",\"Authorization\":\"Autorización\",\"Automatic cleanup of all media data\":\"Limpieza automática de todos los datos de los medios de comunicación\",\"Autoplay\":\"Reproducción automática\",\"Available\":\"Disponible\",\"Back\":\"Volver\",\"Background colors\":\"Colores de fondo\",\"Background image\":\"Imagen de fondo\",\"Backup URL\":\"URL de respaldo\",\"Backup server\":\"Servidor de respaldo\",\"Backup stream\":\"Flujo de reserva\",\"Backup stream key\":\"Clave de flujo de respaldo\",\"Bandwidth\":\"Ancho de banda\",\"Bandwidth control\":\"Control del ancho de banda\",\"Banner\":\"Banner\",\"Basic\":\"Básico\",\"Beep factor\":\"Factor Bip\",\"Bitrate\":\"Bitrate\",\"Briefly describe what the audience will see during the live stream.\":\"Describa brevemente lo que el público verá durante la transmisión en directo.\",\"Button color\":\"Color del botón\",\"Cache for files on /data.\":\"Caché para archivos en /data.\",\"Cache time (Seconds)\":\"Tiempo de caché (segundos)\",\"Cache types\":\"Tipos de caché\",\"Capture clicks\":\"Captura de clics\",\"Capture cursor\":\"Cursor de captura\",\"Channel \\\"{0}\\\" saved\":[\"Canal \\\"\",[\"0\"],\"\\\" guardado\"],\"Channels\":\"Canales\",\"Check for updates\":\"Compruebe las actualizaciones\",\"Check the requirements\":\"Compruebe los requisitos\",\"Choose a video stream\":\"Elija un flujo de vídeo\",\"Choose an audio stream\":\"Elija un flujo de audio\",\"Choose an input device ...\":\"Elija un dispositivo de entrada ...\",\"Choose codec ...\":\"Elija el códec ...\",\"Choose tenant ...\":\"Elija al inquilino ...\",\"Chunk\":\"Chunk\",\"Close\":\"Cerrar\",\"Code injection\":\"Inyección de código\",\"Codec\":\"Códec\",\"Color\":\"Color\",\"Config\":\"Configurar\",\"Confirm password\":\"Confirmar contraseña\",\"Connect\":\"Conectar\",\"Connected device\":\"Dispositivo conectado\",\"Connected since <0/>\":\"Conectado desde <0/>\",\"Connecting ...\":\"Conectando ...\",\"Connecting to Restreamer Core ...\":\"Conexión al núcleo de Restreamer ...\",\"Connecting to Restreamer Core failed probably because of mixed content.\":\"La conexión con Restreamer Core ha fallado probablemente debido a la mezcla de contenidos.\",\"Content\":\"Contenido\",\"Content URL\":\"Content URL\",\"Cores\":\"Núcleos\",\"Create user\":\"Crear usuario\",\"Creative Commons\":\"Creative Commons\",\"Custom ...\":\"A medida ...\",\"Custom JSON config for datarhei Core.\":\"Configuración JSON personalizada para datarhei Core.\",\"Custom audio device\":\"Dispositivo de audio personalizado\",\"Custom audio index\":\"Índice de audio personalizado\",\"Custom bitrate (kbit/s)\":\"Tasa de bits personalizada (kbit/s)\",\"Custom code injection\":\"Inyección de código personalizado\",\"Custom delay\":\"Retraso personalizado\",\"Custom device\":\"Dispositivo personalizado\",\"Custom format\":\"Formato personalizado\",\"Custom framerate\":\"Velocidad de fotogramas personalizada\",\"Custom keyframe interval\":\"Intervalo de fotogramas clave personalizado\",\"Custom layout\":\"Diseño personalizado\",\"Custom sampling (Hz)\":\"Muestreo personalizado (Hz)\",\"Custom scale\":\"Escala personalizada\",\"Custom size\":\"Tamaño personalizado\",\"Custom video device\":\"Dispositivo de vídeo personalizado\",\"Custom video index\":\"Índice de vídeo personalizado\",\"Data copied to clipboard\":\"Datos copiados en el portapapeles\",\"Death color\":\"Color de la muerte\",\"Decoder\":\"Decodificador\",\"Default\":\"Por defecto\",\"Delay\":\"Retraso\",\"Delay (ms)\":\"Retraso (ms)\",\"Delete\":\"Borrar\",\"Deleting a publication service cannot be reversed. The publication stops immediately.\":\"La eliminación de un servicio de publicación no se puede revertir. La publicación se detiene inmediatamente.\",\"Delivering mode\":\"Modo de entrega\",\"Description\":\"Descripción\",\"Design\":\"Diseño\",\"Device\":\"Dispositivo\",\"Disconnect\":\"Desconectar\",\"Disconnect & Continue\":\"Desconectar y continuar\",\"Disconnecting ...\":\"Desconectando...\",\"Disk\":\"Disco\",\"Disk cache\":\"Caché de disco\",\"Disk storage\":\"Almacenamiento en disco\",\"Do you really want to restart the application now?\":\"¿Realmente quiere reiniciar la aplicación ahora?\",\"Do you want to delete \\\"{0}\\\"?\":[\"¿Quiere borrar \\\"\",[\"0\"],\"\\\"?\"],\"Do you want to delete {title}?\":[\"¿Desea eliminar \",[\"título\"],\"?\"],\"Do you want to disconnect \\\"{0}\\\"?\":[\"¿Quiere desconectar \\\"\",[\"0\"],\"\\\"?\"],\"Docs\":\"Docs\",\"Documentation\":\"Documentación\",\"Dup. frames\":\"Marcos Dup.\",\"EDIT: Player\":\"EDIT: Jugador\",\"EDIT: Publication Website\":\"EDIT: Página web de la publicación\",\"Edit\":\"Editar\",\"Edit the audio and video sources for the live stream. Add a description, and set your desired content license.\":\"Edite las fuentes de audio y vídeo para la transmisión en directo. Añada una descripción y establezca la licencia de contenido que desee.\",\"Edit: {title}\":[\"Editar: \",[\"título\"]],\"Embed\":\"Incrustar\",\"Enable RTMP server ...\":\"Habilitar el servidor RTMP ...\",\"Enable a periodic beep every second with this value times the carrier frequency\":\"Habilitar un pitido periódico cada segundo con este valor multiplicado por la frecuencia portadora\",\"Enable backup stream\":\"Habilitar el flujo de respaldo\",\"Enable nerd statistics\":\"Habilitar las estadísticas de los nerds\",\"Enable primary stream\":\"Habilitar el flujo primario\",\"Enable snapshots\":\"Habilitar las instantáneas\",\"Enabling authorization is strongly advised. Otherwise, anybody can access this instance.\":\"Se recomienda encarecidamente habilitar la autorización. De lo contrario, cualquiera puede acceder a esta instancia.\",\"Enabling basic auth is strongly advised. Otherwise, anybody could write data to /memfs.\":\"Se recomienda encarecidamente habilitar la autentificación básica. De lo contrario, cualquiera podría escribir datos en /memfs.\",\"Encoder\":\"Codificador\",\"Encoding\":\"Codificación\",\"Encryption\":\"Codificación\",\"Enter a name for the new channel.\":\"Introduzca un nombre para el nuevo canal.\",\"Enter password\":\"Introduzca la contraseña\",\"Enter the address of your network source:\":\"Introduzca la dirección de su fuente de red:\",\"Enter username\":\"Introduzca el nombre de usuario\",\"Entropy coder\":\"Codificador de entropía\",\"Error\":\"Error\",\"Error while copying data to clipboard\":\"Error al copiar datos en el portapapeles\",\"Error: {0}\":[\"Error: \",[\"0\"]],\"Expands the area above the channel list (live chat).\":\"Amplía el área sobre la lista de canales (chat en vivo).\",\"Expands the area under the channel description (comment boxes).\":\"Amplía el área bajo la descripción del canal (cuadros de comentarios).\",\"Expert mode\":\"Modo experto\",\"Extend channel list\":\"Ampliar la lista de canales\",\"Extend content\":\"Ampliar el contenido\",\"Extend footer\":\"Ampliar el pie de página\",\"Extend header\":\"Ampliar la cabecera\",\"FFmpeg\":\"FFmpeg\",\"FPS\":\"FPS\",\"Failed to create publication service ({0})\":[\"Fallo en la creación del servicio de publicación (\",[\"0\"],\")\"],\"Failed to create publication website files.\":\"Fallo en la creación de los archivos del sitio web de la publicación.\",\"Failed to probe the source. Please check the <0>probe details.\":\"No se ha podido sondear la fuente. Por favor, compruebe los <0>detalles de la sonda.\",\"Failed to refresh token: {0}\":[\"Fallo en la actualización de la ficha: \",[\"0\"]],\"Failed to save ingest metadata\":\"Fallo al guardar los metadatos de ingesta\",\"Failed to stop process\":\"Fallo en la detención del proceso\",\"Failed to store player size setting.\":\"Fallo al almacenar el ajuste del tamaño del reproductor.\",\"Failed to store publication service ({0})\":[\"Fallo en el almacenamiento del servicio de publicación (\",[\"0\"],\")\"],\"Failed to update ingest process ({0})\":[\"Fallo en la actualización del proceso de ingesta (\",[\"0\"],\")\"],\"Failed to update the player\":\"Fallo en la actualización del reproductor\",\"Failed to verify the source. Please check the address.\":\"No se ha podido verificar la fuente. Por favor, compruebe la dirección.\",\"Finish\":\"Acabado\",\"Flags\":\"Banderas\",\"For Javascripts.\":\"Para Javascripts.\",\"For Stylesheets.\":\"Para las hojas de estilo.\",\"Force input framerate\":\"Forzar la velocidad de entrada de fotogramas\",\"Format\":\"Formato\",\"Frame drops\":\"Caída de cuadros\",\"Framebuffer\":\"Buffer de imágenes\",\"Framerate\":\"Framerate\",\"Frequency (Hz)\":\"Frecuencia (Hz)\",\"GET\":\"GET\",\"General\":\"General\",\"Google Analytics ID\":\"ID de Google Analytics\",\"Google Analytics Tracker Name\":\"Nombre del rastreador de Google Analytics\",\"HLS\":\"HLS\",\"HLS statistic for the In-memory storage\":\"Estadística HLS para el almacenamiento en memoria\",\"HTTP and HTTPS\":\"HTTP y HTTPS\",\"HTTP port\":\"Puerto HTTP\",\"HTTPS (SSL/TLS)\":\"HTTPS (SSL/TLS)\",\"HTTPS port\":\"Puerto HTTPS\",\"Hardware device\":\"Dispositivo de hardware\",\"Header\":\"Cabecera\",\"Headline\":\"Titular\",\"Hosted Restreamer interface\":\"Interfaz de Restreamer alojado\",\"Human readable name on the service.\":\"Nombre legible para el ser humano en el servicio.\",\"IP address\":\"Dirección IP\",\"If you changed the ports, it might be that Restreamer Core restarted already, but it is now available on a different port.\":\"Si ha cambiado los puertos, puede ser que Restreamer Core ya se haya reiniciado, pero ahora está disponible en un puerto diferente.\",\"If you enabled Let's Encrypt TLS it might take some time to acquire the certificates. Make sure that Restreamer Core is reachable via port 80 from the internet. Please check the console log of Restreamer Core.\":\"Si ha habilitado Let's Encrypt TLS, puede tardar un poco en adquirir los certificados. Asegúrese de que Restreamer Core es accesible a través del puerto 80 desde Internet. Compruebe el registro de la consola de Restreamer Core.\",\"Ignore IP ranges\":\"Ignorar los rangos de IP\",\"Image URL\":\"URL de la imagen\",\"Imprint\":\"Impresión\",\"In addition to the player, the Restreamer offers a complete landingpage, which you can use to present your live stream easily and quickly.\":\"Además del reproductor, el Restreamer ofrece una completa página de aterrizaje, con la que podrá presentar su transmisión en directo de forma fácil y rápida.\",\"In-memory\":\"En memoria\",\"In-memory storage\":\"Almacenamiento en memoria\",\"Incompatible\":\"Incompatible\",\"Inherit\":\"Heredar\",\"Inject 1\":\"Inyectar 1\",\"Inject 2\":\"Inyectar 2\",\"Inject 3\":\"Inyectar 3\",\"Inject 4\":\"Inyectar 4\",\"Internal HLS server\":\"Servidor HLS interno\",\"Internal RTMP server\":\"Servidor RTMP interno\",\"Interval (seconds)\":\"Intervalo (segundos)\",\"Issue alert\":\"Alerta de emisión\",\"Keyframe interval (seconds)\":\"Intervalo de fotogramas clave (segundos)\",\"Layout\":\"Disposición\",\"Let's Encrypt certification\":\"Certificación Let's Encrypt\",\"Let's Encrypt requires one or more public domain names and an accessible port 80/TCP.\":\"Let's Encrypt requiere uno o más nombres de dominio público y un puerto 80/TCP accesible.\",\"Level\":\"Nivel\",\"Level of system protocol.\":\"Nivel de protocolo del sistema.\",\"License\":\"Licencia\",\"Life color\":\"El color de la vida\",\"Linecolor\":\"Linecolor\",\"Link\":\"Enlace\",\"Link, mouseover\":\"Enlace, ratón\",\"List of IP ranges in CIDR notation, e.g., 127.0.0.1/32, that the statistics will not record—one IP range per line. Leave empty to record all sessions.\":\"Lista de rangos de IP en notación CIDR, por ejemplo, 127.0.0.1/32, que las estadísticas no registrarán -un rango de IP por línea. Déjelo vacío para registrar todas las sesiones.\",\"List of file extensions to cache (e.g. \\\".html\\\"), one per line. Leave empty to cache all file types.\":\"Lista de extensiones de archivos a almacenar en caché (por ejemplo, \\\".html\\\"), una por línea. Déjela vacía para almacenar en caché todos los tipos de archivos.\",\"List size (segments)\":\"Tamaño de la lista (segmentos)\",\"Live-Streaming to Facebook Live RTMP service\":\"Transmisión en directo al servicio RTMP de Facebook Live\",\"Live-Streaming to Instagram Live RTMP Service. The stream key requires a service such as <0>Yellow Duck.\":\"Transmisión en directo al servicio RTMP de Instagram Live. La clave del streaming requiere un servicio como <0>Pato Amarillo.\",\"Live-Streaming to Twitch Live RTMP Service.\":\"Transmisión en directo al servicio RTMP de Twitch Live.\",\"Live-Streaming to Vimeo Live RTMP Service\":\"Transmisión en directo al servicio Vimeo Live RTMP\",\"Livesource ID\":\"Identificación de la fuente de vida\",\"Log level\":\"Nivel de registro\",\"Logging\":\"Registro\",\"Login\":\"Acceda a\",\"Login failed: Couldn't load API details\":\"El inicio de sesión ha fallado: No se han podido cargar los detalles de la API\",\"Login failed: {0}\":[\"El inicio de sesión ha fallado: \",[\"0\"]],\"Login/JWT authorization\":\"Autorización de inicio de sesión/JWT\",\"Logo\":\"Logotipo\",\"Logout\":\"Cierre de sesión\",\"MB\":\"MB\",\"Main Source\":\"Fuente principal\",\"Main channel\":\"Canal principal\",\"Main channel not found\":\"Canal principal no encontrado\",\"Main channel saved\":\"Canal principal guardado\",\"Main page channel (index.html).\":\"Canal de la página principal (index.html).\",\"Maintainer:\":\"Mantenedor:\",\"Maximum allowed cache size, 0 for unlimited.\":\"Tamaño máximo de caché permitido, 0 para ilimitado.\",\"Maximum allowed megabytes of RAM for /memfs, 0 for unlimited.\":\"Máximo de megabytes de RAM permitidos para /memfs, 0 para ilimitado.\",\"Maximum allowed megabytes to consume from hard disk. 0 for unlimited.\":\"Máximo de megabytes permitidos a consumir del disco duro. 0 para ilimitado.\",\"Maximum bandwidth Mbit/s\":\"Ancho de banda máximo Mbit/s\",\"Maximum delay in milliseconds.\":\"Retraso máximo en milisegundos.\",\"Maximum file size (Megabytes)\":\"Tamaño máximo del archivo (Megabytes)\",\"Maximum file size to put in cache.\":\"Tamaño máximo del archivo a poner en la caché.\",\"Maximum log histroy\":\"Máxima historia de registro\",\"Maximum log lines\":\"Líneas de registro máximas\",\"Maximum size (Megabytes)\":\"Tamaño máximo (Megabytes)\",\"Maximum viewer idle time (Seconds)\":\"Tiempo máximo de inactividad del espectador (segundos)\",\"Maximum viewers\":\"Máximos espectadores\",\"Memory\":\"Memoria\",\"Meta information\":\"Meta información\",\"Metadata\":\"Metadatos\",\"Mold\":\"Moho\",\"More about Twitter's copyright <0>here.\":\"Más información sobre los derechos de autor de Twitter <0>aquí.\",\"More about YouTube's copyright <0>here.\":\"Más información sobre los derechos de autor de YouTube <0>aquí.\",\"More about licenses here\":\"Más información sobre las licencias aquí\",\"More about the service\":\"Más información sobre el servicio\",\"Mute\":\"Silencio\",\"Name\":\"Nombre\",\"Name for the template. If the name already exists, it will be overwritten.\":\"Nombre para la plantilla. Si el nombre ya existe, se sobrescribirá.\",\"Network\":\"Red\",\"Network source\":\"Fuente de la red\",\"Next\":\"Siguiente\",\"Next: Audio\":\"Siguiente: Audio\",\"Next: Video setup\":\"Siguiente: Configuración del vídeo\",\"No\":\"No\",\"No audio\":\"Sin audio\",\"No audio stream available\":\"No hay flujo de audio disponible\",\"No input device available\":\"No hay dispositivo de entrada disponible\",\"No live stream was detected. Please check the software that sends the stream.\":\"No se ha detectado ninguna transmisión en directo. Por favor, compruebe el software que envía el flujo.\",\"No source selected\":\"No se ha seleccionado ninguna fuente\",\"No sources available\":\"No hay fuentes disponibles\",\"No suitable encoder found.\":\"No se ha encontrado un codificador adecuado.\",\"No video\":\"No hay vídeo\",\"No video stream available\":\"No hay flujo de vídeo disponible\",\"Node ID\":\"ID de nodo\",\"Noise\":\"Ruido\",\"None\":\"Ninguno\",\"Notes\":\"Notas\",\"Number of log lines to keep.\":\"Número de líneas de registro a conservar.\",\"Number of logs to keep for each process.\":\"Número de registros a mantener para cada proceso.\",\"OK\":\"OK\",\"One referrer per line, e.g. http://www.example.com\":\"Un referente por línea, por ejemplo: http://www.example.com\",\"Open\":\"Abrir\",\"Passthrough (copy) should only be disabled if necessary. Each encoding requires additional CPU/GPU resources.\":\"El passthrough (copia) sólo debe desactivarse si es necesario. Cada codificación requiere recursos adicionales de la CPU/GPU.\",\"Password\":\"Contraseña\",\"Password for authorization.\":\"Contraseña para la autorización.\",\"Password for the device.\":\"Contraseña para el dispositivo.\",\"Persist viewer statistics\":\"Persistir las estadísticas de los espectadores\",\"Pixel format\":\"Formato de píxeles\",\"Plan: <0>Starter\":\"Plan: <0>Inicio\",\"Platforms\":\"Plataformas\",\"Playback\":\"Reproducción\",\"Player\":\"Jugador\",\"Player URL\":\"URL del jugador\",\"Player settings saved\":\"Ajustes del jugador guardados\",\"Playersite\":\"Playersite\",\"Playlist\":\"Lista de reproducción\",\"Please check the <0>process log\":\"Por favor, compruebe el <0>registro del proceso\",\"Please contact the operator of the service and check what happens.\":\"Póngase en contacto con el operador del servicio y compruebe lo que ocurre.\",\"Please select a file to upload.\":\"Por favor, seleccione un archivo para cargar.\",\"Please use \\\"Passthrough (copy)\\\" if possible. Encoding requires additional CPU/GPU resources.\":\"Por favor, utilice \\\"Passthrough (copia)\\\" si es posible. La codificación requiere recursos adicionales de la CPU/GPU.\",\"Please wait. Probe stream data ...\":\"Por favor, espere. Datos del flujo de la sonda ...\",\"Please wait. Setting up the stream ...\":\"Por favor, espere. Configurando el flujo ...\",\"Port\":\"Puerto\",\"Position\":\"Posición\",\"Preset\":\"Preestablecido\",\"Primary stream\":\"Corriente primaria\",\"Primary stream key\":\"Clave de flujo primaria\",\"Probe\":\"Sonda\",\"Process\":\"Proceso\",\"Process control\":\"Control de procesos\",\"Process debug\":\"Depuración del proceso\",\"Process debug report\":\"Informe de depuración del proceso\",\"Process details\":\"Detalles del proceso\",\"Process report\":\"Informe del proceso\",\"Processing & Control\":\"Procesamiento y control\",\"Profile\":\"Perfil\",\"Protocol\":\"Protocolo\",\"Protocols\":\"Protocolos\",\"Public domain/s\":\"Dominio público\",\"Publication service not found\":\"Servicio de publicación no encontrado\",\"Publication website settings saved\":\"Se guarda la configuración del sitio web de la publicación\",\"Publications\":\"Publicaciones\",\"Pull Mode\":\"Modo de tirar\",\"Pull or recieve the data:\":\"Tire o reciba los datos:\",\"Quality\":\"Calidad\",\"RGB test pattern\":\"Patrón de prueba RGB\",\"RTMP app for publishing.\":\"Aplicación RTMP para la publicación.\",\"RTMP server\":\"Servidor RTMP\",\"RTMP server is not enabled\":\"El servidor RTMP no está habilitado\",\"RTMP server listen address.\":\"Dirección de escucha del servidor RTMP.\",\"RTMP token for publishing and playing. The token is the value of the URL query parameter 'token.'\":\"Token RTMP para publicar y reproducir. El token es el valor del parámetro de consulta URL 'token'.\",\"RTMP/S\":\"RTMP/S\",\"RTMPS server\":\"Servidor RTMPS\",\"RTSP\":\"RTSP\",\"Raspberry Pi camera\":\"Cámara Raspberry Pi\",\"Rate control\":\"Control de la tasa\",\"Ratio\":\"Ratio\",\"Read input at native speed\":\"Leer la entrada a velocidad nativa\",\"Receive Mode\":\"Modo de recepción\",\"Reconnect\":\"Conecte de nuevo\",\"Reconnect delay (seconds)\":\"Retraso de reconexión (segundos)\",\"Reconnecting in {0}s\":[\"Reconexión en \",[\"0\"],\"s\"],\"Reconnecting to Restreamer Core failed for the last {RETRIES} seconds.\":[\"La reconexión con Restreamer Core ha fallado durante los últimos \",[\"RETRIES\"],\" segundos.\"],\"Reconnecting to Restreamer Core failed.\":\"Ha fallado la reconexión con Restreamer Core.\",\"Refresh\":\"Actualización\",\"Region\":\"Región\",\"Reload\":\"Recargar\",\"Remove the oldest entries if the /memfs is full\":\"Eliminar las entradas más antiguas si el /memfs está lleno\",\"Requires activation\":\"Requiere activación\",\"Restart\":\"Reinicie\",\"Restart required\":\"Es necesario reiniciar\",\"Restarting\":\"Reiniciando\",\"Restarting Restreamer Core ...\":\"Reiniciando el núcleo de Restreamer ...\",\"Restarting the application failed.\":\"El reinicio de la aplicación ha fallado.\",\"Restreamer Service\":\"Servicio de resemantización\",\"Retrieving stream data ...\":\"Recuperación de los datos del flujo ...\",\"Retry\":\"Reintentar\",\"Rule\":\"Regla\",\"Sampling\":\"Muestreo\",\"Save\":\"Guarde\",\"Scale\":\"Escala\",\"Seconds to keep files in cache.\":\"Segundos para mantener los archivos en la caché.\",\"Seconds until a process is restarted.\":\"Segundos hasta que se reinicie un proceso.\",\"Seconds until a staled process is terminated.\":\"Segundos hasta que se termina un proceso estancado.\",\"Seconds until the snapshot/thumbnail of the video source is updated.\":\"Segundos hasta que se actualiza la instantánea/imagen de la fuente de vídeo.\",\"Security\":\"Seguridad\",\"Security token\":\"Ficha de seguridad\",\"Seekbar color\":\"Color de la barra de herramientas\",\"Segment length (seconds)\":\"Duración del segmento (segundos)\",\"Segment will be cut on the following keyframe after this time has passed. 2 is recommended.\":\"El segmento se cortará en el siguiente fotograma clave una vez transcurrido este tiempo. Se recomienda 2.\",\"Segmentation\":\"Segmentación\",\"Select a device:\":\"Seleccione un dispositivo:\",\"Select audio source:\":\"Seleccione la fuente de audio:\",\"Select source ...\":\"Seleccione la fuente ...\",\"Select video source:\":\"Seleccione la fuente de vídeo:\",\"Select whether you pull the stream from a <0>network source (such as a network camera) or the <1>internal RTMP server (e.g., OBS streams to the Restreamer).\":\"Seleccione si extrae el flujo de una <0>fuente de red (como una cámara de red) o del <1>servidor RTMP interno (por ejemplo, los flujos OBS al Restreamer).\",\"Select your encoding setting:\":\"Seleccione su configuración de codificación:\",\"Selected\":\"Seleccionado\",\"Selected channel\":\"Canal seleccionado\",\"Selection\":\"Selección\",\"Send anonymous metrics (helps us for future development)\":\"Enviar métricas anónimas (nos ayuda para el desarrollo futuro)\",\"Send stream to this address:\":\"Envíe la corriente a esta dirección:\",\"Send video to Framebuffer\":\"Enviar vídeo a Framebuffer\",\"Server\":\"Servidor\",\"Service\":\"Servicio\",\"Service name\":\"Nombre del servicio\",\"Service token for monitoring.\":\"Ficha de servicio para la supervisión.\",\"Sessions\":\"Sesiones\",\"Sets a bandwidth limit in Mbit per second for outgoing HLS data transfer. All services, such as RTMP and outgoing processes, are included in the calculation. If the bandwidth is exceeded, HLS viewers receive the HTTP status code 509 (Bandwidth Limit Exceeded). 0 is unlimited.\":\"Establece un límite de ancho de banda en Mbit por segundo para la transferencia de datos HLS salientes. Todos los servicios, como el RTMP y los procesos salientes, se incluyen en el cálculo. Si se supera el ancho de banda, los espectadores HLS reciben el código de estado HTTP 509 (Límite de ancho de banda superado). 0 es ilimitado.\",\"Sets a viewer limit for HLS sessions. If the limit is exceeded, HLS viewers receive the HTTP status code 509 (Bandwidth Limit Exceeded). 0 is unlimited.\":\"Establece un límite de espectadores para las sesiones HLS. Si se supera el límite, los espectadores HLS reciben el código de estado HTTP 509 (Límite de ancho de banda superado). 0 es ilimitado.\",\"Setting for connection to the service.\":\"Ajuste para la conexión al servicio.\",\"Settings\":\"Ajustes\",\"Settings (expert mode)\":\"Ajustes (modo experto)\",\"Settings for /data path. The access is protected by\":\"Configuración de la ruta /data. El acceso está protegido por\",\"Settings for /memfs path.\":\"Configuración de la ruta /memfs.\",\"Settings saved. All changes will be applied after restarting the application.\":\"Ajustes guardados. Todos los cambios se aplicarán después de reiniciar la aplicación.\",\"Share button\":\"Botón de compartir\",\"Shows a reference to the project.\":\"Muestra una referencia al proyecto.\",\"Sign up (free)\":\"Inscríbase (gratis)\",\"Silence\":\"Silencio\",\"Silence Audio\":\"Silencio Audio\",\"Sine\":\"Sine\",\"Sitename\":\"Nombre del sitio\",\"Size\":\"Tamaño\",\"Snapshot\":\"Instantánea\",\"Social-login (OAuth2, 2FA)\":\"Social-login (OAuth2, 2FA)\",\"Socket timeout (microseconds)\":\"Tiempo de espera del zócalo (microsegundos)\",\"Software\":\"Software\",\"Source\":\"Fuente\",\"Speed\":\"Velocidad\",\"Stale timeout (seconds)\":\"Tiempo de espera (segundos)\",\"Statistics\":\"Estadísticas\",\"Storage\":\"Almacenamiento\",\"Stores the viewer statistics to the disk.\":\"Almacena las estadísticas del visor en el disco.\",\"Stream\":\"Corriente\",\"Stream URL\":\"URL de la corriente\",\"Stream key\":\"Clave de flujo\",\"Stream name\":\"Nombre de la corriente\",\"Stream names\":\"Nombres de los arroyos\",\"Support datarhei Restreamer\":\"Apoyo a datarhei Restreamer\",\"Supports HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT and more.\":\"Soporta HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT y más.\",\"System\":\"Sistema\",\"Template\":\"Plantilla\",\"Template to be used for creating the publication website. The delete button removes the selection from the system.\":\"Plantilla que se utilizará para crear la página web de la publicación. El botón de borrar elimina la selección del sistema.\",\"Terms\":\"Términos\",\"Test pattern\":\"Patrón de prueba\",\"Test pattern (extended)\":\"Patrón de prueba (ampliado)\",\"Text colors\":\"Colores del texto\",\"The amplitude (0.0 - 1.0) of the generated audio stream\":\"La amplitud (0,0 - 1,0) del flujo de audio generado\",\"The application is using an older version of the settings.\":\"La aplicación está utilizando una versión antigua de la configuración.\",\"The bitrate of the audio stream.\":\"La tasa de bits del flujo de audio.\",\"The carrier frequency\":\"La frecuencia de la portadora\",\"The channel \\\"{0}\\\" could not be deleted\":[\"El canal \\\"\",[\"0\"],\"\\\" no pudo ser borrado\"],\"The channel \\\"{0}\\\" has been deleted\":[\"El canal \\\"\",[\"0\"],\"\\\" ha sido borrado\"],\"The deletion of this channel can not be recovered. All publications of this channel will be removed.\":\"La eliminación de este canal no se puede recuperar. Todas las publicaciones de este canal serán eliminadas.\",\"The input profile is not complete. Please define a video and audio source.\":\"El perfil de entrada no está completo. Por favor, defina una fuente de vídeo y audio.\",\"The layout of the audio stream.\":\"La disposición del flujo de audio.\",\"The maximum number of playlist segments. 0 will contain all the segments. 6 is recommended.\":\"El número máximo de segmentos de la lista de reproducción. El 0 contendrá todos los segmentos. Se recomienda 6.\",\"The noise color\":\"El color del ruido\",\"The person who associated a work with this deed has dedicated the work to the public domain by waiving all of his or her rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law. You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.\":\"La persona que asoció una obra con esta escritura ha dedicado la obra al dominio público renunciando a todos sus derechos sobre la obra en todo el mundo bajo la ley de derechos de autor, incluyendo todos los derechos conexos y vecinos, en la medida permitida por la ley. Puede copiar, modificar, distribuir y representar la obra, incluso con fines comerciales, todo ello sin pedir permiso.\",\"The public reachable domain name of the host this Restreamer is running on. Separate multiple domain names by a comma.\":\"El nombre de dominio público alcanzable del host en el que se ejecuta este Restreamer. Separe los nombres de dominio múltiples con una coma.\",\"The publication service \\\"{0}\\\" could not be deleted\":[\"El servicio de publicación \\\"\",[\"0\"],\"\\\" no ha podido ser eliminado\"],\"The publication service \\\"{0}\\\" has been created\":[\"El servicio de publicación \\\"\",[\"0\"],\"\\\" ha sido creado\"],\"The publication service \\\"{0}\\\" has been deleted\":[\"El servicio de publicación \\\"\",[\"0\"],\"\\\" ha sido eliminado\"],\"The publication service has been created\":\"Se ha creado el servicio de publicación\",\"The sample rate of the audio stream.\":\"La frecuencia de muestreo del flujo de audio.\",\"The selected file is too big ({0} bytes). Only {1} bytes are allowed.\":[\"El archivo seleccionado es demasiado grande (\",[\"0\"],\" bytes). Sólo se permiten \",[\"1\"],\" bytes.\"],\"The selected file type ({0}) is not allowed. Allowed file types are {types}\":[\"El tipo de archivo seleccionado (\",[\"0\"],\") no está permitido. Los tipos de archivo permitidos son \",[\"types\"]],\"The settings for \\\"{0}\\\" have been saved\":[\"Los ajustes de \\\"\",[\"0\"],\"\\\" se han guardado\"],\"The source doesn't provide any audio streams.\":\"La fuente no proporciona ningún flujo de audio.\",\"The source doesn't provide any audio streams. Please check the <0>probe details.\":\"La fuente no proporciona ningún flujo de audio. Por favor, compruebe los <0>detalles de la sonda.\",\"The source doesn't provide any compatible audio streams.\":\"La fuente no proporciona ningún flujo de audio compatible.\",\"The source doesn't provide any compatible video streams. Please check the <0>requirements.\":\"La fuente no proporciona ningún flujo de vídeo compatible. Por favor, compruebe los <0>requisitos.\",\"The source doesn't provide any video streams. Please check the <0>probe details.\":\"La fuente no proporciona ningún flujo de vídeo. Por favor, compruebe los <0>detalles de la sonda.\",\"The source doesn't provide any video streams. Please check the device.\":\"La fuente no proporciona ningún flujo de vídeo. Por favor, compruebe el dispositivo.\",\"The video source doesn't provide any compatible audio stream. <0>Silence audio is recommended. Services e.g. YouTube, Facebook & Co. require an audio channel.\":\"La fuente de vídeo no proporciona ningún flujo de audio compatible. Se recomienda <0>Audio silencioso. Los servicios, como YouTube, Facebook y otros, requieren un canal de audio.\",\"The video source is compatible. Select the desired resolution:\":\"La fuente de vídeo es compatible. Seleccione la resolución deseada:\",\"There are updates available. Here you get more information.\":\"Hay actualizaciones disponibles. Aquí tiene más información.\",\"There was a problem storing the settings. Settings not saved.\":\"Hubo un problema al guardar los ajustes. Los ajustes no se han guardado.\",\"There was an error connecting to Restreamer Core at {0}.\":[\"Se ha producido un error de conexión con Restreamer Core en \",[\"0\"],\".\"],\"There was an error during upload: {0}\":[\"Ha habido un error durante la carga: \",[\"0\"]],\"There was an error setting up the stream.\":\"Hubo un error al configurar el flujo.\",\"There were some errors in the settings. Settings not saved.\":\"Hubo algunos errores en la configuración. Los ajustes no se han guardado.\",\"There's no login method available.\":\"No hay ningún método de inicio de sesión disponible.\",\"This is a dummy service that explains to you the concepts of service.\":\"Este es un servicio ficticio que le explica los conceptos del servicio.\",\"This is not necessarily an error. However, it may take a bit longer for Restreamer Core to restart..\":\"Esto no es necesariamente un error. Sin embargo, es posible que Restreamer Core tarde un poco más en reiniciarse..\",\"This is to mention the copyright regulations for the target of this service.\":\"Se trata de mencionar las normas de derechos de autor para el objetivo de este servicio.\",\"This license allows reusers to copy and distribute the material in any medium or format in unadapted form only, and only so long as attribution is given to the creator. The license allows for commercial use.\":\"Esta licencia permite a los reutilizadores copiar y distribuir el material en cualquier medio o formato sólo en forma no adaptada y siempre que se dé la atribución al creador. La licencia permite el uso comercial.\",\"This license allows reusers to copy and distribute the material in any medium or format in unadapted form only, for noncommercial purposes only, and only so long as attribution is given to the creator.\":\"Esta licencia permite a los reutilizadores copiar y distribuir el material en cualquier medio o formato en forma no adaptada, sólo para fines no comerciales y siempre que se dé la atribución al creador.\",\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format for noncommercial purposes only, and only so long as attribution is given to the creator.\":\"Esta licencia permite a los reutilizadores distribuir, remezclar, adaptar y construir a partir del material en cualquier medio o formato sólo con fines no comerciales y siempre que se cite al creador.\",\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format for noncommercial purposes only, and only so long as attribution is given to the creator. If you remix, adapt, or build upon the material, you must license the modified material under identical terms.\":\"Esta licencia permite a los reutilizadores distribuir, remezclar, adaptar y construir a partir del material en cualquier medio o formato sólo con fines no comerciales y siempre que se cite al creador. Si usted remezcla, adapta o construye sobre el material, debe licenciar el material modificado bajo idénticos términos.\",\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format, so long as attribution is given to the creator. The license allows for commercial use.\":\"Esta licencia permite a los reutilizadores distribuir, remezclar, adaptar y construir sobre el material en cualquier medio o formato, siempre y cuando se dé la atribución al creador. La licencia permite el uso comercial.\",\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format, so long as attribution is given to the creator. The license allows for commercial use. If you remix, adapt, or build upon the material, you must license the modified material under identical terms.\":\"Esta licencia permite a los reutilizadores distribuir, remezclar, adaptar y construir sobre el material en cualquier medio o formato, siempre y cuando se dé la atribución al creador. La licencia permite el uso comercial. Si usted remezcla, adapta o construye sobre el material, debe licenciar el material modificado bajo idénticos términos.\",\"This source cannot be edited while it is in use. To continue, you have to disconnect the source.\":\"Esta fuente no puede ser editada mientras esté en uso. Para continuar, tiene que desconectar la fuente.\",\"This version of the UI doesn't support the available FFmpeg binary ({0}). The UI requires {1}. Please use a supported FFmpeg binary.\":[\"Esta versión de la UI no es compatible con el binario FFmpeg disponible (\",[\"0\"],\"). La UI requiere \",[\"1\"],\". Por favor, utilice un binario FFmpeg compatible.\"],\"This version of the UI doesn't support the connected Core ({0}). The UI requires {1}. Please use a compatible version of the UI.\":[\"Esta versión de la interfaz de usuario no es compatible con el núcleo conectado (\",[\"0\"],\"). La UI requiere \",[\"1\"],\". Por favor, utilice una versión compatible de la UI.\"],\"This version of the UI is compatible.\":\"Esta versión de la interfaz de usuario es compatible.\",\"Time until an inactive viewer connection is treated as closed.\":\"Tiempo que transcurre hasta que una conexión de visor inactiva es tratada como cerrada.\",\"Token\":\"Ficha\",\"Transmit snapshots of the main source to an HTTP/S Server. More details about the settings can be found <0>here.\":\"Transmita instantáneas de la fuente principal a un servidor HTTP/S. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"Transmit the audio channel of the main source to an Icecast Server. More details about the settings can be found <0>here.\":\"Transmite el canal de audio de la fuente principal a un servidor Icecast. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"Transmit the main source as HTTP-Live-Streaming (HLS) to an HTTP/S Server. More details about the settings can be found <0>here.\":\"Transmita la fuente principal como HTTP-Live-Streaming (HLS) a un servidor HTTP/S. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"Transmit the main source as MPEG-DASH to an HTTP/S Server. More details about the settings can be found <0>here.\":\"Transmita la fuente principal como MPEG-DASH a un servidor HTTP/S. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"Transmit the main source to a Brightcove Live Service. More details about the settings can be found <0>here.\":\"Transmitir la fuente principal a un Servicio Live de Brightcove. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"Transmit the main source to an CDN77 RTMP Service. More about the setup <0>here.\":\"Transmita la fuente principal a un servicio RTMP de CDN77. Más información sobre la configuración <0>aquí.\",\"Transmit the main source to an DaCast RTMP Service. More about the setup <0>here.\":\"Transmita la fuente principal a un servicio RTMP de DaCast. Más información sobre la configuración <0>aquí.\",\"Transmit the main source to an MPEG-TS Service. More details about the settings can be found here <0>here.\":\"Transmita la fuente principal a un servicio MPEG-TS. Puede encontrar más detalles sobre los ajustes aquí <0>aquí.\",\"Transmit the main source to an RTMP(e|s|t|te|ts) Server. More details about the settings can be found <0>here.\":\"Transmita la fuente principal a un servidor RTMP(e|s|t|te|ts). Puede encontrar más detalles sobre la configuración <0>aquí.\",\"Transmit the main source to an RTSP Server. More details about the settings can be found <0>here.\":\"Transmita la fuente principal a un servidor RTSP. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"Transmit the main source to an Red5/Pro Server. More details about the settings can be found <0>here.\":\"Transmita la fuente principal a un servidor Red5/Pro. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"Transmit the main source to an SRT Server. More details about the settings can be found <0>here.\":\"Transmita la fuente principal a un servidor SRT. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"Transmit the main source to an UDP Server. More details about the settings can be found <0>here.\":\"Transmita la fuente principal a un servidor UDP. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"Transmit the main source to an WOWZA Server. More details about the settings can be found <0>here.\":\"Transmita la fuente principal a un servidor WOWZA. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"Transmit the main source to an datarhei Core Ressource. More details about the settings can be found <0>here.\":\"Transmitir la fuente principal a un datarhei Core Ressource. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"Transmit the main source to an livespotting.com Ressource. More details about the settings can be found <0>here.\":\"Transmita la fuente principal a una fuente de livespotting.com. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"Transmit the main source to the Akamai (MSL) Media Services Live. More details about the MSL Encoder settings can be found on <0>here.\":\"Transmita la fuente principal a los Servicios de Medios en Vivo de Akamai (MSL). Puede encontrar más detalles sobre la configuración del codificador MSL en <0>aquí.\",\"Transmit the main source to the Bitmovin cloud encoding service, a powerful tool for live streaming. More details about the settings can be founds <0>here.\":\"Transmita la fuente principal al servicio de codificación en la nube de Bitmovin, una potente herramienta para la transmisión en directo. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"Transmit the main source to the Restream RTMP Service. More details about the settings can be found <0>here.\":\"Transmita la fuente principal al servicio Restream RTMP. Puede encontrar más detalles sobre los ajustes <0>aquí.\",\"Transmits your video as an RTMP stream with the required key generated in YouTube Studio. You can find more information on setting up a live stream at YouTube's <0>Creator Academy.\":\"Transmite su vídeo como un flujo RTMP con la clave necesaria generada en YouTube Studio. Puede encontrar más información sobre la configuración de una transmisión en directo en la <0>Academia de Creadores de YouTube.\",\"Transmits your video stream with the required key, which was generated in Twitter Producer. You can find more information on seting up a live stream at Twitter's <0>Producer.\":\"Transmite su flujo de vídeo con la clave requerida, generada en Twitter Producer. Puede encontrar más información sobre la configuración de una transmisión en directo en <0>Productor de Twitter.\",\"Tune\":\"Sintonice\",\"UDP transport\":\"Transporte UDP\",\"Unable to load the config.\":\"No se puede cargar la configuración.\",\"Unique ident on the service.\":\"Identificación única en el servicio.\",\"Unknown\":\"Desconocido\",\"Unselected\":\"No seleccionado\",\"Upload\":\"Subir a\",\"Uploading the file failed\":\"La carga del archivo ha fallado\",\"Uploading the logo failed\":\"Falló la carga del logotipo\",\"Uptime\":\"Tiempo de funcionamiento\",\"Use Auth0 for your running Restreamer Core. More <0>details.\":\"Utilice Auth0 para su núcleo Restreamer en funcionamiento. Más <0>detalles.\",\"Use the wizard (<0/>) for a quick and easy setup, or edit (<1/>) the sources directly in custom mode.\":\"Utilice el asistente (<0/>) para una configuración rápida y sencilla, o edite (<1/>) las fuentes directamente en el modo personalizado.\",\"Use your copyright and choose the correct image license. Whether free for all or highly restricted. Briefly discuss what others are allowed to do with your image.\":\"Utilice los derechos de autor y elija la licencia de imagen correcta. Ya sea libre para todos o muy restringida. Comente brevemente lo que otros pueden hacer con su imagen.\",\"Use your copyright and choose the right image licence. Whether free for all or highly restricted. Briefly discuss what others are allowed to do with your image.\":\"Utilice sus derechos de autor y elija la licencia de imagen adecuada. Ya sea libre para todos o muy restringida. Comente brevemente lo que otros pueden hacer con su imagen.\",\"User registration\":\"Registro de usuarios\",\"Username\":\"Nombre de usuario\",\"Username for authorization.\":\"Nombre de usuario para la autorización.\",\"Username for the device.\":\"Nombre de usuario del dispositivo.\",\"VPU ID\":\"ID DE LA VPU\",\"Video\":\"Vídeo\",\"Video device\":\"Dispositivo de vídeo\",\"Video settings\":\"Ajustes de vídeo\",\"Video setup\":\"Configuración del vídeo\",\"Video source\":\"Fuente de vídeo\",\"Viewer\":\"Visor\",\"Virtual source\":\"Fuente virtual\",\"Welcome to Restreamer v2, the solution for fast and easy video publishing. Free for private and commercial use. Further help in the <0>docs.\":\"Bienvenido a Restreamer v2, la solución para la publicación rápida y sencilla de vídeos. Gratis para uso privado y comercial. Más ayuda en los <0>docs.\",\"Write protection\":\"Protección de la escritura\",\"YUV test pattern\":\"Patrón de prueba YUV\",\"Yes\":\"Sí\",\"You can't abort the wizard because at least one input must be defined.\":\"No puede abortar el asistente porque al menos una entrada debe estar definida.\",\"You have changed the configuration. In order for the changes to take effect, you have to restart the application. Do you want to restart now?\":\"Ha cambiado la configuración. Para que los cambios surtan efecto, tiene que reiniciar la aplicación. ¿Quiere reiniciar ahora?\",\"You have to reconnect manually\":\"Tiene que volver a conectarse manualmente\",\"You have unsaved changes. Please save them before you can control the service again.\":\"Tiene cambios sin guardar. Por favor, guárdelos antes de poder controlar el servicio de nuevo.\",\"Your stream needs to be encoded, but there's no suitable encoder available.\":\"Su flujo necesita ser codificado, pero no hay un codificador adecuado disponible.\",\"Your stream needs to be encoded. Choose the desired encoder:\":\"Su flujo debe ser codificado. Elija el codificador deseado:\",\"blue\":\"azul\",\"brown\":\"marrón\",\"iframe code\":\"código iframe\",\"kbit/s\":\"kbit/s\",\"pink\":\"rosa\",\"velvet\":\"terciopelo\",\"violet\":\"violeta\",\"white\":\"blanco\"}};","/*eslint-disable*/module.exports={messages:{\"<0>Compatibility list\":\"<0>Список совместимости\",\"<0>Show probe details\":\"<0>Показать подробности\",\"ALSA\":\"ALSA\",\"API endpoint not found. Settings not saved.\":\"Конечная точка API не найдена. Настройки не сохранены.\",\"AVFoundation\":\"AVFoundation\",\"Abort\":\"Отменить\",\"About\":\"О\",\"Add\":\"Добавить\",\"Add Publication\":\"Добавить публикацию\",\"Add external widgets and styles to the publication site. You can find some examples on the help page.\":\"Добавьте внешние виджеты и стили на сайт публикации. Вы можете найти несколько примеров на странице помощи.\",\"Add new channel\":\"Добавить новый канал\",\"Add: {0}\":[\"Добавить: \",[\"0\"]],\"Address\":\"Адрес\",\"Address for the background image.\":\"Адрес для фонового изображения.\",\"Address to listen on for HTTP requests.\":\"Адрес для прослушивания HTTP-запросов.\",\"Address to listen on for HTTPS requests.\":\"Адрес для прослушивания HTTPS-запросов.\",\"Adjust publication site colors and background as you like.\":\"Настройте цвета и фон сайта публикации по своему усмотрению.\",\"Advanced monitoring\":\"Расширенный мониторинг\",\"Advanced settings\":\"Расширенные настройки\",\"Advanced setup\":\"Advanced Setup\",\"Alerting by email\":\"Оповещение по электронной почте\",\"All\":\"Все\",\"All important system settings.\":\"Все важные системные настройки.\",\"Allow all referrer\":\"Разрешить всех рефералов\",\"Allow counting how many viewers the stream has.\":\"Разрешить подсчет количества зрителей у трансляции.\",\"Amplitude\":\"Амплитуда\",\"An environment variable sets this value.\":\"Переменная среды задает это значение.\",\"App\":\"Приложение\",\"Application\":\"Приложение\",\"Are you sure you want to abort the wizard?\":\"Вы уверены, что хотите прервать работу мастера настройки?\",\"Audio\":\"Аудио\",\"Audio Device\":\"Аудио-устройство\",\"Audio device\":\"Аудио-устройство\",\"Audio from device\":\"Звук с устройства\",\"Audio settings\":\"Настройки звука\",\"Audio setup\":\"Настройка звука\",\"Auth0\":\"Auth0\",\"Auth0 Tenant\":\"Клиент Auth0\",\"Auth0 is currently not available because this interface is loaded from an insecure origin.\":\"Auth0 в настоящее время недоступен, так как этот интерфейс загружается из небезопасного источника.\",\"Author\":\"Автор\",\"Authorization\":\"Авторизация\",\"Automatic cleanup of all media data\":\"Автоматическая очистка всех медиаданных\",\"Autoplay\":\"Авто-плей\",\"Available\":\"Доступный\",\"Back\":\"Назад\",\"Background colors\":\"Цвета фона\",\"Background image\":\"Фоновая картинка\",\"Backup URL\":\"Резервный URL-адрес\",\"Backup server\":\"Резервный сервер\",\"Backup stream\":\"Резервный поток\",\"Backup stream key\":\"Резервный ключ потока\",\"Bandwidth\":\"Пропускная способность\",\"Bandwidth control\":\"Контроль пропускной способности\",\"Banner\":\"Баннер\",\"Basic\":\"Базовый\",\"Beep factor\":\"Звуковой фактор\",\"Bitrate\":\"Битрейт\",\"Briefly describe what the audience will see during the live stream.\":\"Кратко опишите, что зрители увидят во время прямой трансляции.\",\"Button color\":\"Цвет кнопки\",\"Cache for files on /data.\":\"Кэш для файлов в /data.\",\"Cache time (Seconds)\":\"Время кэширования (сек)\",\"Cache types\":\"Типы кеша\",\"Capture clicks\":\"Захват кликов\",\"Capture cursor\":\"Захват курсора\",\"Channel \\\"{0}\\\" saved\":[\"Канал \\\"\",[\"0\"],\"\\\" сохранен\"],\"Channels\":\"Каналы\",\"Check for updates\":\"Проверять наличие обновлений\",\"Check the requirements\":\"Проверьте требования\",\"Choose a video stream\":\"Выберите видеопоток\",\"Choose an audio stream\":\"Выберите аудиопоток\",\"Choose an input device ...\":\"Выберите устройство ввода...\",\"Choose codec ...\":\"Выберите кодек...\",\"Choose tenant ...\":\"Выбрать клиента...\",\"Chunk\":\"Чанк\",\"Close\":\"Закрыть\",\"Code injection\":\"Внедрение кода\",\"Codec\":\"Кодек\",\"Color\":\"Цвет\",\"Config\":\"Конфигурация\",\"Confirm password\":\"Подтвердить пароль\",\"Connect\":\"Подключить\",\"Connected device\":\"Подключенное устройство\",\"Connected since <0/>\":\"Подключено с <0/>\",\"Connecting ...\":\"Подключение...\",\"Connecting to Restreamer Core ...\":\"Подключение к ядру Restreamer...\",\"Connecting to Restreamer Core failed probably because of mixed content.\":\"Не удалось подключиться к ядру Restreamer, вероятно, из-за смешанного контента.\",\"Content\":\"Контент\",\"Content URL\":\"Content URL\",\"Cores\":\"Ядра\",\"Create user\":\"Создать пользователя\",\"Creative Commons\":\"Creative Commons\",\"Custom ...\":\"Пользовательский...\",\"Custom JSON config for datarhei Core.\":\"Пользовательская конфигурация JSON для ядра datarhei.\",\"Custom audio device\":\"Пользовательское аудиоустройство\",\"Custom audio index\":\"Пользовательский звуковой индекс\",\"Custom bitrate (kbit/s)\":\"Пользовательский битрейт (кбит/с)\",\"Custom code injection\":\"Внедрение пользовательского кода\",\"Custom delay\":\"Пользовательская задержка\",\"Custom device\":\"Пользовательское устройство\",\"Custom format\":\"Пользовательский формат\",\"Custom framerate\":\"Пользовательская частота кадров\",\"Custom keyframe interval\":\"Пользовательский интервал ключевых кадров\",\"Custom layout\":\"Пользовательский макет\",\"Custom sampling (Hz)\":\"Пользовательская выборка (Гц)\",\"Custom scale\":\"Пользовательский масштаб\",\"Custom size\":\"Пользовательский размер\",\"Custom video device\":\"Пользовательское видеоустройство\",\"Custom video index\":\"Пользовательский индекс видео\",\"Data copied to clipboard\":\"Данные скопированы в буфер обмена\",\"Death color\":\"Цвет смерти\",\"Decoder\":\"Декодер\",\"Default\":\"По умолчанию\",\"Delay\":\"Задержка\",\"Delay (ms)\":\"Задержка (мс)\",\"Delete\":\"Удалить\",\"Deleting a publication service cannot be reversed. The publication stops immediately.\":\"Удаление службы публикации нельзя отменить. Публикация сразу прекращается.\",\"Delivering mode\":\"Режим доставки\",\"Description\":\"Описание\",\"Design\":\"Дизайн\",\"Device\":\"Устройство\",\"Disconnect\":\"Отключить\",\"Disconnect & Continue\":\"Отключить и продолжить\",\"Disconnecting ...\":\"Отключение...\",\"Disk\":\"Диск\",\"Disk cache\":\"Кэш диска\",\"Disk storage\":\"Дисковое хранилище\",\"Do you really want to restart the application now?\":\"Вы действительно хотите перезапустить приложение сейчас?\",\"Do you want to delete \\\"{0}\\\"?\":[\"Вы хотите удалить \\\"\",[\"0\"],\"\\\"?\"],\"Do you want to delete {title}?\":[\"Вы хотите удалить \",[\"title\"],\"?\"],\"Do you want to disconnect \\\"{0}\\\"?\":[\"Вы хотите отключить \\\"\",[\"0\"],\"\\\"?\"],\"Docs\":\"Документы\",\"Documentation\":\"Документация\",\"Dup. frames\":\"Дуп. кадры\",\"EDIT: Player\":\"РЕДАКТИРОВАТЬ: Плеер\",\"EDIT: Publication Website\":\"РЕДАКТИРОВАТЬ: Сайт публикации\",\"Edit\":\"Редактировать\",\"Edit the audio and video sources for the live stream. Add a description, and set your desired content license.\":\"Отредактируйте аудио и видеоисточники для прямой трансляции. Добавьте описание и установите желаемую лицензию на содержимое.\",\"Edit: {title}\":[\"Изменить: \",[\"title\"]],\"Embed\":\"Встроить\",\"Enable RTMP server ...\":\"Включить RTMP-сервер...\",\"Enable a periodic beep every second with this value times the carrier frequency\":\"Включить периодический звуковой сигнал каждую секунду с этим значением, умноженным на несущую частоту\",\"Enable backup stream\":\"Включить резервный поток\",\"Enable nerd statistics\":\"Включить статистику ботаников\",\"Enable primary stream\":\"Включить основной поток\",\"Enable snapshots\":\"Включить снимки\",\"Enabling authorization is strongly advised. Otherwise, anybody can access this instance.\":\"Настоятельно рекомендуется включить авторизацию. В противном случае любой может получить доступ к этому экземпляру.\",\"Enabling basic auth is strongly advised. Otherwise, anybody could write data to /memfs.\":\"Настоятельно рекомендуется включить базовую аутентификацию. В противном случае любой может записать данные в /memfs.\",\"Encoder\":\"Кодер\",\"Encoding\":\"Кодирование\",\"Encryption\":\"Шифрование\",\"Enter a name for the new channel.\":\"Введите имя для нового канала.\",\"Enter password\":\"Введите пароль\",\"Enter the address of your network source:\":\"Введите адрес вашего сетевого источника:\",\"Enter username\":\"Введите имя пользователя\",\"Entropy coder\":\"Энтропийный кодер\",\"Error\":\"Ошибка\",\"Error while copying data to clipboard\":\"Ошибка при копировании данных в буфер обмена\",\"Error: {0}\":[\"Ошибка: \",[\"0\"]],\"Expands the area above the channel list (live chat).\":\"Расширяет область над списком каналов (живой чат).\",\"Expands the area under the channel description (comment boxes).\":\"Расширяет область под описанием канала (окна комментариев).\",\"Expert mode\":\"Режим эксперта\",\"Extend channel list\":\"Расширить список каналов\",\"Extend content\":\"Расширить содержимое\",\"Extend footer\":\"Расширить нижний колонтитул\",\"Extend header\":\"Расширить заголовок\",\"FFmpeg\":\"FFmpeg\",\"FPS\":\"FPS\",\"Failed to create publication service ({0})\":[\"Не удалось создать службу публикации (\",[\"0\"],\")\"],\"Failed to create publication website files.\":\"Не удалось создать файлы веб-сайта публикации.\",\"Failed to probe the source. Please check the <0>probe details.\":\"Не удалось проверить источник. Пожалуйста, проверьте <0>подробности.\",\"Failed to refresh token: {0}\":[\"Не удалось обновить токен: \",[\"0\"]],\"Failed to save ingest metadata\":\"Не удалось сохранить импортированные метаданные\",\"Failed to stop process\":\"Не удалось остановить процесс\",\"Failed to store player size setting.\":\"Не удалось сохранить настройку размера проигрывателя.\",\"Failed to store publication service ({0})\":[\"Не удалось сохранить службу публикации (\",[\"0\"],\")\"],\"Failed to update ingest process ({0})\":[\"Не удалось обновить процесс загрузки (\",[\"0\"],\")\"],\"Failed to update the player\":\"Не удалось обновить плеер\",\"Failed to verify the source. Please check the address.\":\"Не удалось проверить источник. Пожалуйста, проверьте адрес.\",\"Finish\":\"Закончить\",\"Flags\":\"Флаги\",\"For Javascripts.\":\"Для Javascripts.\",\"For Stylesheets.\":\"Для таблиц стилей.\",\"Force input framerate\":\"Принудительная частота кадров на входе\",\"Format\":\"Формат\",\"Frame drops\":\"Потеря кадров\",\"Framebuffer\":\"Кадровый буфер\",\"Framerate\":\"Частота кадров\",\"Frequency (Hz)\":\"Частота (Гц)\",\"GET\":\"GET\",\"General\":\"Общие\",\"Google Analytics ID\":\"Идентификатор Google Аналитики\",\"Google Analytics Tracker Name\":\"Название трекера Google Аналитики\",\"HLS\":\"HLS\",\"HLS statistic for the In-memory storage\":\"Статистика HLS для хранилища в памяти\",\"HTTP and HTTPS\":\"HTTP и HTTPS\",\"HTTP port\":\"HTTP-порт\",\"HTTPS (SSL/TLS)\":\"HTTPS (SSL/TLS)\",\"HTTPS port\":\"HTTPS-порт\",\"Hardware device\":\"Аппаратное устройство\",\"Header\":\"Заголовок\",\"Headline\":\"Заголовок\",\"Hosted Restreamer interface\":\"Размещенный интерфейс Restreamer\",\"Human readable name on the service.\":\"Человекочитаемое имя на сервисе.\",\"IP address\":\"IP адрес\",\"If you changed the ports, it might be that Restreamer Core restarted already, but it is now available on a different port.\":\"Если вы изменили порты, возможно, ядро Restreamer уже перезапустилось, но теперь он доступен на другом порту.\",\"If you enabled Let's Encrypt TLS it might take some time to acquire the certificates. Make sure that Restreamer Core is reachable via port 80 from the internet. Please check the console log of Restreamer Core.\":\"Если вы включили Let's Encrypt TLS, получение сертификатов может занять некоторое время. Убедитесь, что ядро Restreamer доступно через порт 80 из Интернета. Пожалуйста, проверьте журнал консоли ядра Restreamer.\",\"Ignore IP ranges\":\"Игнорировать диапазоны IP-адресов\",\"Image URL\":\"URL изображения\",\"Imprint\":\"Выходные данные\",\"In addition to the player, the Restreamer offers a complete landingpage, which you can use to present your live stream easily and quickly.\":\"В дополнение к плееру Restreamer предлагает полноценную целевую страницу, которую вы можете использовать для простого и быстрого представления своей прямой трансляции.\",\"In-memory\":\"В памяти\",\"In-memory storage\":\"Хранилище в памяти\",\"Incompatible\":\"Несовместимо\",\"Inherit\":\"Наследовать\",\"Inject 1\":\"Встраивание 1\",\"Inject 2\":\"Встраивание 2\",\"Inject 3\":\"Встраивание 3\",\"Inject 4\":\"Встраивание 4\",\"Internal HLS server\":\"Внутренний HLS-сервер\",\"Internal RTMP server\":\"Внутренний RTMP-сервер\",\"Interval (seconds)\":\"Интервал (секунды)\",\"Issue alert\":\"Оповещение о проблеме\",\"Keyframe interval (seconds)\":\"Интервал между ключевыми кадрами (секунды)\",\"Layout\":\"Макет\",\"Let's Encrypt certification\":\"Сертификат Let's Encrypt\",\"Let's Encrypt requires one or more public domain names and an accessible port 80/TCP.\":\"Для работы Let's Encrypt требуется одно или несколько общедоступных доменных имен и доступный порт 80/TCP.\",\"Level\":\"Уровень\",\"Level of system protocol.\":\"Уровень системного протокола.\",\"License\":\"Лицензия\",\"Life color\":\"Цвет жизни\",\"Linecolor\":\"Цвет линии\",\"Link\":\"Ссылка\",\"Link, mouseover\":\"Ссылка, наведение курсора\",\"List of IP ranges in CIDR notation, e.g., 127.0.0.1/32, that the statistics will not record—one IP range per line. Leave empty to record all sessions.\":\"Список диапазонов IP адресов в нотации CIDR, напр., 127.0.0.1/32, которые не будут записываться статистикой — по одному диапазону IP адресов на строку. Оставьте пустым для записи всех сеансов..\",\"List of file extensions to cache (e.g. \\\".html\\\"), one per line. Leave empty to cache all file types.\":\"Список расширений файлов для кэширования (напр.. \\\".html\\\"), по одному в строке. Оставьте пустым, чтобы кэшировать все типы файлов.\",\"List size (segments)\":\"Размер списка (сегменты)\",\"Live-Streaming to Facebook Live RTMP service\":\"Прямая трансляция на сервис Facebook Live RTMP\",\"Live-Streaming to Instagram Live RTMP Service. The stream key requires a service such as <0>Yellow Duck.\":\"Прямая трансляция на сервис Instagram Live RTMP. Для ключа потока требуется такая служба, как <0>Yellow Duck.\",\"Live-Streaming to Twitch Live RTMP Service.\":\"Прямая трансляция на сервис Twitch Live RTMP.\",\"Live-Streaming to Vimeo Live RTMP Service\":\"Прямая трансляция на RTMP-сервис Vimeo Live\",\"Livesource ID\":\"Livesource ID\",\"Log level\":\"Уровень журнала\",\"Logging\":\"Логирование\",\"Login\":\"Авторизоваться\",\"Login failed: Couldn't load API details\":\"Ошибка входа: не удалось загрузить сведения об API\",\"Login failed: {0}\":[\"Ошибка входа: \",[\"0\"]],\"Login/JWT authorization\":\"Вход/JWT-авторизация\",\"Logo\":\"Логотип\",\"Logout\":\"Выйти\",\"MB\":\"MB\",\"Main Source\":\"Главный источник\",\"Main channel\":\"Основной канал\",\"Main channel not found\":\"Основной канал не найден\",\"Main channel saved\":\"Основной канал сохранен\",\"Main page channel (index.html).\":\"Канал главной страницы (index.html).\",\"Maintainer:\":\"Сопровождающий:\",\"Maximum allowed cache size, 0 for unlimited.\":\"Максимально допустимый размер кеша, 0 для неограниченного.\",\"Maximum allowed megabytes of RAM for /memfs, 0 for unlimited.\":\"Максимально допустимо мегабайт ОЗУ для /memfs, 0 для неограниченного.\",\"Maximum allowed megabytes to consume from hard disk. 0 for unlimited.\":\"Максимально разрешенное количество мегабайт для использования с жесткого диска. 0 без ограничений.\",\"Maximum bandwidth Mbit/s\":\"Максимальная пропускная способность Мбит/с\",\"Maximum delay in milliseconds.\":\"Максимальная задержка в миллисекундах.\",\"Maximum file size (Megabytes)\":\"Максимальный размер файла (Мегабайты)\",\"Maximum file size to put in cache.\":\"Максимальный размер файла для кэширования.\",\"Maximum log histroy\":\"Максимальная история журнала\",\"Maximum log lines\":\"Максимальное количество строк журнала\",\"Maximum size (Megabytes)\":\"Максимальный размер (Мегабайты)\",\"Maximum viewer idle time (Seconds)\":\"Максимальное время простоя зрителя (в секундах)\",\"Maximum viewers\":\"Максимальное количество зрителей\",\"Memory\":\"Память\",\"Meta information\":\"Мета информация\",\"Metadata\":\"Метаданные\",\"Mold\":\"Плесень\",\"More about Twitter's copyright <0>here.\":\"Подробнее об авторских правах Twitter <0>здесь.\",\"More about YouTube's copyright <0>here.\":\"Подробнее об авторских правах YouTube <0>здесь.\",\"More about licenses here\":\"Подробнее о лицензиях здесь\",\"More about the service\":\"Подробнее о сервисе\",\"Mute\":\"Без звука\",\"Name\":\"Имя\",\"Name for the template. If the name already exists, it will be overwritten.\":\"Имя для шаблона. Если имя уже существует, оно будет перезаписано.\",\"Network\":\"Сеть\",\"Network source\":\"Сетевой источник\",\"Next\":\"Далее\",\"Next: Audio\":\"Далее: Аудио\",\"Next: Video setup\":\"Далее: Настройка видео\",\"No\":\"Нет\",\"No audio\":\"Нет звука\",\"No audio stream available\":\"Аудиопоток недоступен\",\"No input device available\":\"Устройство ввода недоступно\",\"No live stream was detected. Please check the software that sends the stream.\":\"Прямая трансляция не обнаружена. Пожалуйста, проверьте программное обеспечение, которое отправляет поток.\",\"No source selected\":\"Источник не выбран\",\"No sources available\":\"Нет доступных источников\",\"No suitable encoder found.\":\"Подходящий энкодер не найден.\",\"No video\":\"Нет видео\",\"No video stream available\":\"Видеопоток недоступен\",\"Node ID\":\"Node ID\",\"Noise\":\"Шум\",\"None\":\"Никто\",\"Notes\":\"Заметки\",\"Number of log lines to keep.\":\"Количество строк журнала для сохранения.\",\"Number of logs to keep for each process.\":\"Количество журналов для каждого процесса.\",\"OK\":\"OK\",\"One referrer per line, e.g. http://www.example.com\":\"Один реферер на строку, напр.. http://www.example.com\",\"Open\":\"Открыть\",\"Passthrough (copy) should only be disabled if necessary. Each encoding requires additional CPU/GPU resources.\":\"Сквозную \\\"Passthrough (copy)\\\" следует отключать только в случае необходимости. Каждое кодирование требует дополнительных ресурсов CPU/GPU.\",\"Password\":\"Пароль\",\"Password for authorization.\":\"Пароль для авторизации.\",\"Password for the device.\":\"Пароль для устройства.\",\"Persist viewer statistics\":\"Сохранять статистику просмотров\",\"Pixel format\":\"Пиксельный формат\",\"Plan: <0>Starter\":\"План: <0>Начальный\",\"Platforms\":\"Платформы\",\"Playback\":\"Воспроизведение\",\"Player\":\"Плеер\",\"Player URL\":\"URL-адрес плеера\",\"Player settings saved\":\"Настройки плеера сохранены\",\"Playersite\":\"Сайт плеера\",\"Playlist\":\"Плейлист\",\"Please check the <0>process log\":\"Пожалуйста, проверьте <0>журнал процесса\",\"Please contact the operator of the service and check what happens.\":\"Пожалуйста, свяжитесь с оператором сервиса и проверьте, что происходит.\",\"Please select a file to upload.\":\"Пожалуйста, выберите файл для загрузки.\",\"Please use \\\"Passthrough (copy)\\\" if possible. Encoding requires additional CPU/GPU resources.\":\"Пожалуйста, используйте \\\"Passthrough (copy)\\\", если это возможно. Кодирование требует дополнительных ресурсов CPU/GPU.\",\"Please wait. Probe stream data ...\":\"Пожалуйста подождите. Данные о потоке...\",\"Please wait. Setting up the stream ...\":\"Пожалуйста подождите. Настройка потока...\",\"Port\":\"Порт\",\"Position\":\"Позиция\",\"Preset\":\"Пресет\",\"Primary stream\":\"Основной поток\",\"Primary stream key\":\"Основной ключ потока\",\"Probe\":\"Зонд\",\"Process\":\"Процесс\",\"Process control\":\"Контроль процесса\",\"Process debug\":\"Отладка процесса\",\"Process debug report\":\"Отчет об отладке процесса\",\"Process details\":\"Детали процесса\",\"Process report\":\"Отчет о процессе\",\"Processing & Control\":\"Обработка и контроль\",\"Profile\":\"Профиль\",\"Protocol\":\"Протокол\",\"Protocols\":\"Протоколы\",\"Public domain/s\":\"Публичный домен/ы\",\"Publication service not found\":\"Служба публикации не найдены\",\"Publication website settings saved\":\"Настройки сайта публикации сохранены\",\"Publications\":\"Публикации\",\"Pull Mode\":\"Режим вытягивания\",\"Pull or recieve the data:\":\"Вытяните или получите данные:\",\"Quality\":\"Качество\",\"RGB test pattern\":\"Тестовый шаблон RGB\",\"RTMP app for publishing.\":\"Приложение RTMP для публикации.\",\"RTMP server\":\"RTMP-сервер\",\"RTMP server is not enabled\":\"RTMP-сервер не включен\",\"RTMP server listen address.\":\"Адрес прослушивания RTMP-сервера.\",\"RTMP token for publishing and playing. The token is the value of the URL query parameter 'token.'\":\"Токен RTMP для публикации и воспроизведения. Токен – это значение параметра запроса URL-адреса token.\",\"RTMP/S\":\"RTMP/S\",\"RTMPS server\":\"RTMPS-сервер\",\"RTSP\":\"RTSP\",\"Raspberry Pi camera\":\"Камера Raspberry Pi\",\"Rate control\":\"Контроль скорости\",\"Ratio\":\"Соотношение\",\"Read input at native speed\":\"Чтение ввода на исходной скорости\",\"Receive Mode\":\"Режим приема\",\"Reconnect\":\"Повторное подключение\",\"Reconnect delay (seconds)\":\"Задержка повторного подключения (в секундах)\",\"Reconnecting in {0}s\":[\"Повторное подключение через \",[\"0\"],\"с\"],\"Reconnecting to Restreamer Core failed for the last {RETRIES} seconds.\":[\"Не удалось повторно подключиться к ядру Restreamer в течение последних \",[\"RETRIES\"],\" секунд.\"],\"Reconnecting to Restreamer Core failed.\":\"Повторное подключение к ядру Restreamer не удалось.\",\"Refresh\":\"Обновление\",\"Region\":\"Регион\",\"Reload\":\"Перезагрузка\",\"Remove the oldest entries if the /memfs is full\":\"Удалите самые старые записи, если /memfs заполнен\",\"Requires activation\":\"Требуется активация\",\"Restart\":\"Перезапустить\",\"Restart required\":\"Требуется перезагрузка\",\"Restarting\":\"Перезапуск\",\"Restarting Restreamer Core ...\":\"Перезапуск ядра Restreamer...\",\"Restarting the application failed.\":\"Не удалось перезапустить приложение.\",\"Restreamer Service\":\"Сервис Restreamer\",\"Retrieving stream data ...\":\"Получение данных потока...\",\"Retry\":\"Повторить попытку\",\"Rule\":\"Правило\",\"Sampling\":\"Выборка\",\"Save\":\"Сохранить\",\"Scale\":\"Масштаб\",\"Seconds to keep files in cache.\":\"Секунд для хранения файлов в кеше.\",\"Seconds until a process is restarted.\":\"Секунд до перезапуска процесса.\",\"Seconds until a staled process is terminated.\":\"Секунд до завершения зависшего процесса.\",\"Seconds until the snapshot/thumbnail of the video source is updated.\":\"Секунд до обновления моментального снимка/миниатюры источника видео.\",\"Security\":\"Безопасность\",\"Security token\":\"Токен безопасности\",\"Seekbar color\":\"Цвет панели поиска\",\"Segment length (seconds)\":\"Длина сегмента (секунды)\",\"Segment will be cut on the following keyframe after this time has passed. 2 is recommended.\":\"Сегмент будет обрезан на следующем ключевом кадре по истечении этого времени. 2 рекомендуется.\",\"Segmentation\":\"Сегментация\",\"Select a device:\":\"Выберите устройство:\",\"Select audio source:\":\"Выберите источник звука:\",\"Select source ...\":\"Выберите источник...\",\"Select video source:\":\"Выберите источник видео:\",\"Select whether you pull the stream from a <0>network source (such as a network camera) or the <1>internal RTMP server (e.g., OBS streams to the Restreamer).\":\"Выберите, извлекаете ли вы поток из <0>сетевого источника (например, сетевой камеры) или <1>внутреннего RTMP-сервера (например, потоки OBS на Restreamer)...\",\"Select your encoding setting:\":\"Выберите настройку кодировки:\",\"Selected\":\"Выбрано\",\"Selected channel\":\"Выбранный канал\",\"Selection\":\"Выбор\",\"Send anonymous metrics (helps us for future development)\":\"Отправляйте анонимные метрики (помогает нам в будущем развитии)\",\"Send stream to this address:\":\"Отправить поток на этот адрес:\",\"Send video to Framebuffer\":\"Отправить видео в фреймбуфер\",\"Server\":\"Сервер\",\"Service\":\"Обслуживание\",\"Service name\":\"Имя службы\",\"Service token for monitoring.\":\"Токен сервиса для мониторинга.\",\"Sessions\":\"Сессии\",\"Sets a bandwidth limit in Mbit per second for outgoing HLS data transfer. All services, such as RTMP and outgoing processes, are included in the calculation. If the bandwidth is exceeded, HLS viewers receive the HTTP status code 509 (Bandwidth Limit Exceeded). 0 is unlimited.\":\"Устанавливает ограничение пропускной способности в Мбит/с для исходящей передачи данных HLS. Все услуги, такие как RTMP и исходящие процессы, включены в расчет. Если пропускная способность превышена, средства просмотра HLS получают код состояния HTTP 509 (превышен предел пропускной способности). 0 неограничен.\",\"Sets a viewer limit for HLS sessions. If the limit is exceeded, HLS viewers receive the HTTP status code 509 (Bandwidth Limit Exceeded). 0 is unlimited.\":\"Устанавливает лимит зрителей для сеансов HLS. Если ограничение превышено, средства просмотра HLS получают код состояния HTTP 509 (превышен предел пропускной способности). 0 неограничен.\",\"Setting for connection to the service.\":\"Настройка подключения к сервису.\",\"Settings\":\"Настройки\",\"Settings (expert mode)\":\"Настройки (режим эксперта)\",\"Settings for /data path. The access is protected by\":\"Настройки пути /data. Доступ защищен\",\"Settings for /memfs path.\":\"Настройки для пути /memfs.\",\"Settings saved. All changes will be applied after restarting the application.\":\"Настройки сохранены. Все изменения вступят в силу после перезапуска приложения.\",\"Share button\":\"Кнопка поделиться\",\"Shows a reference to the project.\":\"Показывает ссылку на проект.\",\"Sign up (free)\":\"Регистрация (бесплатно)\",\"Silence\":\"Тишина\",\"Silence Audio\":\"Тишина Аудио\",\"Sine\":\"Синус\",\"Sitename\":\"Название сайта\",\"Size\":\"Размер\",\"Snapshot\":\"Снимок\",\"Social-login (OAuth2, 2FA)\":\"Регистрация (OAuth2, 2FA)\",\"Socket timeout (microseconds)\":\"Время ожидания сокета (микросекунды)\",\"Software\":\"Программного обеспечения\",\"Source\":\"Источник\",\"Speed\":\"Скорость\",\"Stale timeout (seconds)\":\"Время ожидания ожидания (секунды)\",\"Statistics\":\"Статистика\",\"Storage\":\"Хранилище\",\"Stores the viewer statistics to the disk.\":\"Сохраняет статистику просмотра на диск.\",\"Stream\":\"Поток\",\"Stream URL\":\"URL-адрес потока\",\"Stream key\":\"Ключ потока\",\"Stream name\":\"Название потока\",\"Stream names\":\"Имена потоков\",\"Support datarhei Restreamer\":\"Поддержка datarhei Restreamer\",\"Supports HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT and more.\":\"Поддерживает HTTP (HLS, DASH), RTP, RTSP, RTMP, SRT и другие.\",\"System\":\"Система\",\"Template\":\"Шаблон\",\"Template to be used for creating the publication website. The delete button removes the selection from the system.\":\"Шаблон, который будет использоваться для создания веб-сайта публикации. Кнопка удаления удаляет выделение из системы.\",\"Terms\":\"Условия\",\"Test pattern\":\"Тестовый шаблон\",\"Test pattern (extended)\":\"Тестовый шаблон (расширенный)\",\"Text colors\":\"Цвета текста\",\"The amplitude (0.0 - 1.0) of the generated audio stream\":\"Амплитуда (0.0 - 1.0) генерируемого аудиопотока\",\"The application is using an older version of the settings.\":\"Приложение использует более старую версию настроек.\",\"The bitrate of the audio stream.\":\"Битрейт аудиопотока.\",\"The carrier frequency\":\"Несущая частота\",\"The channel \\\"{0}\\\" could not be deleted\":[\"Канал \\\"\",[\"0\"],\"\\\" не может быть удален\"],\"The channel \\\"{0}\\\" has been deleted\":[\"Канал \\\"\",[\"0\"],\"\\\" удален\"],\"The deletion of this channel can not be recovered. All publications of this channel will be removed.\":\"Удаление этого канала не может быть восстановлено. Все публикации этого канала будут удалены.\",\"The input profile is not complete. Please define a video and audio source.\":\"Входной профиль не завершен. Укажите источник видео и аудио.\",\"The layout of the audio stream.\":\"Схема аудиопотока.\",\"The maximum number of playlist segments. 0 will contain all the segments. 6 is recommended.\":\"Максимальное количество сегментов плейлиста. 0 будет содержать все сегменты. 6 рекомендуется.\",\"The noise color\":\"Цвет шума\",\"The person who associated a work with this deed has dedicated the work to the public domain by waiving all of his or her rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law. You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.\":\"Лицо, связавшее произведение с этим документом, сделало произведение общественным достоянием, отказавшись от всех своих прав на произведение во всем мире в соответствии с законом об авторском праве, включая все смежные и смежные права, в той мере, в какой это разрешено законом. Вы можете копировать, изменять, распространять и выполнять работу даже в коммерческих целях, не спрашивая разрешения.\",\"The public reachable domain name of the host this Restreamer is running on. Separate multiple domain names by a comma.\":\"Общедоступное доменное имя хоста, на котором работает Restreamer. Разделяйте несколько доменных имен запятой.\",\"The publication service \\\"{0}\\\" could not be deleted\":[\"Службу публикации \\\"\",[\"0\"],\"\\\" не удалось удалить\"],\"The publication service \\\"{0}\\\" has been created\":[\"Служба публикации \\\"\",[\"0\"],\"\\\" создана\"],\"The publication service \\\"{0}\\\" has been deleted\":[\"Служба публикации \\\"\",[\"0\"],\"\\\" удалена\"],\"The publication service has been created\":\"Создан сервис публикации\",\"The sample rate of the audio stream.\":\"Частота дискретизации аудиопотока.\",\"The selected file is too big ({0} bytes). Only {1} bytes are allowed.\":[\"Выбранный файл слишком велик (\",[\"0\"],\" байт). Допускается только \",[\"1\"],\" байт.\"],\"The selected file type ({0}) is not allowed. Allowed file types are {types}\":[\"Выбранный тип файла (\",[\"0\"],\") не разрешен. Разрешенными типами файлов являются \",[\"types\"]],\"The settings for \\\"{0}\\\" have been saved\":[\"Настройки для \\\"\",[\"0\"],\"\\\" сохранены\"],\"The source doesn't provide any audio streams.\":\"Источник не предоставляет никаких аудиопотоков.\",\"The source doesn't provide any audio streams. Please check the <0>probe details.\":\"Источник не предоставляет никаких аудиопотоков. Пожалуйста, проверьте <0>подробнее.\",\"The source doesn't provide any compatible audio streams.\":\"Источник не предоставляет совместимых аудиопотоков.\",\"The source doesn't provide any compatible video streams. Please check the <0>requirements.\":\"Источник не предоставляет совместимых видеопотоков. Ознакомьтесь с <0>требованиями.\",\"The source doesn't provide any video streams. Please check the <0>probe details.\":\"Источник не предоставляет никаких видеопотоков. Пожалуйста, проверьте <0>подробнее.\",\"The source doesn't provide any video streams. Please check the device.\":\"Источник не предоставляет никаких видеопотоков. Пожалуйста, проверьте устройство.\",\"The video source doesn't provide any compatible audio stream. <0>Silence audio is recommended. Services e.g. YouTube, Facebook & Co. require an audio channel.\":\"Источник видео не обеспечивает совместимый аудиопоток. Рекомендуется <0>отключить звук. Сервисы YouTube, Facebook и другие компании требуют наличия аудиоканала....\",\"The video source is compatible. Select the desired resolution:\":\"Источник видео совместим. Выберите нужное разрешение:\",\"There are updates available. Here you get more information.\":\"Доступны обновления. Здесь вы получите больше информации.\",\"There was a problem storing the settings. Settings not saved.\":\"Не удалось сохранить настройки. Настройки не сохранены.\",\"There was an error connecting to Restreamer Core at {0}.\":[\"Произошла ошибка при подключении к ядру Restreamer на \",[\"0\"],\".\"],\"There was an error during upload: {0}\":[\"При загрузке произошла ошибка: \",[\"0\"]],\"There was an error setting up the stream.\":\"Не удалось настроить поток.\",\"There were some errors in the settings. Settings not saved.\":\"Были некоторые ошибки в настройках. Настройки не сохранены.\",\"There's no login method available.\":\"Метод входа недоступен.\",\"This is a dummy service that explains to you the concepts of service.\":\"Это фиктивный сервис, который объясняет вам концепции сервиса.\",\"This is not necessarily an error. However, it may take a bit longer for Restreamer Core to restart..\":\"Это не обязательно ошибка. Однако перезапуск ядра Restreamer может занять немного больше времени..\",\"This is to mention the copyright regulations for the target of this service.\":\"Это должно упомянуть положения об авторском праве для цели этой службы.\",\"This license allows reusers to copy and distribute the material in any medium or format in unadapted form only, and only so long as attribution is given to the creator. The license allows for commercial use.\":\"Эта лицензия позволяет повторным пользователям копировать и распространять материал на любом носителе или в любом формате только в неадаптированной форме и только при условии указания авторства. Лицензия разрешает коммерческое использование.\",\"This license allows reusers to copy and distribute the material in any medium or format in unadapted form only, for noncommercial purposes only, and only so long as attribution is given to the creator.\":\"Эта лицензия позволяет повторным пользователям копировать и распространять материал на любом носителе или в любом формате только в неадаптированной форме, только в некоммерческих целях и только при условии указания авторства.\",\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format for noncommercial purposes only, and only so long as attribution is given to the creator.\":\"Эта лицензия позволяет повторным пользователям распространять, микшировать, адаптировать и использовать материал на любом носителе или в любом формате только в некоммерческих целях и только при условии указания авторства.\",\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format for noncommercial purposes only, and only so long as attribution is given to the creator. If you remix, adapt, or build upon the material, you must license the modified material under identical terms.\":\"Эта лицензия позволяет повторным пользователям распространять, микшировать, адаптировать и использовать материал на любом носителе или в любом формате только в некоммерческих целях и только при условии указания авторства. Если вы микшируете, адаптируете или развиваете материал, вы должны лицензировать измененный материал на тех же условиях.\",\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format, so long as attribution is given to the creator. The license allows for commercial use.\":\"Эта лицензия позволяет повторным пользователям распространять, микшировать, адаптировать и использовать материал на любом носителе или в любом формате при условии указания авторства. Лицензия разрешает коммерческое использование.\",\"This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format, so long as attribution is given to the creator. The license allows for commercial use. If you remix, adapt, or build upon the material, you must license the modified material under identical terms.\":\"Эта лицензия позволяет повторным пользователям распространять, микшировать, адаптировать и использовать материал на любом носителе или в любом формате при условии указания авторства. Лицензия разрешает коммерческое использование. Если вы микшируете, адаптируете или развиваете материал, вы должны лицензировать измененный материал на тех же условиях.\",\"This source cannot be edited while it is in use. To continue, you have to disconnect the source.\":\"Этот источник нельзя редактировать, пока он используется. Чтобы продолжить, вы должны отключить источник.\",\"This version of the UI doesn't support the available FFmpeg binary ({0}). The UI requires {1}. Please use a supported FFmpeg binary.\":[\"Эта версия пользовательского интерфейса не поддерживает доступный двоичный файл FFmpeg (\",[\"0\"],\"). Пользовательский интерфейс требует \",[\"1\"],\". Пожалуйста, используйте поддерживаемый двоичный файл FFmpeg.\"],\"This version of the UI doesn't support the connected Core ({0}). The UI requires {1}. Please use a compatible version of the UI.\":[\"Эта версия пользовательского интерфейса не поддерживает подключенное ядро (\",[\"0\"],\"). Пользовательский интерфейс требует \",[\"1\"],\". Пожалуйста, используйте совместимую версию пользовательского интерфейса.\"],\"This version of the UI is compatible.\":\"Эта версия пользовательского интерфейса совместима.\",\"Time until an inactive viewer connection is treated as closed.\":\"Время до того, как неактивное соединение со зрителем будет считаться закрытым.\",\"Token\":\"Токен\",\"Transmit snapshots of the main source to an HTTP/S Server. More details about the settings can be found <0>here.\":\"Передача моментальных снимков основного источника на сервер HTTP/S. Более подробную информацию о настройках можно найти <0>здесь.\",\"Transmit the audio channel of the main source to an Icecast Server. More details about the settings can be found <0>here.\":\"Передайте аудиоканал основного источника на сервер Icecast. Более подробную информацию о настройках можно найти <0>здесь.\",\"Transmit the main source as HTTP-Live-Streaming (HLS) to an HTTP/S Server. More details about the settings can be found <0>here.\":\"Передайте основной источник как HTTP-Live-Streaming (HLS) на сервер HTTP/S. Более подробную информацию о настройках можно найти <0>здесь.\",\"Transmit the main source as MPEG-DASH to an HTTP/S Server. More details about the settings can be found <0>here.\":\"Передайте основной источник как MPEG-DASH на сервер HTTP/S. Более подробную информацию о настройках можно найти <0>здесь.\",\"Transmit the main source to a Brightcove Live Service. More details about the settings can be found <0>here.\":\"Передайте основной источник в Brightcove Live Service. Более подробную информацию о настройках можно найти <0>здесь.\",\"Transmit the main source to an CDN77 RTMP Service. More about the setup <0>here.\":\"Передайте основной источник в службу CDN77 RTMP. Подробнее о настройке <0>здесь.\",\"Transmit the main source to an DaCast RTMP Service. More about the setup <0>here.\":\"Передайте основной источник в службу DaCast RTMP. Подробнее о настройке <0>здесь.\",\"Transmit the main source to an MPEG-TS Service. More details about the settings can be found here <0>here.\":\"Передать основной источник в службу MPEG-TS. Подробнее о настройках можно узнать здесь <0>здесь.\",\"Transmit the main source to an RTMP(e|s|t|te|ts) Server. More details about the settings can be found <0>here.\":\"Передайте основной источник на сервер RTMP(e|s|t|te|ts). Более подробную информацию о настройках можно найти <0>здесь.\",\"Transmit the main source to an RTSP Server. More details about the settings can be found <0>here.\":\"Передайте основной источник на сервер RTSP. Более подробную информацию о настройках можно найти <0>здесь.\",\"Transmit the main source to an Red5/Pro Server. More details about the settings can be found <0>here.\":\"Передача основного источника на сервер Red5/Pro Server. Более подробную информацию о настройках можно найти <0>здесь.\",\"Transmit the main source to an SRT Server. More details about the settings can be found <0>here.\":\"Передайте основной источник на сервер SRT. Более подробную информацию о настройках можно найти <0>здесь.\",\"Transmit the main source to an UDP Server. More details about the settings can be found <0>here.\":\"Передайте основной источник на сервер UDP. Более подробную информацию о настройках можно найти <0>здесь.\",\"Transmit the main source to an WOWZA Server. More details about the settings can be found <0>here.\":\"Передайте основной источник на сервер WOWZA. Более подробную информацию о настройках можно найти <0>здесь.\",\"Transmit the main source to an datarhei Core Ressource. More details about the settings can be found <0>here.\":\"Передайте основной источник на основной ресурс datarhei. Более подробную информацию о настройках можно найти <0>здесь.\",\"Transmit the main source to an livespotting.com Ressource. More details about the settings can be found <0>here.\":\"Передайте основной источник на ресурс livespotting.com. Более подробную информацию о настройках можно найти <0>здесь.\",\"Transmit the main source to the Akamai (MSL) Media Services Live. More details about the MSL Encoder settings can be found on <0>here.\":\"Передайте основной источник в Akamai (MSL) Media Services Live. Более подробную информацию о настройках MSL Encoder можно найти <0>здесь.\",\"Transmit the main source to the Bitmovin cloud encoding service, a powerful tool for live streaming. More details about the settings can be founds <0>here.\":\"Передайте основной источник в облачный сервис кодирования Bitmovin, мощный инструмент для прямой трансляции. Более подробную информацию о настройках можно найти <0>здесь.\",\"Transmit the main source to the Restream RTMP Service. More details about the settings can be found <0>here.\":\"Передайте основной источник в службу Restream RTMP. Более подробную информацию о настройках можно найти <0>здесь.\",\"Transmits your video as an RTMP stream with the required key generated in YouTube Studio. You can find more information on setting up a live stream at YouTube's <0>Creator Academy.\":\"Передает ваше видео в виде RTMP-потока с необходимым ключом, сгенерированным в YouTube Studio. Дополнительную информацию о настройке прямых трансляций можно найти в <0>Академии для авторов YouTube.\",\"Transmits your video stream with the required key, which was generated in Twitter Producer. You can find more information on seting up a live stream at Twitter's <0>Producer.\":\"Передает ваш видеопоток с нужным ключом, сгенерированным в Twitter Producer. Дополнительную информацию о настройке прямой трансляции можно найти на странице <0>Producer в Твиттере.\",\"Tune\":\"Мелодия\",\"UDP transport\":\"Транспорт UDP\",\"Unable to load the config.\":\"Не удалось загрузить конфиг.\",\"Unique ident on the service.\":\"Уникальный идентификатор на сервисе.\",\"Unknown\":\"Неизвестный\",\"Unselected\":\"Не выбрано\",\"Upload\":\"Загрузить\",\"Uploading the file failed\":\"Загрузка файла не удалась\",\"Uploading the logo failed\":\"Не удалось загрузить логотип\",\"Uptime\":\"Время безотказной работы\",\"Use Auth0 for your running Restreamer Core. More <0>details.\":\"Используйте Auth0 для работающего ядра Restreamer. Больше <0>подробностей.\",\"Use the wizard (<0/>) for a quick and easy setup, or edit (<1/>) the sources directly in custom mode.\":\"Воспользуйтесь мастером (<0/>) для быстрой и простой настройки или отредактируйте (<1/>) источники непосредственно в пользовательском режиме.\",\"Use your copyright and choose the correct image license. Whether free for all or highly restricted. Briefly discuss what others are allowed to do with your image.\":\"Используйте свои авторские права и выберите правильную лицензию на изображение. Независимо от того, бесплатно для всех или сильно ограничено. Кратко обсудите, что другим разрешено делать с вашим изображением.\",\"Use your copyright and choose the right image licence. Whether free for all or highly restricted. Briefly discuss what others are allowed to do with your image.\":\"Используйте свои авторские права и выберите правильную лицензию на изображение. Независимо от того, бесплатно для всех или сильно ограничено. Кратко обсудите, что другим разрешено делать с вашим изображением.\",\"User registration\":\"Регистрация пользователя\",\"Username\":\"Имя пользователя\",\"Username for authorization.\":\"Имя пользователя для авторизации.\",\"Username for the device.\":\"Имя пользователя для устройства.\",\"VPU ID\":\"VPU ID\",\"Video\":\"Видео\",\"Video device\":\"Видеоустройство\",\"Video settings\":\"Настройки видео\",\"Video setup\":\"Настройка видео\",\"Video source\":\"Источник видео\",\"Viewer\":\"Зрителей\",\"Virtual source\":\"Виртуальный источник\",\"Welcome to Restreamer v2, the solution for fast and easy video publishing. Free for private and commercial use. Further help in the <0>docs.\":\"Добро пожаловать в Restreamer v2, решение для быстрой и простой публикации видео. Бесплатно для частного и коммерческого использования. Дополнительная помощь в <0>документах.\",\"Write protection\":\"Защита от записи\",\"YUV test pattern\":\"Тестовый образец YUV\",\"Yes\":\"Да\",\"You can't abort the wizard because at least one input must be defined.\":\"Вы не можете прервать работу мастера, так как должен быть настроен хотя бы один источник.\",\"You have changed the configuration. In order for the changes to take effect, you have to restart the application. Do you want to restart now?\":\"Вы изменили конфигурацию. Чтобы изменения вступили в силу, необходимо перезапустить приложение. Вы хотите перезапустить сейчас?\",\"You have to reconnect manually\":\"Вы должны повторно подключиться вручную\",\"You have unsaved changes. Please save them before you can control the service again.\":\"У вас есть несохраненные изменения. Пожалуйста, сохраните их, прежде чем вы сможете снова управлять сервисом.\",\"Your stream needs to be encoded, but there's no suitable encoder available.\":\"Ваш поток необходимо закодировать, но подходящего кодировщика нет.\",\"Your stream needs to be encoded. Choose the desired encoder:\":\"Ваш поток должен быть закодирован. Выберите нужный энкодер:\",\"blue\":\"синий\",\"brown\":\"коричневый\",\"iframe code\":\"код iframe\",\"kbit/s\":\"кбит/с\",\"pink\":\"розовый\",\"velvet\":\"вельветовый\",\"violet\":\"фиолетовый\",\"white\":\"белый\"}};","/* eslint-disable import/no-anonymous-default-export */\nexport default {\n\tcommon: {\n\t\t// MuiButton, ChannelList.js, index.js, Player.js\n\t\tblack: '#000',\n\t\t// Header.js, ChannelList.js, Edit->index.js\n\t\twhite: '#fff',\n\t},\n\tbackground: {\n\t\t// MuiAccordion\n\t\taccordion: 'rgba(77, 77, 77, .4)',\n\t\t// MuiAccordion\n\t\taccordion_border: 'rgba(128, 128, 128, .6)',\n\t\t// MuiMenuItem, Header.js (MenuIcon, MenuItem), Progress.js (Progress boxes)\n\t\tbox_default: 'rgb(77, 77, 77)',\n\t\t// MuiListItem, Progress.js (Progress boxes - danger)\n\t\tbox_danger: 'rgb(193, 39, 45)',\n\t\t// MuiButton, global.js (Page background)\n\t\tbutton_disabled: '#333333',\n\t\t// MuiButton, MuiMenu, MuiToggleButton, MultiSelectOption.js (MenuItem)\n\t\tdark1: 'rgba(0, 0, 0, .1)',\n\t\t// MuiOutlinedInput, BoxText.js (color=dark)\n\t\tdark2: 'rgba(0, 0, 0, .25)',\n\t\t// Footer.js, Textarea.js, global.js (Scrollbar)\n\t\tfooter1: 'rgba(66, 61, 63, .9)',\n\t\t// Footer.js, Textarea.js\n\t\tfooter2: 'rgba(39, 36, 37, .9)',\n\t\t// MuiAppBar, BoxText.js (color=light = default), TabsHorizontal.js, Paper.js\n\t\tlight1: 'rgba(255, 255, 255, .1)',\n\t\t// MuiDialog, MuiPaper, MuiTooltip, Header.js, ModalContent.js, Dialog.js\n\t\tmodal: 'rgb(71, 71, 71)',\n\t\t// BoxTextarea.js, Progress.js, Process.js, Textarea.js, gobal.js (textarea)\n\t\tmodalbox: 'rgb(91, 91, 91)',\n\t\t// MuiFab, MuiListItem, MuiPaper, Headerjs,\n\t\tpaper: 'rgba(56, 56, 56, .95)',\n\t},\n\tdefault: {\n\t\tmain: '#686868',\n\t},\n\tprimary: {\n\t\t// MuiOutlinedInput\n\t\tlight: '#919090',\n\t\t// MuiAlert, MuiMenu, MuiOutlinedInput, MuiSelect\n\t\tmain: '#686868',\n\t\t// MuiMenu, MuiOutlinedInput\n\t\tdark: '#4D4D4D',\n\t\t// MuiButton\n\t\tcontrastText: '#fff',\n\t},\n\tsecondary: {\n\t\t// MuiAlert, MuiButton, MuiFab, MuiOutlinedInput, MuiSelect, MuiToggleButton\n\t\tmain: '#39B54A',\n\t\t// MuiButton, MuiFab\n\t\tcontrastText: '#fff',\n\t},\n\tservice: {\n\t\t// MuiButton, Login.js\n\t\tmain: '#EAEA05',\n\t\t// Paper.js\n\t\tcontrastText: 'rgba(43,41,42,.95)',\n\t},\n\terror: {\n\t\t// MuiAlert, MuiButton, BoxText.js (color=danger), Env.js\n\t\tmain: '#C1272D',\n\t\t// MuiButton\n\t\tcontrastText: '#fff',\n\t},\n\twarning: {\n\t\t// MuiAlert, Main->index.js\n\t\tmain: '#E28014',\n\t},\n\tselected: {\n\t\t// MuiFab\n\t\tmain: '#fff',\n\t},\n\ttext: {\n\t\t// MuiBackdrop, MuiButton, MuiDialog, MuiFormLabel, MuiIconButton,\n\t\t// MuiInputLabel, MuiMenu, MuiOutlinedInput, MuiPaper, MuiSelect, MuiTab,\n\t\t// MuiToggleButton, MuiTypography,\n\t\t// Header.js, Checkbox.js, Env.js, LanguageSelect.js, ModalContent.js,\n\t\t// TabsHorizontal.js, Dialog.js, global.js (Textarea)\n\t\tprimary: '#fff',\n\t\t// MuiSelect, MuiTab, Footer.js, Header.js\n\t\tsecondary: 'rgba(255, 255, 255, 0.7)',\n\t\t// MuiCheckbox, Checkbox.js\n\t\tdisabled: 'rgba(255, 255, 255, 0.38)',\n\t\t// MuiTypography\n\t\thint: 'rgba(255, 255, 255, 0.7)',\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\nimport palette from './palette';\n\nimport '@fontsource/dosis/300.css';\nimport '@fontsource/dosis/400.css';\nimport '@fontsource/dosis/500.css';\nimport '@fontsource/dosis/700.css';\nimport '@fontsource/roboto/300.css';\nimport '@fontsource/roboto/400.css';\nimport '@fontsource/roboto/500.css';\nimport '@fontsource/roboto/700.css';\n\nconst base = {\n\thtmlFontSize: 16,\n\tfontFamily: '\"Roboto\", \"Helvetica\", \"Arial\", sans-serif',\n\tfontSize: 12,\n\tfontWeightLight: 300,\n\tfontWeightRegular: 400,\n\tfontWeightMedium: 500,\n\tfontWeightBold: 700,\n\th1: {\n\t\tfontFamily: '\"Dosis\", \"Roboto\", \"Helvetica\", \"Arial\", sans-serif',\n\t\tfontSize: '2rem',\n\t\tmarginBottom: '.25rem',\n\t},\n\th2: {\n\t\tfontFamily: '\"Dosis\", \"Roboto\", \"Helvetica\", \"Arial\", sans-serif',\n\t\tfontSize: '1.8rem',\n\t\tmarginTop: '.25rem',\n\t\tmarginBottom: '.25rem',\n\t\twordBreak: 'break-word',\n\t},\n\th3: {\n\t\tfontFamily: '\"Dosis\", \"Roboto\", \"Helvetica\", \"Arial\", sans-serif',\n\t\tfontSize: '1.35rem',\n\t\tmarginTop: '.5em',\n\t\twordBreak: 'break-word',\n\t},\n\th4: {\n\t\tfontFamily: '\"Dosis\", \"Roboto\", \"Helvetica\", \"Arial\", sans-serif',\n\t\tfontSize: '1.2rem',\n\t\tmarginTop: '.4em',\n\t},\n\th5: {\n\t\tfontFamily: '\"Dosis\", \"Roboto\", \"Helvetica\", \"Arial\", sans-serif',\n\t\tfontSize: '1.1rem',\n\t\tmarginBottom: '.5rem',\n\t},\n\th6: {\n\t\tfontFamily: '\"Dosis\", \"Roboto\", \"Helvetica\", \"Arial\", sans-serif',\n\t\tfontSize: '1rem',\n\t\tfontWeight: 500,\n\t},\n\tsubtitle1: {\n\t\tfontSize: '1.2rem',\n\t\tmarginBottom: '.5rem',\n\t},\n\tsubtitle2: {\n\t\tfontSize: '1.1rem',\n\t\tfontWeight: 500,\n\t},\n\tbody1: {\n\t\tfontSize: '1rem',\n\t},\n\tbody2: {\n\t\tfontSize: '.9rem',\n\t\tfontWeight: 500,\n\t},\n\tbody3: {\n\t\tfontSize: '1rem',\n\t\tfontWeight: 500,\n\t\tmarginBottom: '.5rem',\n\t},\n\tbutton: {\n\t\tfontSize: '.9rem',\n\t},\n\tpagetitle: {\n\t\tfontSize: '1rem',\n\t\ttextTransform: 'uppercase',\n\t\tfontWeight: 500,\n\t},\n\tcaption: {\n\t\tcolor: palette.text.hint,\n\t\tmarginTop: '0.5em',\n\t\tfontSize: '.75rem',\n\t\tdisplay: 'block',\n\t\tfontStyle: 'italic',\n\t},\n};\n\nexport default {\n\t...base,\n};\n","import { createTheme } from '@mui/material/styles';\n\nimport breakpoints from './breakpoints';\nimport palette from './palette';\nimport typography from './typography';\nimport shape from './shape';\n\nconst theme = createTheme({\n\tbreakpoints: { ...breakpoints },\n\tpalette: { ...palette },\n\ttypography: { ...typography },\n\tshape: { ...shape },\n});\n\nexport default theme;\n","/* eslint-disable import/no-anonymous-default-export */\nexport default {\n\tunit: 'px',\n\tvalues: {\n\t\txs: 0,\n\t\tsm: 600,\n\t\tmd: 900,\n\t\tlg: 1200,\n\t\txl: 1536,\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\nexport default {\n\tborderRadius: 4,\n};\n","export default __webpack_public_path__ + \"static/media/universe-4609408.93fbf14b.jpg\";","/* eslint-disable import/no-anonymous-default-export */\nimport base from './base';\nimport universe from '../assets/images/universe-4609408.jpg';\n\nexport default {\n\thtml: {\n\t\twidth: '100%',\n\t\theight: '100%',\n\t\tfontSize: '16px/1.5',\n\t},\n\tbody: {\n\t\tbackground: `${base.palette.background.button_disabled} url(${universe}) no-repeat fixed left top`,\n\t\tbackgroundSize: 'cover',\n\t\toverflowX: 'hidden',\n\t\toverflowY: 'scroll',\n\t},\n\tcode: {\n\t\tfontFamily: 'soure-code-pro, monospace',\n\t},\n\ttextarea: {\n\t\twidth: '100%',\n\t\tbackgroundColor: base.palette.background.modalbox,\n\t\tfontFamily:\n\t\t\t'Consolas, \"Andale Mono WT\", \"Andale Mono\", \"Lucida Console\", \"Lucida Sans Typewriter\", \"DejaVu Sans Mono\", \"Bitstream Vera Sans Mono\", \"Liberation Mono\", \"Nimbus Mono L\", Monaco, \"Courier New\", Courier, monospace',\n\t\tfontSize: 14,\n\t\twhiteSpace: 'pre',\n\t\toverflow: 'auto',\n\t\tcolor: base.palette.text.primary,\n\t\tborder: '0',\n\t\tresize: 'none',\n\t\twordWrap: 'inherit',\n\t\twordBreak: 'inherit',\n\t\toverflowWrap: 'normal',\n\t},\n\t'*:focus': {\n\t\toutline: 'none',\n\t},\n\t'::-webkit-scrollbar': {\n\t\twidth: 6,\n\t\theight: 6,\n\t},\n\t'::-webkit-scrollbar:vertical': {\n\t\twidth: 6,\n\t},\n\t'::-webkit-scrollbar:horizontal': {\n\t\theight: 6,\n\t},\n\t'::-webkit-scrollbar-thumb': {\n\t\tborderRadius: 4,\n\t\tcolor: base.palette.background.footer1,\n\t\tbackgroundColor: base.palette.background.footer1,\n\t},\n\t'::-webkit-scrollbar-track': {\n\t\tbackgroundColor: 'transparent',\n\t\tborderRadius: 8,\n\t},\n\t'::-webkit-scrollbar-corner': {\n\t\tbackground: 'transparent',\n\t},\n\t// firefox\n\t'@-moz-document url-prefix(http://),url-prefix(https://)': {\n\t\tscrollbar: {\n\t\t\tMozAppearance: 'none !important',\n\t\t\tbackground: `${base.palette.background.footer1}!important`,\n\t\t},\n\t\t'thumb,scrollbarbutton': {\n\t\t\tMozAppearance: 'none !important',\n\t\t\tbackgroundColor: 'transparent !important',\n\t\t},\n\t\t'thumb:hover,scrollbarbutton:hover': {\n\t\t\tMozAppearance: 'none !important',\n\t\t\tbackgroundColor: 'transparent !important',\n\t\t},\n\t\tscrollbarbutton: {\n\t\t\tdisplay: 'none !important',\n\t\t},\n\t\t'scrollbar[orient=\"vertical\"]': {\n\t\t\tminWidth: '6px !important',\n\t\t},\n\t},\n\t// Extend build in Player\n\t// -> removes black bottom line\n\t'[data-player]': {\n\t\tmargin: '2px -2px 2px -2px',\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\nimport base from '../base';\n\nexport default {\n\tstyleOverrides: {\n\t\troot: {\n\t\t\tpadding: '0',\n\t\t},\n\t\trounded: {\n\t\t\tboxShadow: 'unset',\n\t\t\tbackgroundColor: base.palette.background.accordion,\n\t\t\tborder: `2px ${base.palette.background.accordion_border} solid`,\n\t\t},\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\nimport base from '../base';\n\nexport default {\n\tstyleOverrides: {\n\t\tfilledInfo: {\n\t\t\tbackgroundColor: base.palette.primary.main,\n\t\t},\n\t\tfilledSuccess: {\n\t\t\tbackgroundColor: base.palette.secondary.main,\n\t\t},\n\t\tfilledWarning: {\n\t\t\tbackgroundColor: base.palette.warning.main,\n\t\t},\n\t\tfilledError: {\n\t\t\tbackgroundColor: base.palette.error.main,\n\t\t},\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\nimport base from '../base';\n\nexport default {\n\tstyleOverrides: {\n\t\troot: {\n\t\t\tbackground: 'rgba(0, 0, 0, 0)!important',\n\t\t\tborderBottom: `2px solid ${base.palette.background.light1}!important`,\n\t\t\tpadding: '0em!important',\n\t\t\tmarginBottom: '1.5em',\n\t\t},\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\nimport base from '../base';\n\nexport default {\n\tstyleOverrides: {\n\t\troot: {\n\t\t\tzIndex: '99999',\n\t\t\tcolor: base.palette.text.primary,\n\t\t},\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\nimport base from '../base';\n\nconst root = {\n\ttextAlign: 'center',\n\ttextTransform: 'uppercase',\n\tuserSelect: 'none',\n};\n\nconst outlined = {\n\tbase: {\n\t\tcolor: base.palette.text.primary,\n\t\tbackgroundColor: base.palette.background.dark1,\n\t\tborder: `2px solid ${base.palette.primary.main}`,\n\t\t'&:hover': {\n\t\t\tcolor: base.palette.primary.contrastText,\n\t\t\tbackgroundColor: base.palette.background.dark1,\n\t\t\tborder: `2px solid ${base.palette.primary.light}`,\n\t\t},\n\t\t'&:disabled': {\n\t\t\tcolor: `${base.palette.text.disabled}`,\n\t\t\tborder: `2px solid ${base.palette.primary.light}`,\n\t\t},\n\t\t'&.Mui-disabled': {\n\t\t\tbackgroundColor: `${base.palette.background.button_disabled}`,\n\t\t\tborder: `2px solid ${base.palette.text.disabled}`,\n\t\t\tcolor: `${base.palette.text.disabled}`,\n\t\t},\n\t},\n\tprimary: {\n\t\tcolor: base.palette.text.primary,\n\t\tbackgroundColor: base.palette.background.dark1,\n\t\tborder: `2px solid ${base.palette.secondary.main}`,\n\t\t'&:hover': {\n\t\t\tcolor: base.palette.secondary.contrastText,\n\t\t\tbackgroundColor: base.palette.secondary.main,\n\t\t\tborder: `2px solid ${base.palette.secondary.main}`,\n\t\t},\n\t},\n\t// color secondary: danger\n\tsecondary: {\n\t\tcolor: base.palette.text.primary,\n\t\tbackgroundColor: base.palette.background.dark1,\n\t\tborder: `2px solid ${base.palette.error.main}`,\n\t\t'&:hover': {\n\t\t\tcolor: base.palette.error.contrastText,\n\t\t\tbackgroundColor: base.palette.error.main,\n\t\t\tborder: `2px solid ${base.palette.error.main}`,\n\t\t},\n\t},\n};\n\nexport default {\n\tvariants: [\n\t\t{\n\t\t\tprops: { variant: 'big' },\n\t\t\tstyle: {\n\t\t\t\theight: 130,\n\t\t\t\twidth: '100%',\n\t\t\t\ttextTransform: 'initial!important',\n\t\t\t\tcolor: base.palette.text.primary,\n\t\t\t\tbackgroundColor: base.palette.background.dark1,\n\t\t\t\tborder: `2px solid ${base.palette.primary.main}`,\n\t\t\t\t'&:hover': {\n\t\t\t\t\tcolor: base.palette.primary.contrastText,\n\t\t\t\t\tbackgroundColor: base.palette.background.dark1,\n\t\t\t\t\tborder: `2px solid ${base.palette.secondary.main}!important`,\n\t\t\t\t},\n\t\t\t\t'&:active': {\n\t\t\t\t\tborder: `2px solid ${base.palette.secondary.main}!important`,\n\t\t\t\t},\n\t\t\t\t'&.Mui-disabled': {\n\t\t\t\t\tborder: `2px solid ${base.palette.text.disabled}!important`,\n\t\t\t\t\tcolor: `${base.palette.text.primary}!important`,\n\t\t\t\t\topacity: 0.4,\n\t\t\t\t},\n\t\t\t\t'& svg': {\n\t\t\t\t\tfontSize: '2.5em',\n\t\t\t\t\tmaxHeight: '40px',\n\t\t\t\t\tmaxWidth: '40px',\n\t\t\t\t},\n\t\t\t\t'& img': {\n\t\t\t\t\tfontSize: '2.5em',\n\t\t\t\t\tmaxHeight: '40px',\n\t\t\t\t\tmaxWidth: '40px',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tprops: { variant: 'bigSelected' },\n\t\t\tstyle: {\n\t\t\t\theight: 130,\n\t\t\t\twidth: '100%',\n\t\t\t\ttextTransform: 'initial!important',\n\t\t\t\tcolor: base.palette.text.primary,\n\t\t\t\tbackgroundColor: base.palette.background.dark1,\n\t\t\t\tborder: `2px solid ${base.palette.secondary.main}!important`,\n\t\t\t\t'&:hover': {\n\t\t\t\t\tcolor: base.palette.primary.contrastText,\n\t\t\t\t\tbackgroundColor: base.palette.background.dark1,\n\t\t\t\t\tborder: `2px solid ${base.palette.secondary.main}!important`,\n\t\t\t\t},\n\t\t\t\t'& svg': {\n\t\t\t\t\tfontSize: '2.5em',\n\t\t\t\t\tmaxHeight: '40px',\n\t\t\t\t\tmaxWidth: '40px',\n\t\t\t\t},\n\t\t\t\t'& img': {\n\t\t\t\t\tfontSize: '2.5em',\n\t\t\t\t\tmaxHeight: '40px',\n\t\t\t\t\tmaxWidth: '40px',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tprops: { variant: 'service' },\n\t\t\tstyle: {\n\t\t\t\tcolor: base.palette.text.primary,\n\t\t\t\tbackgroundColor: base.palette.background.dark1,\n\t\t\t\tborder: `2px solid ${base.palette.service.main}!important`,\n\t\t\t\t'&:hover': {\n\t\t\t\t\tcolor: base.palette.common.black,\n\t\t\t\t\tbackgroundColor: base.palette.service.main,\n\t\t\t\t\tborder: `2px solid ${base.palette.service.main}!important`,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t],\n\tstyleOverrides: {\n\t\troot: { ...root },\n\t\toutlined: { ...outlined.base },\n\t\toutlinedPrimary: { ...outlined.primary },\n\t\toutlinedSecondary: { ...outlined.secondary },\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\nimport base from '../base';\n\nexport default {\n\tstyleOverrides: {\n\t\tcolorSecondary: {\n\t\t\t'&.Mui-disabled': {\n\t\t\t\t'&.MuiIconButton-label': {\n\t\t\t\t\tcolor: base.palette.text.disabled,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\nimport base from '../base';\n\nexport default {\n\tstyleOverrides: {\n\t\troot: {\n\t\t\tcolor: base.palette.text.primary,\n\t\t},\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\nimport base from '../base';\n\nexport default {\n\tstyleOverrides: {\n\t\troot: {\n\t\t\tpadding: '2em 2.5em 2em 2.5em',\n\t\t\twidth: '95%',\n\t\t\tmaxWidth: 540,\n\t\t\tmaxHeight: '95%',\n\t\t\toverflow: 'scroll',\n\t\t\tbackgroundColor: base.palette.background.modal,\n\t\t\tcolor: base.palette.text.primary,\n\t\t},\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\nimport base from '../base';\n\nexport default {\n\tstyleOverrides: {\n\t\troot: {\n\t\t\twidth: '100%',\n\t\t\tmarginTop: '0.35em',\n\t\t\tmarginBottom: '0.35em',\n\t\t\tborderTop: `2px solid ${base.palette.text.disabled}`,\n\t\t\topacity: 0.6,\n\t\t},\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\nimport base from '../base';\n\nexport default {\n\tstyleOverrides: {\n\t\tprimary: {\n\t\t\tcolor: base.palette.selected.main,\n\t\t\tbackgroundColor: base.palette.background.paper,\n\t\t\t'&:hover': {\n\t\t\t\tcolor: base.palette.secondary.contrastText,\n\t\t\t\tbackgroundColor: base.palette.secondary.main,\n\t\t\t},\n\t\t},\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\nimport base from '../base';\n\nexport default {\n\tstyleOverrides: {\n\t\troot: {\n\t\t\t'&.Mui-focused': {\n\t\t\t\tcolor: base.palette.text.primary,\n\t\t\t},\n\t\t},\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\nimport base from '../base';\n\nexport default {\n\tstyleOverrides: {\n\t\troot: {\n\t\t\tcolor: base.palette.text.primary,\n\t\t},\n\t\tlabel: {\n\t\t\tcolor: base.palette.text.primary,\n\t\t\t'&>img': {\n\t\t\t\tmaxHeight: '19px!important',\n\t\t\t\tmaxWidth: '19px!important',\n\t\t\t\tmarginTop: '-5px!important',\n\t\t\t},\n\t\t},\n\t\tsizeSmall: {\n\t\t\tpadding: '0 2px 0 2px',\n\t\t},\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\nimport base from '../base';\n\nexport default {\n\tstyleOverrides: {\n\t\troot: {\n\t\t\tcolor: base.palette.text.primary,\n\t\t},\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\nimport base from '../base';\n\nexport default {\n\tstyleOverrides: {\n\t\troot: {\n\t\t\tbackgroundColor: base.palette.background.paper,\n\t\t\tborderBottom: `1px solid ${base.palette.background.darker2}`,\n\t\t\t'&.Mui-selected': {\n\t\t\t\tbackgroundColor: base.palette.background.box_danger,\n\t\t\t},\n\t\t},\n\t\tbutton: {\n\t\t\t'&:hover': {\n\t\t\t\tbackgroundColor: `${base.palette.background.darker1} !important`,\n\t\t\t},\n\t\t},\n\t\t'&.Mui-selected': {\n\t\t\tbackgroundColor: base.palette.background.box_danger,\n\t\t},\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\nimport base from '../base';\n\nexport default {\n\tstyleOverrides: {\n\t\tlist: {\n\t\t\toutline: '0',\n\t\t\tcolor: base.palette.text.primary,\n\t\t\tbackgroundColor: base.palette.primary.main,\n\t\t\tontSize: '1rem',\n\t\t\tfontWeight: 400,\n\t\t\tlineHeight: '2rem',\n\t\t\t'&option': {\n\t\t\t\tpaddingLeft: '10px!important',\n\t\t\t\tpaddingRight: '10px!important',\n\t\t\t\t'&:hover': {\n\t\t\t\t\tbackgroundColor: base.palette.primary.dark,\n\t\t\t\t},\n\t\t\t\t'&.Mui-focused': {\n\t\t\t\t\tbackgroundColor: base.palette.primary.dark,\n\t\t\t\t},\n\t\t\t\t'&[aria-selected=\"true\"]': {\n\t\t\t\t\tfontWeight: 'bold',\n\t\t\t\t\tbackgroundColor: base.palette.background.dark1,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tpaper: {\n\t\t\tbackgroundColor: base.palette.primary.main,\n\t\t\tpadding: '.3em 0em .3em 0em!important',\n\t\t},\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\nimport base from '../base';\n\nexport default {\n\tstyleOverrides: {\n\t\troot: {\n\t\t\t'&:hover': {\n\t\t\t\tbackgroundColor: base.palette.background.box_default,\n\t\t\t},\n\t\t\t'&.Mui-selected': {\n\t\t\t\tbackgroundColor: base.palette.background.box_default,\n\t\t\t\t'&:hover': {\n\t\t\t\t\tbackgroundColor: base.palette.background.box_default,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\nimport base from '../base';\n\nexport default {\n\tstyleOverrides: {\n\t\troot: {\n\t\t\tcolor: base.palette.text.primary,\n\t\t\tbackgroundColor: base.palette.primary.dark,\n\t\t\t'& .MuiOutlinedInput-notchedOutline': {\n\t\t\t\tborderColor: base.palette.primary.main,\n\t\t\t\tborderWidth: 2,\n\t\t\t},\n\t\t\t'&:hover .MuiOutlinedInput-notchedOutline': {\n\t\t\t\tborderColor: base.palette.primary.light,\n\t\t\t},\n\t\t\t'& .Mui-focused': {\n\t\t\t\tborderColor: base.palette.secondary.main,\n\t\t\t},\n\t\t\t'& .Mui-focused .MuiOutlinedInput-notchedOutline': {\n\t\t\t\tborderColor: base.palette.secondary.main,\n\t\t\t},\n\t\t\t'&.Mui-disabled': {\n\t\t\t\t'& fieldset.MuiOutlinedInput-notchedOutline': {\n\t\t\t\t\tbackgroundColor: base.palette.background.dark2,\n\t\t\t\t\tborderColor: `${base.palette.primary.main}!important`,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tinput: {\n\t\t\t'&:-webkit-autofill': {\n\t\t\t\tWebkitTextFillColor: base.palette.text.primary,\n\t\t\t\tWebkitBoxShadow: `0 0 0 1000px ${base.palette.primary.dark} inset`,\n\t\t\t},\n\t\t},\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\nimport base from '../base';\n\nexport default {\n\tstyleOverrides: {\n\t\troot: {\n\t\t\tcolor: base.palette.text.primary,\n\t\t\tbackgroundColor: base.palette.background.paper,\n\t\t\tpadding: '.85em 1.25em .85em 1.25em',\n\t\t},\n\t},\n\tvariants: [\n\t\t{\n\t\t\tprops: { variant: 'modal' },\n\t\t\tstyle: {\n\t\t\t\tpadding: '1em 1.5em 1.3em 1.5em',\n\t\t\t\tmaxHeight: '95%',\n\t\t\t\toverflow: 'scroll',\n\t\t\t\tbackgroundColor: base.palette.background.modal,\n\t\t\t\tcolor: base.palette.text.primary,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tprops: { variant: 'select' },\n\t\t\tstyle: {\n\t\t\t\tpadding: 0,\n\t\t\t\toverflow: 'scroll',\n\t\t\t\tbackgroundColor: base.palette.background.modal,\n\t\t\t\tcolor: base.palette.text.primary,\n\t\t\t},\n\t\t},\n\t],\n};\n","/* eslint-disable import/no-anonymous-default-export */\nimport base from '../base';\n\nexport default {\n\tstyleOverrides: {\n\t\troot: {\n\t\t\tcolor: base.palette.text.primary,\n\t\t\tborderColor: base.palette.primary.main,\n\t\t\tborderWidth: '2px',\n\t\t\t'&:focus': {\n\t\t\t\tborderColor: base.palette.secondary.main,\n\t\t\t},\n\t\t\t'&.Mui-selected': {\n\t\t\t\tbackgroundColor: '#fff',\n\t\t\t},\n\t\t},\n\t\ticon: {\n\t\t\tcolor: base.palette.text.secondary,\n\t\t\t'&.Mui-disabled': {\n\t\t\t\tcolor: base.palette.text.secondary,\n\t\t\t},\n\t\t},\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\nimport base from '../base';\n\nexport default {\n\tstyleOverrides: {\n\t\troot: {\n\t\t\tminWidth: '30%',\n\t\t\ttextTransform: 'initial',\n\t\t\tmargin: '0em 1.4em .2em 0em',\n\t\t\tcolor: base.palette.text.secondary,\n\t\t\ttextAlign: 'left',\n\t\t\tminHeight: '30px',\n\t\t\tborderRadius: '5px',\n\t\t\talignItems: 'flex-start',\n\t\t\t'&.Mui-selected': {\n\t\t\t\tcolor: base.palette.text.primary,\n\t\t\t\tbackgroundColor: `${base.palette.primary.dark}`,\n\t\t\t},\n\t\t},\n\t\twrapper: {\n\t\t\talignItems: 'flex-start',\n\t\t\tpadding: 0,\n\t\t},\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\nimport base from '../base';\n\nexport default {\n\tstyleOverrides: {\n\t\troot: {\n\t\t\tcolor: base.palette.text.primary,\n\t\t\tborder: `2px solid ${base.palette.text.disabled}`,\n\t\t\tbackgroundColor: base.palette.background.dark1,\n\t\t\t'&:hover': {\n\t\t\t\tbackgroundColor: base.palette.secondary.main,\n\t\t\t\tborder: `2px solid ${base.palette.secondary.main}`,\n\t\t\t},\n\t\t\t'&.Mui-selected': {\n\t\t\t\tcolor: base.palette.text.primary,\n\t\t\t\tbackgroundColor: base.palette.secondary.main,\n\t\t\t\tborder: `2px solid ${base.palette.secondary.main}`,\n\t\t\t\t'&:hover': {\n\t\t\t\t\tbackgroundColor: `${base.palette.secondary.main}!important`,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\nimport base from '../base';\n\nexport default {\n\tstyleOverrides: {\n\t\ttooltip: {\n\t\t\tfontSize: '1rem',\n\t\t\tfontWeight: 'normal',\n\t\t\tboxShadow: base.shadows[2],\n\t\t\tbackgroundColor: base.palette.background.modal,\n\t\t},\n\t\tarrow: {\n\t\t\tcolor: base.palette.background.modal,\n\t\t},\n\t},\n};\n","import { createTheme } from '@mui/material/styles';\n\nimport base from './base';\nimport globals from './global';\n\nimport accordion from './components/accordion';\nimport accordionSummary from './components/accordionSummary';\nimport alert from './components/alert';\nimport appBar from './components/appBar';\nimport backdrop from './components/backdrop';\nimport box from './components/box';\nimport button from './components/button';\nimport checkobox from './components/checkbox';\nimport ctypography from './components/typography';\nimport dialog from './components/dialog';\nimport divider from './components/divider';\nimport fab from './components/fab';\nimport formControlLabel from './components/formControlLabel';\nimport formLabel from './components/formLabel';\nimport iconButton from './components/iconButton';\nimport inputLabel from './components/inputLabel';\nimport link from './components/link';\nimport listItem from './components/listItem';\nimport listSubheader from './components/listSubheader';\nimport menu from './components/menu';\nimport menuItem from './components/menuItem';\nimport modal from './components/modal';\nimport outlinedInput from './components/outlinedInput';\nimport paper from './components/paper';\nimport popover from './components/popover';\nimport select from './components/select';\nimport snackbar from './components/snackbar';\nimport tab from './components/tab';\nimport tabPanel from './components/tabPanel';\nimport tabs from './components/tabs';\nimport tabScrollButton from './components/tabScrollButton';\nimport toggleButton from './components/toggleButton';\nimport toggleButtonGroup from './components/toggleButtonGroup';\nimport tooltip from './components/tooltip';\n\n// https://mui.com/customization/default-theme/\n\nconst theme = createTheme({\n\t...base,\n\n\tcomponents: {\n\t\tMuiCssBaseline: {\n\t\t\tstyleOverrides: {\n\t\t\t\t...globals,\n\t\t\t},\n\t\t},\n\t\tMuiAccordion: { ...accordion },\n\t\tMuiAccordionSummary: { ...accordionSummary },\n\t\tMuiAlert: { ...alert },\n\t\tMuiAppBar: { ...appBar },\n\t\tMuiBackdrop: { ...backdrop },\n\t\tMuiBox: { ...box },\n\t\tMuiButton: { ...button },\n\t\tMuiCheckbox: { ...checkobox },\n\t\tMuiDialog: { ...dialog },\n\t\tMuiDivider: { ...divider },\n\t\tMuiFab: { ...fab },\n\t\tMuiFormControlLabel: { ...formControlLabel },\n\t\tMuiFormLabel: { ...formLabel },\n\t\tMuiIconButton: { ...iconButton },\n\t\tMuiInputLabel: { ...inputLabel },\n\t\tMuiLink: { ...link },\n\t\tMuiListItem: { ...listItem },\n\t\tMuiListSubheader: { ...listSubheader },\n\t\tMuiMenu: { ...menu },\n\t\tMuiMenuItem: { ...menuItem },\n\t\tMuiModal: { ...modal },\n\t\tMuiOutlinedInput: { ...outlinedInput },\n\t\tMuiPaper: { ...paper },\n\t\tMuiPopover: { ...popover },\n\t\tMuiSelect: { ...select },\n\t\tMuiSnackbar: { ...snackbar },\n\t\tMuiTab: { ...tab },\n\t\tMuiTabPanel: { ...tabPanel },\n\t\tMuiTabs: { ...tabs },\n\t\tMuiTabScrollButton: { ...tabScrollButton },\n\t\tMuiToggleButton: { ...toggleButton },\n\t\tMuiToggleButtonGroup: { ...toggleButtonGroup },\n\t\tMuiTooltip: { ...tooltip },\n\t\tMuiTypography: { ...ctypography },\n\t},\n});\n\nexport default theme;\n","/* eslint-disable import/no-anonymous-default-export */\nexport default {\n\tstyleOverrides: {\n\t\troot: {\n\t\t\tpadding: '2px 16px',\n\t\t\t'&.Mui-expanded': {\n\t\t\t\tminHeight: 48,\n\t\t\t},\n\t\t\t'& .MuiAccordionSummary-expandIconWrapper .MuiSvgIcon-root': {\n\t\t\t\tcolor: 'white',\n\t\t\t},\n\t\t},\n\t\tcontent: {\n\t\t\t'&.Mui-expanded': {\n\t\t\t\tmargin: '12px 0',\n\t\t\t},\n\t\t},\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\nexport default {\n\tstyleOverrides: {\n\t\troot: {\n\t\t\tpadding: '1.5em 0em 1em 0em!important',\n\t\t},\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\nexport default {\n\tstyleOverrides: {\n\t\troot: {\n\t\t\tmarginBottom: '-.1em',\n\t\t\tmarginTop: '-.3em',\n\t\t},\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\nexport default {\n\tstyleOverrides: {\n\t\troot: {\n\t\t\ttextDecoration: 'none',\n\t\t\t'&:hover': {\n\t\t\t\ttextDecoration: 'underline',\n\t\t\t},\n\t\t},\n\t\tunderlineHover: {\n\t\t\t'&:hover': {\n\t\t\t\ttextDecoration: 'underline',\n\t\t\t},\n\t\t},\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\nexport default {\n\tstyleOverrides: {\n\t\troot: {\n\t\t\tlineHeight: '2em',\n\t\t},\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\nexport default {\n\tstyleOverrides: {\n\t\troot: {\n\t\t\tdisplay: 'flex',\n\t\t\talignItems: 'center !important',\n\t\t\tjustifyContent: 'center !important',\n\t\t},\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\nexport default {\n\tstyleOverrides: {\n\t\tpaper: {\n\t\t\tpadding: '10px 0px 0px 0px',\n\t\t},\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\n\nexport default {\n\tstyleOverrides: {\n\t\troot: {\n\t\t\ttop: '30px!important',\n\t\t\t'& .MuiPaper-root': {\n\t\t\t\tborderRadius: 4,\n\t\t\t\tmaxWidth: '300px',\n\t\t\t},\n\t\t},\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\nexport default {\n\tstyleOverrides: {\n\t\troot: {\n\t\t\tpadding: 0,\n\t\t\tmaxWidth: '70% !important',\n\t\t},\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\nexport default {\n\tstyleOverrides: {\n\t\troot: {\n\t\t\tminHeight: 30,\n\t\t\tminWidth: '30%',\n\t\t\tmargin: '0em',\n\t\t\tpaddingTop: '2.5em',\n\t\t\ttextAlign: 'left',\n\t\t},\n\t\tindicator: {\n\t\t\tbackgroundColor: 'transparent',\n\t\t},\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\nexport default {\n\tstyleOverrides: {\n\t\troot: {\n\t\t\twidth: '0px',\n\t\t},\n\t},\n};\n","/* eslint-disable import/no-anonymous-default-export */\nexport default {\n\tstyleOverrides: {\n\t\tgroupedHorizontal: {\n\t\t\t'&:not(:last-child)': {\n\t\t\t\tborderRight: 0,\n\t\t\t},\n\t\t},\n\t},\n};\n","import React from 'react';\n\nconst NotifyContext = React.createContext({\n\tDispatch: () => {},\n});\n\nexport const NotifyProvider = NotifyContext.Provider;\nexport const NotifyConsumer = NotifyContext.Consumer;\n\nexport default NotifyContext;\n","const isAvailable = () => {\n\t// https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API\n\tlet storage = null;\n\n\ttry {\n\t\tstorage = window.localStorage;\n\t\tconst x = '__storage_test__';\n\t\tstorage.setItem(x, x);\n\t\tstorage.removeItem(x);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn (\n\t\t\te instanceof DOMException &&\n\t\t\t// everything except Firefox\n\t\t\t(e.code === 22 ||\n\t\t\t\t// Firefox\n\t\t\t\te.code === 1014 ||\n\t\t\t\t// test name field too, because code might not be present\n\t\t\t\t// everything except Firefox\n\t\t\t\te.name === 'QuotaExceededError' ||\n\t\t\t\t// Firefox\n\t\t\t\te.name === 'NS_ERROR_DOM_QUOTA_REACHED') &&\n\t\t\t// acknowledge QuotaExceededError only if there's something already stored\n\t\t\tstorage &&\n\t\t\tstorage.length !== 0\n\t\t);\n\t}\n};\n\nconst Set = (key, value) => {\n\tif (isAvailable() === false) {\n\t\treturn;\n\t}\n\n\twindow.localStorage.setItem('@@restreamer-ui@@' + key, value);\n};\n\nconst Get = (key) => {\n\tif (isAvailable() === false) {\n\t\treturn null;\n\t}\n\n\treturn window.localStorage.getItem('@@restreamer-ui@@' + key);\n};\n\nconst Remove = (key) => {\n\tif (isAvailable() === false) {\n\t\treturn;\n\t}\n\n\twindow.localStorage.removeItem('@@restreamer-ui@@' + key);\n};\n\nexport { Set, Get, Remove };\n","import { Auth0Client } from '@auth0/auth0-spa-js';\nimport * as Storage from './storage';\n\nlet client = null;\n\nlet isAvailable = false;\n\ntry {\n\tnew Auth0Client({\n\t\tdomain: 'example.eu.auth0.com',\n\t\tclient_id: 'some_client_id',\n\t\taudience: 'https://example.com/',\n\t\tcacheLocation: 'memory',\n\t});\n\n\tisAvailable = true;\n} catch (e) {\n\tisAvailable = false;\n}\n\nconst canUseAuth0 = () => {\n\treturn isAvailable;\n};\n\nconst setConfig = (config) => {\n\tStorage.Set(\n\t\t'auth0',\n\t\tJSON.stringify({\n\t\t\tdomain: '',\n\t\t\tclient_id: '',\n\t\t\taudience: '',\n\t\t\tredirect_uri: window.location.origin,\n\t\t\t...config,\n\t\t})\n\t);\n};\n\nconst getConfig = () => {\n\tlet config = {\n\t\tdomain: '',\n\t\tclient_id: '',\n\t\taudience: '',\n\t\tredirect_uri: window.location.origin,\n\t};\n\n\tconst data = Storage.Get('auth0');\n\tif (data === null) {\n\t\treturn config;\n\t}\n\n\ttry {\n\t\tlet parsedConfig = JSON.parse(data);\n\n\t\tconfig = {\n\t\t\t...config,\n\t\t\t...parsedConfig,\n\t\t};\n\t} catch (e) {}\n\n\treturn config;\n};\n\nconst init = () => {\n\tif (canUseAuth0() === false) {\n\t\treturn false;\n\t}\n\n\tconst config = getConfig();\n\n\tif (config.domain.length === 0 || config.client_id.length === 0 || config.audience.length === 0) {\n\t\treturn false;\n\t}\n\n\ttry {\n\t\tclient = new Auth0Client({\n\t\t\tdomain: config.domain,\n\t\t\tclient_id: config.client_id,\n\t\t\taudience: config.audience,\n\t\t\tcacheLocation: 'localstorage',\n\t\t\tadvancedOptions: { defaultScope: 'openid' },\n\t\t});\n\t} catch (e) {\n\t\treturn false;\n\t}\n\n\treturn true;\n};\n\nconst handleRedirectCallback = async () => {\n\tif (client === null) {\n\t\treturn {\n\t\t\tinitialized: false,\n\t\t};\n\t}\n\n\tconst urlParams = new URLSearchParams(window.location.search.substring(1));\n\tif (urlParams.has('error')) {\n\t\treturn {\n\t\t\tinitialized: true,\n\t\t\terror: true,\n\t\t\tdescription: urlParams.has('error_description') ? urlParams.get('error_description') : 'unknown error',\n\t\t};\n\t}\n\n\tif (urlParams.has('code') && urlParams.has('state')) {\n\t\ttry {\n\t\t\tawait client.handleRedirectCallback();\n\t\t} catch (e) {\n\t\t\treturn {\n\t\t\t\tinitialized: true,\n\t\t\t\terror: true,\n\t\t\t\tdescription: e.message,\n\t\t\t};\n\t\t}\n\n\t\turlParams.delete('code');\n\t\turlParams.delete('state');\n\n\t\tlet hash = urlParams.get('hash');\n\t\turlParams.delete('hash');\n\n\t\tlet href = window.location.origin + window.location.pathname + '?' + urlParams.toString();\n\t\tif (hash !== null) {\n\t\t\thref += '#' + hash;\n\t\t}\n\n\t\twindow.location.href = href;\n\t}\n\n\treturn {\n\t\tinitialized: true,\n\t\terror: false,\n\t};\n};\n\nconst login = async (queryParams) => {\n\tif (client === null) {\n\t\treturn false;\n\t}\n\n\tconst config = {\n\t\tredirect_uri: window.location.origin,\n\t\t...getConfig(),\n\t};\n\n\tlet queryString = [];\n\tfor (let n in queryParams) {\n\t\tqueryString.push(n + '=' + encodeURIComponent(queryParams[n]));\n\t}\n\n\tif (queryString.length !== 0) {\n\t\ttry {\n\t\t\tlet url = new URL(config.redirect_uri);\n\t\t\tif (url.search.length > 1) {\n\t\t\t\turl.search = url.search + '&' + queryString.join('&');\n\t\t\t} else {\n\t\t\t\turl.search = '?' + queryString.join('&');\n\t\t\t}\n\n\t\t\tconfig.redirect_uri = url.href;\n\t\t} catch (e) {}\n\t}\n\n\tconst options = {\n\t\tredirect_uri: config.redirect_uri,\n\t};\n\n\ttry {\n\t\tawait client.loginWithRedirect(options);\n\t} catch (e) {\n\t\treturn false;\n\t}\n\n\treturn true;\n};\n\nconst logout = async () => {\n\tif (client === null) {\n\t\treturn;\n\t}\n\n\tawait client.logout({\n\t\treturnTo: window.location.href,\n\t\tlocalOnly: true,\n\t});\n};\n\nconst getToken = async () => {\n\tlet token = '';\n\n\tif (client === null) {\n\t\treturn token;\n\t}\n\n\ttry {\n\t\ttoken = await client.getTokenSilently();\n\t} catch (error) {\n\t\tconsole.error(error);\n\t}\n\n\treturn token;\n};\n\nconst isAuthenticated = async () => {\n\tif (client === null) {\n\t\treturn false;\n\t}\n\n\treturn await client.isAuthenticated();\n};\n\nexport { canUseAuth0, setConfig, getConfig, init, login, logout, isAuthenticated, getToken, handleRedirectCallback };\n","import React from 'react';\n\n// https://overreacted.io/making-setinterval-declarative-with-react-hooks/\n\nexport default function useInterval(callback, delay) {\n\tconst savedCallback = React.useRef();\n\n\t// Remember the latest callback.\n\tReact.useEffect(() => {\n\t\tsavedCallback.current = callback;\n\t}, [callback]);\n\n\t// Set up the interval.\n\tReact.useEffect(() => {\n\t\tfunction tick() {\n\t\t\tsavedCallback.current();\n\t\t}\n\n\t\tif (delay !== null) {\n\t\t\tlet id = setInterval(tick, delay);\n\t\t\treturn () => clearInterval(id);\n\t\t}\n\t}, [delay]);\n}\n","import React from 'react';\n\nimport makeStyles from '@mui/styles/makeStyles';\nimport CloseIcon from '@mui/icons-material/Close';\nimport Grid from '@mui/material/Grid';\nimport HelpIcon from '@mui/icons-material/HelpOutline';\nimport IconButton from '@mui/material/IconButton';\nimport Modal from '@mui/material/Modal';\nimport Paper from '@mui/material/Paper';\nimport Typography from '@mui/material/Typography';\n\nconst useStyles = makeStyles((theme) => ({\n\tmodalHeader: {\n\t\tmarginBottom: '.7em',\n\t\t'& button': {\n\t\t\tfloat: 'right',\n\t\t\tmarginLeft: '.5em',\n\t\t},\n\t},\n\tmodalFooter: {\n\t\tmarginTop: '1.2em',\n\t\tminHeight: '38px',\n\t\t'& button': {\n\t\t\tmarginRight: '.5em',\n\t\t},\n\t\t'& div button': {\n\t\t\tfloat: 'right',\n\t\t\tmarginRight: '0',\n\t\t\tmarginLeft: '.5em',\n\t\t},\n\t},\n\tmodalPaper: {\n\t\tpadding: '1em 1.5em 1.3em 1.5em',\n\t\twidth: '95%',\n\t\tmaxWidth: 540,\n\t\tmaxHeight: '95%',\n\t\toverflow: 'scroll',\n\t\tbackgroundColor: theme.palette.background.modal,\n\t\tcolor: theme.palette.text.primary,\n\t},\n}));\n\n// todo: use MuiDialog\n\nconst Component = React.forwardRef((props, ref) => {\n\tconst classes = useStyles();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{props.title}\n\t\t\t\t\t\t{typeof props.onClose === 'function' && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{typeof props.onHelp === 'function' && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{props.children}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
{props.buttonsRight}
\n\t\t\t\t\t\t{props.buttonsLeft}\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n});\n\nexport default Component;\n\nComponent.defaultProps = {\n\topen: false,\n\ttitle: '',\n\tonClose: null,\n\tonHelp: null,\n\tbuttonsRight: null,\n\tbuttonsLefts: null,\n};\n","import React from 'react';\n\nimport { Trans } from '@lingui/macro';\nimport { styled } from '@mui/material/styles';\nimport { useTheme } from '@mui/styles';\nimport makeStyles from '@mui/styles/makeStyles';\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport AddIcon from '@mui/icons-material/Add';\nimport Button from '@mui/material/Button';\nimport ButtonBase from '@mui/material/ButtonBase';\nimport CloseIcon from '@mui/icons-material/Close';\nimport DoNotDisturbAltIcon from '@mui/icons-material/DoNotDisturbAlt';\nimport Grid from '@mui/material/Grid';\nimport IconButton from '@mui/material/IconButton';\nimport LensIcon from '@mui/icons-material/Lens';\nimport NavigateBeforeIcon from '@mui/icons-material/NavigateBefore';\nimport NavigateNextIcon from '@mui/icons-material/NavigateNext';\nimport Stack from '@mui/material/Stack';\nimport SwipeableDrawer from '@mui/material/SwipeableDrawer';\nimport TextField from '@mui/material/TextField';\nimport Typography from '@mui/material/Typography';\n\nimport Dialog from './modals/Dialog';\n\nconst useStyles = makeStyles((theme) => ({\n\tdrawerPaper: {\n\t\tmarginBottom: '60px',\n\t\tboxShadow: '0px -20px 10px -14px rgb(0 0 0 / 25%), 0px -20px 10px -10px rgb(0 0 0 / 10%)',\n\t\tpaddingLeft: 50,\n\t\tpaddingRight: 50,\n\t},\n\tdrawerButtons: {\n\t\tmarginRight: '-15px!important',\n\t},\n\tchannel: {\n\t\tmarginBottom: '1em',\n\t},\n\tchannelBar: {\n\t\tmaxWidth: '1200px',\n\t},\n\tchannelItems: {\n\t\twidth: '100%',\n\t\tmaxWidth: '980px',\n\t},\n\ticonButton: {\n\t\t'& .MuiSvgIcon-root': {\n\t\t\tfontSize: '2.5em',\n\t\t},\n\t},\n\ticonButtonLeft: {\n\t\tmarginLeft: '-1.5em!important',\n\t\tpaddingBottom: '1em',\n\t},\n\ticonButtonRight: {\n\t\tmarginRight: '-1.5em!important',\n\t\tpaddingBottom: '1em',\n\t},\n\timageTitle: {\n\t\ttextAlign: 'initial',\n\t\tpadding: '.5em 0em 0em .1em',\n\t},\n}));\n\nconst ImageButton = styled(ButtonBase)(({ theme }) => ({\n\t'&:hover, &.Mui-focusVisible': {\n\t\tzIndex: 1,\n\t\t'& .MuiImageBackdrop-root': {\n\t\t\topacity: 0.2,\n\t\t},\n\t},\n\t'&:disabled': {\n\t\t'& .MuiImageBackdrop-root': {\n\t\t\topacity: 0.2,\n\t\t},\n\t\t'& .MuiTypography-root': {\n\t\t\tcolor: 'white',\n\t\t},\n\t},\n}));\n\nconst Image = styled('span')(({ theme }) => ({\n\tposition: 'relative',\n}));\n\nconst ImageSrc = styled('span')(({ theme }) => ({\n\tposition: 'absolute',\n\tleft: 0,\n\tright: 0,\n\ttop: 0,\n\tbottom: 0,\n\tbackgroundSize: 'cover',\n\tbackgroundPosition: 'center 40%',\n\tborderRadius: 4,\n\tborder: `2px solid ${theme.palette.primary.dark}`,\n}));\n\nconst ImageAlt = styled('span')(({ theme }) => ({\n\tposition: 'absolute',\n\tleft: 0,\n\tright: 0,\n\ttop: 0,\n\tbottom: 0,\n\tdisplay: 'flex',\n\talignItems: 'center',\n\tjustifyContent: 'center',\n\tcolor: theme.palette.common.white,\n}));\n\nconst ImageBackdrop = styled('span')(({ theme }) => ({\n\tposition: 'absolute',\n\tleft: 0,\n\tright: 0,\n\ttop: 0,\n\tbottom: 0,\n\tbackgroundColor: theme.palette.common.black,\n\topacity: 0.5,\n\ttransition: theme.transitions.create('opacity'),\n\tborderRadius: 4,\n\tborder: `2px solid ${theme.palette.primary.dark}`,\n}));\n\nfunction ChannelButton(props) {\n\tconst classes = useStyles();\n\tconst theme = useTheme();\n\n\tlet color = theme.palette.primary.main;\n\tswitch (props.state) {\n\t\tcase 'disconnected':\n\t\t\tcolor = theme.palette.primary.main;\n\t\t\tbreak;\n\t\tcase 'connected':\n\t\t\tcolor = theme.palette.secondary.main;\n\t\t\tbreak;\n\t\tcase 'disconnecting':\n\t\tcase 'connecting':\n\t\t\tcolor = theme.palette.warning.main;\n\t\t\tbreak;\n\t\tcase 'error':\n\t\t\tcolor = theme.palette.error.main;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tcolor = theme.palette.primary.main;\n\t\t\tbreak;\n\t}\n\n\tlet color_active = theme.palette.primary.main;\n\tswitch (props.disabled) {\n\t\tcase true:\n\t\t\tcolor_active = theme.palette.primary.light;\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tcolor_active = theme.palette.primary.dark;\n\t\t\tbreak;\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{props.title}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nChannelButton.defaultProps = {\n\turl: '',\n\twidth: 200,\n\ttitle: '',\n\tstate: '',\n\tdisabled: false,\n\tonClick: () => {},\n};\n\nexport default function ChannelList(props) {\n\tconst classes = useStyles();\n\tconst theme = useTheme();\n\tconst breakpointSmall = useMediaQuery(theme.breakpoints.up('sm'));\n\tconst breakpointMedium = useMediaQuery(theme.breakpoints.up('md'));\n\tconst breakpointLarge = useMediaQuery(theme.breakpoints.up('lg'));\n\tconst [$pos, setPos] = React.useState(-1);\n\tconst [$nChannels, setNChannels] = React.useState(breakpointSmall ? (breakpointMedium ? (breakpointLarge ? 4 : 3) : 2) : 1);\n\tconst [$channels, setChannels] = React.useState([]);\n\tconst [$addChannel, setAddChannel] = React.useState({\n\t\topen: false,\n\t\tname: '',\n\t});\n\n\tconst { channels: allChannels, channelid, onClick, onState } = props;\n\n\tReact.useEffect(() => {\n\t\t(async () => {\n\t\t\tawait onMount();\n\t\t})();\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\tReact.useEffect(() => {\n\t\tsetNChannels(breakpointSmall ? (breakpointMedium ? (breakpointLarge ? 4 : 3) : 2) : 1);\n\t}, [breakpointSmall, breakpointMedium, breakpointLarge]);\n\n\tReact.useEffect(() => {\n\t\t(async () => {\n\t\t\tif (allChannels.length === 0) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tlet channels = allChannels\n\t\t\t\t.sort((a, b) => {\n\t\t\t\t\tconst aname = a.name.toUpperCase();\n\t\t\t\t\tconst bname = b.name.toUpperCase();\n\t\t\t\t\treturn aname < bname ? -1 : aname > bname ? 1 : 0;\n\t\t\t\t})\n\t\t\t\t.slice($pos, $pos + $nChannels);\n\n\t\t\tconst states = await onState(channels.map((channel) => channel.id));\n\n\t\t\tchannels = channels.map((channel) => {\n\t\t\t\treturn (\n\t\t\t\t\t {\n\t\t\t\t\t\t\tonClick(channel.channelid);\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t});\n\n\t\t\tsetChannels(channels);\n\t\t})();\n\t}, [$pos, allChannels, $nChannels, channelid, onClick, onState]);\n\n\tconst onMount = async () => {\n\t\tsetPos(0);\n\t};\n\n\tconst handleAddChannelDialog = () => {\n\t\tsetAddChannel({\n\t\t\t...$addChannel,\n\t\t\topen: !$addChannel.open,\n\t\t\tname: '',\n\t\t});\n\t};\n\n\tconst handleAddChannelChange = (event) => {\n\t\tsetAddChannel({\n\t\t\t...$addChannel,\n\t\t\tname: event.target.value,\n\t\t});\n\t};\n\n\tif (props.open === false) {\n\t\treturn null;\n\t}\n\n\tif ($pos < 0) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t\n\t\t\t {}}\n\t\t\t\tonClose={props.onClose}\n\t\t\t\tsx={{ marginButtom: 60 }}\n\t\t\t\tBackdropProps={{ invisible: true }}\n\t\t\t\tclasses={{\n\t\t\t\t\tpaper: classes.drawerPaper,\n\t\t\t\t}}\n\t\t\t\tdisableScrollLock\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tChannels\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\tsetPos($pos - 1);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tdisabled={$pos === 0}\n\t\t\t\t\t\t\t\t\t\tclassName={classes.iconButton}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{$channels}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\tsetPos($pos + 1);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tdisabled={$pos + $nChannels >= allChannels.length}\n\t\t\t\t\t\t\t\t\t\tclassName={classes.iconButton}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\tAdd new channel}\n\t\t\t\tbuttonsLeft={\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\tbuttonsRight={\n\t\t\t\t\t {\n\t\t\t\t\t\t\thandleAddChannelDialog();\n\t\t\t\t\t\t\tprops.onAdd($addChannel.name);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tAdd\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tEnter a name for the new channel.\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tName} value={$addChannel.name} onChange={handleAddChannelChange} />\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nChannelList.defaultProps = {\n\topen: false,\n\tchannelid: '',\n\tchannels: [],\n\tonClose: () => {},\n\tonClick: (channelid) => {},\n\tonAdd: (name) => {},\n\tonState: (channelids) => {\n\t\tconst states = {};\n\t\tfor (let channelid of channelids) {\n\t\t\tstates[channelid] = '';\n\t\t}\n\n\t\treturn states;\n\t},\n};\n","import React from 'react';\n\nexport default function Duration(props) {\n\tconst fullSeconds = parseInt(Math.floor(props.seconds));\n\tconst s = fullSeconds % 60;\n\tconst m = parseInt(fullSeconds / 60) % 60;\n\tconst h = parseInt(fullSeconds / (60 * 60)) % 24;\n\tconst d = parseInt(fullSeconds / (60 * 60 * 24));\n\n\tlet duration = '.' + ((props.seconds - fullSeconds) * 100).toFixed(0);\n\n\tif (s < 10) {\n\t\tduration = ':0' + s + duration;\n\t} else {\n\t\tduration = ':' + s + duration;\n\t}\n\n\tif (m < 10) {\n\t\tduration = ':0' + m + duration;\n\t} else {\n\t\tduration = ':' + m + duration;\n\t}\n\n\tif (h < 10) {\n\t\tduration = '0' + h + duration;\n\t} else {\n\t\tduration = '' + h + duration;\n\t}\n\n\tif (d !== 0) {\n\t\tduration = d + ':' + duration;\n\t}\n\n\treturn {duration};\n}\n\nDuration.defaultProps = {\n\tseconds: 0,\n};\n","export default __webpack_public_path__ + \"static/media/logo.e751b67b.svg\";","import React from 'react';\n\nimport makeStyles from '@mui/styles/makeStyles';\n\nimport company_logo from './images/logo.svg';\n\nconst useStyles = makeStyles((theme) => ({\n\tLogo: {\n\t\theight: 27,\n\t},\n}));\n\nexport default function Logo(props) {\n\tconst classes = useStyles();\n\n\tlet link = 'https://datarhei.com';\n\n\t// eslint-disable-next-line no-useless-escape\n\treturn (\n\t\t\n\t\t\t\"datarhei\n\t\t\n\t);\n}\n","import React from 'react';\n\nimport { i18n } from '@lingui/core';\n\nexport default function Number(props) {\n\tconst options = {\n\t\tminimumFractionDigits: props.minDigits,\n\t\tmaximumFractionDigits: props.digits,\n\t};\n\n\tif (options.minimumFractionDigits > options.maximumFractionDigits) {\n\t\toptions.maximumFractionDigits = options.minimumFractionDigits;\n\t}\n\n\treturn {i18n.number(props.value, options)};\n}\n\nNumber.defaultProps = {\n\tvalue: 0,\n\tdigits: 0,\n\tminDigits: 0,\n};\n","import React from 'react';\n\nimport { isMobile } from 'react-device-detect';\nimport { Trans } from '@lingui/macro';\nimport makeStyles from '@mui/styles/makeStyles';\n//import Button from '@mui/material/Button';\nimport Grid from '@mui/material/Grid';\nimport List from '@mui/material/List';\nimport ListItem from '@mui/material/ListItem';\nimport ListItemText from '@mui/material/ListItemText';\nimport ListSubheader from '@mui/material/ListSubheader';\nimport Popover from '@mui/material/Popover';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\nimport WarningIcon from '@mui/icons-material/Warning';\n\nimport useInterval from './hooks/useInterval';\nimport Duration from './misc/Duration';\nimport Logo from './misc/Logo';\nimport Number from './misc/Number';\n\nconst useStyles = makeStyles((theme) => ({\n\tfooter: {\n\t\tzIndex: '2',\n\t\tposition: 'fixed',\n\t\tbottom: 0,\n\t\twidth: '100%',\n\t\theight: 60,\n\t\tbackground: `-webkit-linear-gradient(left, ${theme.palette.background.footer1} 0, ${theme.palette.background.footer2} 100%)`,\n\t\tcolor: theme.palette.text.secondary,\n\t\t'& .footerLeft': {\n\t\t\ttextOverflow: 'ellipsis',\n\t\t\toverflow: 'hidden !important',\n\t\t\twhiteSpace: 'nowrap',\n\t\t\tmarginLeft: 40,\n\t\t},\n\t\t'& .footerRight': {\n\t\t\tmarginLeft: 20,\n\t\t\tmarginRight: 40,\n\t\t},\n\t\t'& .footerVersion': {\n\t\t\ttextOverflow: 'ellipsis',\n\t\t\toverflow: 'hidden !important',\n\t\t\twhiteSpace: 'nowrap',\n\t\t},\n\t\t'@media (max-width: 599px)': {\n\t\t\t'& .footerLeft': {\n\t\t\t\tmarginRight: 20,\n\t\t\t},\n\t\t\t'& .footerRight': {\n\t\t\t\tmarginLeft: 20,\n\t\t\t},\n\t\t\t'& .footerVersion': {\n\t\t\t\tdisplay: 'none',\n\t\t\t},\n\t\t},\n\t},\n\twarningIcon: {\n\t\tfontSize: '1.1rem',\n\t\tmarginTop: -1,\n\t\tmarginRight: 5,\n\t},\n\tsubheader: {\n\t\tcolor: `${theme.palette.service.main}`,\n\t\ttextTransform: 'uppercase',\n\t\tfontWeight: 'bold',\n\t},\n}));\n\nfunction Resources(props) {\n\tconst classes = useStyles();\n\tconst [$popover, setPopover] = React.useState(null);\n\tconst [$resources, setResources] = React.useState(null);\n\n\tconst handlePopoverOpen = (event) => {\n\t\tsetPopover(event.currentTarget);\n\t};\n\n\tconst handlePopoverClose = () => {\n\t\tsetPopover(null);\n\t};\n\n\tconst open = Boolean($popover);\n\n\tuseInterval(async () => {\n\t\tawait update();\n\t}, 2000);\n\n\tReact.useEffect(() => {\n\t\t(async () => {\n\t\t\tawait update();\n\t\t})();\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\tconst update = async () => {\n\t\tconst resources = await props.resources();\n\t\tif (resources === null) {\n\t\t\treturn;\n\t\t}\n\n\t\tresources.system.mem_used = (resources.system.mem_used_bytes / resources.system.mem_total_bytes) * 100;\n\n\t\tresources.core.disk_used = -1;\n\t\tif (resources.core.disk_limit_bytes > 0) {\n\t\t\tresources.core.disk_used = (resources.core.disk_used_bytes / resources.core.disk_limit_bytes) * 100;\n\t\t}\n\n\t\tresources.core.memfs_used = -1;\n\t\tif (resources.core.memfs_limit_bytes > 0) {\n\t\t\tresources.core.memfs_used = (resources.core.memfs_used_bytes / resources.core.memfs_limit_bytes) * 100;\n\t\t}\n\n\t\tresources.core.net_used = -1;\n\t\tif (resources.core.net_limit_kbit > 0) {\n\t\t\tresources.core.net_used = (resources.core.net_used_kbit / resources.core.net_limit_kbit) * 100;\n\t\t}\n\n\t\tresources.core.sessions = -1;\n\t\tif (resources.core.session_limit > 0) {\n\t\t\tresources.core.sessions = (resources.core.session_used / resources.core.session_limit) * 100;\n\t\t}\n\n\t\tsetResources(resources);\n\t};\n\n\tif ($resources === null) {\n\t\treturn null;\n\t}\n\n\tconst system = $resources.system;\n\tconst core = $resources.core;\n\n\treturn (\n\t\t\n\t\t\t{(system.cpu_used >= 75 || system.mem_used >= 75 || core.memfs_used >= 75 || core.disk_used >= 75 || core.net_used >= 75) && (\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\t{system.cpu_used.toFixed(0)}% CPU / {system.mem_used.toFixed(0)}% Mem\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\tUptime\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsecondary={``}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\tSystem\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t= 75}>\n\t\t\t\t\t\t{system.cpu_used.toFixed(0)}% CPU}\n\t\t\t\t\t\t\tsecondary={\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{system.cpu_ncores} Cores\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\t= 75}>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{system.mem_used.toFixed(0)}% Memory\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsecondary={\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t / {' '}\n\t\t\t\t\t\t\t\t\tMB\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\tApplication\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t\t\t\t{core.sessions >= 0 ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{core.sessions.toFixed(0)}% Viewer\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsecondary={\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t / Viewer\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tSessions\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsecondary={\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t Viewer\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{core.net_used >= 0 ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{core.net_used.toFixed(0)}% Bandwidth\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsecondary={\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t / Mbit/s\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tBandwidth\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsecondary={\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t Mbit/s\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{core.memfs_used >= 0 ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{core.memfs_used.toFixed(0)}% In-memory storage\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsecondary={\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t / MB\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tIn-memory storage\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsecondary={\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t MB\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t{/* */}\n\t\t\t\t\t\n\t\t\t\t\t\t{core.disk_used >= 0 ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{core.disk_used.toFixed(0)}% Disk storage\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsecondary={\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t / MB\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tDisk storage\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsecondary={\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t MB\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t{/* \n\t\t\t\t\t\t\n\t\t\t\t\t */}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nResources.defaultProps = {\n\tresources: () => {\n\t\treturn null;\n\t},\n};\n\nconst initVersion = (initialVersion) => {\n\tif (!initialVersion) {\n\t\tinitialVersion = {};\n\t}\n\n\tconst version = {\n\t\tnumber: 0,\n\t\tarch: 'unknown',\n\t\t...initialVersion,\n\t};\n\n\treturn version;\n};\n\nexport default function Footer(props) {\n\tconst classes = useStyles();\n\tconst version = initVersion(props.version);\n\n\tif (props.expand === true) {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{props.app} v{version.number} ({version.arch}) {props.name ? '- ' + props.name : ''}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nFooter.defaultProps = {\n\texpand: false,\n\tapp: '',\n\tname: '',\n\tversion: initVersion(),\n\tresources: () => {\n\t\treturn null;\n\t},\n};\n","import React from 'react';\n\nimport { I18nProvider } from '@lingui/react';\nimport { i18n } from '@lingui/core';\nimport * as plurals from 'make-plural/plurals';\n\nimport { messages as EN } from './locales/en/messages.js';\nimport { messages as DE } from './locales/de/messages.js';\nimport { messages as FR } from './locales/fr/messages.js';\nimport { messages as IT } from './locales/it/messages.js';\nimport { messages as PT } from './locales/pt/messages.js';\nimport { messages as ES } from './locales/es/messages.js';\nimport { messages as RU } from './locales/ru/messages.js';\nimport * as Storage from './utils/storage';\n\ni18n.loadLocaleData('en', { plurals: plurals.en });\ni18n.loadLocaleData('de', { plurals: plurals.de });\ni18n.loadLocaleData('fr', { plurals: plurals.fr });\ni18n.loadLocaleData('it', { plurals: plurals.it });\ni18n.loadLocaleData('pt', { plurals: plurals.pt });\ni18n.loadLocaleData('es', { plurals: plurals.es });\ni18n.loadLocaleData('ru', { plurals: plurals.ru });\ni18n.load({\n\ten: EN,\n\tde: DE,\n\tfr: FR,\n\tit: IT,\n\tpt: PT,\n\tes: ES,\n\tru: RU,\n});\n\nconst getLanguage = (defaultLanguage, supportedLanguages) => {\n\tlet lang = Storage.Get('language');\n\tif (supportedLanguages.indexOf(lang) === -1) {\n\t\tlang = getBrowserLanguage(defaultLanguage);\n\t}\n\n\tif (supportedLanguages.indexOf(lang) === -1) {\n\t\tlang = defaultLanguage;\n\t}\n\n\tStorage.Set('language', lang);\n\n\treturn lang;\n};\n\nconst getBrowserLanguage = (defaultLanguage) => {\n\tlet lang = window.navigator.language;\n\n\tconst match = lang.match(/^[a-z]+/);\n\tif (!match) {\n\t\treturn defaultLanguage;\n\t}\n\n\treturn match[0].toLowerCase();\n};\n\ni18n.activate(getLanguage('en', ['en', 'de', 'fr', 'it', 'pt', 'es', 'ru']));\n\nexport default function Provider(props) {\n\treturn {props.children};\n}\n","import { name, version, bundle } from '../package.json';\n\nconst Core = '^15.0.0 || ^16.0.0';\nconst FFmpeg = '^4.1.0 || ^5.0.0';\nconst UI = bundle ? bundle : name + ' v' + version;\n\nexport { Core, FFmpeg, UI };\n","export default __webpack_public_path__ + \"static/media/welcome.89d33bb6.png\";","import React from 'react';\n\nimport { useLingui } from '@lingui/react';\nimport makeStyles from '@mui/styles/makeStyles';\nimport MenuItem from '@mui/material/MenuItem';\nimport Select from '@mui/material/Select';\n\nconst useStyles = makeStyles((theme) => ({\n\troot: {\n\t\tfontSize: '1rem',\n\t\tfontWeight: '400',\n\t\tbackgroundColor: 'none',\n\t\tcolor: theme.palette.text.primary,\n\t\tborderButtom: 'none',\n\t\t'&:hover': {\n\t\t\tcolor: theme.palette.text.primary,\n\t\t},\n\t\t'& fieldset': {\n\t\t\tdisplay: 'none',\n\t\t},\n\t\t'& .MuiSelect-select': {\n\t\t\tpadding: '0px 0px',\n\t\t\tmarginRight: '10px',\n\t\t},\n\t\t'&:before': {\n\t\t\tborderBottom: 'none',\n\t\t},\n\t},\n}));\n\nexport default function LanguageSelect(props) {\n\tconst classes = useStyles();\n\tconst { i18n } = useLingui();\n\n\tconst handleChange = (event) => {\n\t\tconst language = event.target.value;\n\n\t\ti18n.activate(language);\n\n\t\tprops.onChange(language);\n\t};\n\n\treturn (\n\t\t\n\t);\n}\n\nLanguageSelect.defaultProps = {\n\tonChange: function (lang) {},\n};\n","export default __webpack_public_path__ + \"static/media/rs-logo.6ea2d54d.svg\";","import React from 'react';\n\nimport makeStyles from '@mui/styles/makeStyles';\n\nimport company_logo from './images/rs-logo.svg';\n\nconst useStyles = makeStyles((theme) => ({\n\tLogo: {\n\t\theight: 95,\n\t},\n}));\n\nexport default function Logo(props) {\n\tconst classes = useStyles();\n\n\tlet link = 'https://github.com/datarhei/restreamer';\n\n\t// eslint-disable-next-line no-useless-escape\n\treturn (\n\t\t\n\t\t\t\"datarhei\n\t\t\n\t);\n}\n","import React from 'react';\n\nimport { Trans } from '@lingui/macro';\nimport makeStyles from '@mui/styles/makeStyles';\nimport Button from '@mui/material/Button';\nimport CloseIcon from '@mui/icons-material/Close';\nimport Grid from '@mui/material/Grid';\nimport HelpIcon from '@mui/icons-material/HelpOutline';\nimport IconButton from '@mui/material/IconButton';\nimport Paper from '@mui/material/Paper';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\n\nconst useStyles = makeStyles((theme) => ({\n\tmodalHeader: {\n\t\tmarginBottom: '.7em',\n\t\t'& button': {\n\t\t\tfloat: 'right',\n\t\t\tmarginLeft: '.5em',\n\t\t\tpaddingTop: '.25em',\n\t\t\tmarginRight: '-.7em',\n\t\t},\n\t},\n\tmodalFooter: {\n\t\tmarginTop: '1.2em',\n\t\tminHeight: '38px',\n\t\t'& button': {\n\t\t\tmarginRight: '.5em',\n\t\t},\n\t\t'& .right': {\n\t\t\tfloat: 'right',\n\t\t\tmarginRight: '0',\n\t\t\tmarginLeft: '.5em',\n\t\t},\n\t},\n\tmodalPaper: {\n\t\tpadding: '1em 1.5em 1.3em 1.5em',\n\t\twidth: '95%',\n\t\tmaxWidth: 980,\n\t\tmaxHeight: '95%',\n\t\toverflow: 'scroll',\n\t\tbackgroundColor: theme.palette.background.modal,\n\t\tcolor: theme.palette.text.primary,\n\t},\n}));\n\nconst Component = React.forwardRef((props, ref) => {\n\tconst classes = useStyles();\n\n\tconst { title, onClose, onHelp, ...other } = props;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{props.title}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{typeof props.onHelp === 'function' && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{typeof props.onClose === 'function' && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t{props.children}\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n});\n\nexport default Component;\n\nComponent.defaultProps = {\n\ttitle: '',\n\tonClose: null,\n\tonHelp: null,\n};\n","import React from 'react';\n\nimport makeStyles from '@mui/styles/makeStyles';\nimport CardMedia from '@mui/material/CardMedia';\n\nconst useStyles = makeStyles((theme) => ({\n\tmedia: {\n\t\tpaddingTop: '39.25%',\n\t\tborderRadius: 4,\n\t},\n}));\n\nexport default function Component(props) {\n\tconst classes = useStyles();\n\n\treturn ;\n}\n\nComponent.defaultProps = {\n\timage: '',\n\ttitle: '',\n\theight: '0px',\n};\n","import React from 'react';\n\nimport { styled } from '@mui/material/styles';\nimport { Trans } from '@lingui/macro';\nimport makeStyles from '@mui/styles/makeStyles';\nimport BugReportIcon from '@mui/icons-material/BugReport';\nimport Divider from '@mui/material/Divider';\nimport Fab from '@mui/material/Fab';\nimport Grid from '@mui/material/Grid';\nimport HelpOutlineIcon from '@mui/icons-material/HelpOutline';\nimport LayersIcon from '@mui/icons-material/Layers';\nimport Link from '@mui/material/Link';\nimport ListItemIcon from '@mui/material/ListItemIcon';\nimport Logout from '@mui/icons-material/Logout';\nimport Menu from '@mui/material/Menu';\nimport MenuItem from '@mui/material/MenuItem';\nimport MenuOpenIcon from '@mui/icons-material/MenuOpen';\nimport Modal from '@mui/material/Modal';\nimport RocketLaunchIcon from '@mui/icons-material/RocketLaunch';\nimport Settings from '@mui/icons-material/Settings';\nimport Stack from '@mui/material/Stack';\nimport TranslateIcon from '@mui/icons-material/Translate';\nimport Typography from '@mui/material/Typography';\nimport VideocamIcon from '@mui/icons-material/Videocam';\nimport WebIcon from '@mui/icons-material/Web';\n\nimport * as Storage from './utils/storage';\nimport * as Version from './version';\nimport welcomeImage from './assets/images/welcome.png';\nimport LanguageSelect from './misc/LanguageSelect';\nimport Logo from './misc/Logo/rsLogo';\nimport ModalContent from './misc/ModalContent';\nimport PaperThumb from './misc/PaperThumb';\n\nconst useStyles = makeStyles((theme) => ({\n\theader: {\n\t\twidth: '100%',\n\t\theight: 132,\n\t\tlineHeight: '132px',\n\t\tbackgroundColor: 'transparent',\n\t\tcolor: theme.palette.text.secondary,\n\t\t'& .headerRight': {\n\t\t\tfloat: 'right',\n\t\t\tmarginRight: 42,\n\t\t},\n\t\t'& .headerFab': {\n\t\t\theight: 60,\n\t\t\twidth: 60,\n\t\t\tmarginLeft: '1em',\n\t\t\tboxShadow: 'unset',\n\t\t\t'& .fabIcon': {\n\t\t\t\tfontSize: 30,\n\t\t\t},\n\t\t\t'&:hover': {\n\t\t\t\tbackgroundColor: theme.palette.background.box_default,\n\t\t\t},\n\t\t},\n\t\t'& .headerFabHighlight': {\n\t\t\theight: 60,\n\t\t\twidth: 60,\n\t\t\tmarginLeft: '1em',\n\t\t\tboxShadow: 'unset',\n\t\t\tborder: `3px solid ${theme.palette.secondary.main}`,\n\t\t\t'& .fabIcon': {\n\t\t\t\tfontSize: 30,\n\t\t\t},\n\t\t\t'&:hover': {\n\t\t\t\tbackgroundColor: theme.palette.background.box_default,\n\t\t\t},\n\t\t},\n\t\t'& .headerLeft': {\n\t\t\tfontSize: '3.5rem',\n\t\t\tfontWeight: 300,\n\t\t\tmarginLeft: 40,\n\t\t},\n\t\t'& .headerTitle': {\n\t\t\tfontFamily: '\"Dosis\", \"Roboto\", \"Helvetica\", \"Arial\", sans-serif',\n\t\t\tfontSize: '3rem',\n\t\t\tfontWeight: 300,\n\t\t\tmarginLeft: 10,\n\t\t\tmarginBottom: '0.2em',\n\t\t},\n\t\t'@media (max-width: 599px)': {\n\t\t\t'& .headerRight': {\n\t\t\t\tmarginRight: 20,\n\t\t\t},\n\t\t\t'& .headerLeft': {\n\t\t\t\tmarginLeft: 20,\n\t\t\t},\n\t\t\t'& .headerTitle': {\n\t\t\t\tfontSize: '2.4rem',\n\t\t\t},\n\t\t},\n\t\t'@media (max-width: 415px)': {\n\t\t\t'& .headerRight': {\n\t\t\t\tmarginRight: 20,\n\t\t\t},\n\t\t\t'& .headerLeft': {\n\t\t\t\tmarginLeft: 20,\n\t\t\t},\n\t\t\t'& .headerTitle': {\n\t\t\t\tdisplay: 'none',\n\t\t\t},\n\t\t},\n\t},\n\tmodalPaper: {\n\t\tpadding: '1em 1.5em 1.3em 1.5em',\n\t\twidth: '95%',\n\t\tmaxWidth: 350,\n\t\tmaxHeight: '95%',\n\t\toverflow: 'scroll',\n\t\tbackgroundColor: theme.palette.background.modal,\n\t\tcolor: theme.palette.text.primary,\n\t},\n\taboutImage: {\n\t\tpaddingLeft: '1em',\n\t},\n\tcolorHighlight: {\n\t\tcolor: `${theme.palette.secondary.main}!important`,\n\t},\n}));\n\nconst StyledMenu = styled((props) => (\n\t\n))(({ theme }) => ({\n\t'& .MuiPaper-root': {\n\t\tborderRadius: 5,\n\t\tmarginTop: theme.spacing(1),\n\t\tminWidth: 180,\n\t\tboxShadow:\n\t\t\t'rgb(255, 255, 255) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px, rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.05) 0px 4px 6px -2px',\n\t\t'& .MuiMenu-list': {\n\t\t\tpadding: '4px 0',\n\t\t\tbackgroundColor: theme.palette.background.paper,\n\t\t},\n\t\t'& .MuiMenuItem-root': {\n\t\t\t'& .MuiSvgIcon-root': {\n\t\t\t\tfontSize: 18,\n\t\t\t\tcolor: theme.palette.common.white,\n\t\t\t\tmarginRight: theme.spacing(1.5),\n\t\t\t},\n\t\t\t'&:active': {\n\t\t\t\tbackgroundColor: theme.palette.background.box_default,\n\t\t\t},\n\t\t\t'&:hover': {\n\t\t\t\tbackgroundColor: theme.palette.background.box_default,\n\t\t\t},\n\t\t},\n\t},\n}));\n\nfunction AboutModal(props) {\n\tconst classes = useStyles();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tThis is the frontend and a part of a free open source livestreaming solution for video data. The second part is the{' '}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tdatarhei Core\n\t\t\t\t\t\t\t{' '}\n\t\t\t\t\t\t\twhich can be operated separately.\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tRelease: {Version.UI}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tRepo:{' '}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tgithub.com/datarhei/restreamer\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tLicence:{' '}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tApache License 2.0\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tDonation:{' '}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tpatreon.com/datarhei\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tWebsite:{' '}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tdatarhei.com\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nAboutModal.defaultProps = {\n\topen: false,\n\tonClose: () => {},\n};\n\nfunction HeaderMenu(props) {\n\tconst classes = useStyles();\n\n\tconst [$anchorEl, setAnchorEl] = React.useState(null);\n\tconst [$about, setAbout] = React.useState(false);\n\n\tconst handleMenuOpen = (event) => {\n\t\tsetAnchorEl(event.currentTarget);\n\t};\n\n\tconst handleMenuClose = () => {\n\t\tsetAnchorEl(null);\n\t};\n\n\tconst handleLanguageChange = (language) => {\n\t\tStorage.Set('language', language);\n\t};\n\n\tif (props.expand === true) {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{props.hasService === true && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tService\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t{props.showPlayersite === true && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tPlayersite\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t{props.showSettings === true && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tSystem\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t setAbout(true)}>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tAbout\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tDocs\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tIssue alert\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tLogout\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t setAbout(false)} />\n\t\t\t\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t setAbout(true)}>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tAbout\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tDocs\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tIssue alert\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t setAbout(false)} />\n\t\t\t\n\t\t);\n\t}\n}\n\nHeaderMenu.defaultProps = {\n\tonChannel: () => {},\n\tonPlayersite: () => {},\n\tonSettings: () => {},\n\tonLogout: () => {},\n\texpand: false,\n\tshowPlayersite: false,\n\tshowSettings: false,\n\thasUpdates: false,\n\thasService: false,\n};\n\nexport default function Header(props) {\n\tconst classes = useStyles();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tRestreamer\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nHeader.defaultProps = {\n\texpand: false,\n};\n","import React from 'react';\n\nfunction createMapping(settings, stream) {\n\tconst mapping = ['-codec:a', 'copy'];\n\t/*\n\tif(stream.codec === 'aac') {\n\t\tmapping.push('-bsf:a', 'aac_adtstoasc');\n\t}\n*/\n\treturn mapping;\n}\n\nfunction Coder(props) {\n\tconst settings = {};\n\tconst stream = props.stream;\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings, stream), automatic);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn null;\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nconst coder = 'copy';\nconst name = 'Passthrough (copy)';\nconst codec = 'copy';\nconst type = 'audio';\nconst hwaccel = false;\n\nfunction summarize(settings) {\n\treturn `${name}`;\n}\n\nfunction defaults(stream) {\n\tconst settings = {};\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings, stream),\n\t};\n}\n\nexport { coder, name, codec, type, hwaccel, summarize, defaults, Coder as component };\n","import React from 'react';\n\nfunction createMapping(settings, stream) {\n\tconst mapping = ['-an'];\n\n\treturn mapping;\n}\n\nfunction Coder(props) {\n\tconst settings = {};\n\tconst stream = props.stream;\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings, stream), automatic);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn null;\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nconst coder = 'none';\nconst name = 'No Audio';\nconst codec = 'none';\nconst type = 'audio';\nconst hwaccel = false;\n\nfunction summarize(settings) {\n\treturn `${name}`;\n}\n\nfunction defaults(stream) {\n\tconst settings = {};\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings, stream),\n\t};\n}\n\nexport { coder, name, codec, type, hwaccel, summarize, defaults, Coder as component };\n","import React from 'react';\n\nimport FormControl from '@mui/material/FormControl';\nimport Grid from '@mui/material/Grid';\nimport InputLabel from '@mui/material/InputLabel';\nimport MenuItem from '@mui/material/MenuItem';\nimport Select from '@mui/material/Select';\nimport TextField from '@mui/material/TextField';\n\nfunction isCustomOption(value, options) {\n\tfor (let o of options) {\n\t\tif (o.value === value) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\nexport default function Component(props) {\n\tconst [$value, setValue] = React.useState({\n\t\tvalue: props.value,\n\t\tisCustom: isCustomOption(props.value, props.options),\n\t\tcustom: isCustomOption(props.value, props.options) === true ? props.value : '',\n\t});\n\n\tconst handleChange = (event) => {\n\t\tconst v = event.target.value;\n\n\t\tconst value = $value;\n\n\t\tvalue.isCustom = v === props.customKey ? true : false;\n\t\tif (value.isCustom === true) {\n\t\t\tvalue.custom = value.value;\n\t\t}\n\t\tvalue.value = v;\n\n\t\tsetValue({\n\t\t\t...$value,\n\t\t\tvalue: v,\n\t\t\tisCustom: v === props.customKey ? true : false,\n\t\t});\n\n\t\tprops.onChange(event);\n\t};\n\n\tconst handleCustomChange = (event) => {\n\t\tsetValue({\n\t\t\t...$value,\n\t\t\tcustom: event.target.value,\n\t\t});\n\n\t\tprops.onChange(event);\n\t};\n\n\tconst options = [];\n\n\tfor (let o of props.options) {\n\t\toptions.push(\n\t\t\t\n\t\t\t\t{o.label}\n\t\t\t\n\t\t);\n\t}\n\n\treturn (\n\t\t\n\t\t\t{props.allowCustom === true ? (\n\t\t\t\t\n\t\t\t\t\t{$value.isCustom === true ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{props.label}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{options}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{props.label}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{options}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{props.label}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n}\n\nComponent.defaultProps = {\n\tvariant: 'outlined',\n\tlabel: '',\n\tvalue: '',\n\tdisabled: false,\n\tcustomKey: 'custom',\n\tallowCustom: false,\n\tonChange: function (event) {},\n};\n","import React from 'react';\n\nimport { useLingui } from '@lingui/react';\nimport { Trans, t } from '@lingui/macro';\nimport Typography from '@mui/material/Typography';\n\nimport SelectCustom from '../../../misc/SelectCustom';\n\nfunction Bitrate(props) {\n\tconst { i18n } = useLingui();\n\tconst bitrates = [\n\t\t{ value: '256', label: '256 kbit/s' },\n\t\t{ value: '128', label: '128 kbit/s' },\n\t\t{ value: '64', label: '64 kbit/s' },\n\t\t{ value: '32', label: '32 kbit/s' },\n\t\t{ value: '16', label: '16 kbit/s' },\n\t\t{ value: '8', label: '8 kbit/s' },\n\t];\n\n\tif (props.allowAuto === true) {\n\t\tbitrates.unshift({ value: 'auto', label: 'auto' });\n\t}\n\n\tif (props.allowCustom === true) {\n\t\tbitrates.push({ value: 'custom', label: i18n._(t`Custom ...`) });\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\tThe bitrate of the audio stream.\n\t\t\t\n\t\t\n\t);\n}\n\nBitrate.defaultProps = {\n\tallowAuto: false,\n\tallowCustom: false,\n\tvariant: 'outlined',\n\tlabel: Bitrate,\n\tcustomLabel: Custom bitrate (kbit/s),\n\tonChange: function (event) {},\n};\n\nfunction Layout(props) {\n\tconst { i18n } = useLingui();\n\tconst options = [\n\t\t{ value: 'mono', label: 'mono' },\n\t\t{ value: 'stereo', label: 'stereo' },\n\t];\n\n\tif (props.allowAuto === true) {\n\t\toptions.unshift({ value: 'auto', label: 'auto' });\n\t}\n\n\tif (props.allowInherit === true) {\n\t\toptions.unshift({ value: 'inherit', label: i18n._(t`Inherit`) });\n\t}\n\n\tif (props.allowCustom === true) {\n\t\toptions.push({ value: 'custom', label: i18n._(t`Custom ...`) });\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\tThe layout of the audio stream.\n\t\t\t\n\t\t\n\t);\n}\n\nLayout.defaultProps = {\n\tvariant: 'outlined',\n\tallowAuto: false,\n\tallowInherit: false,\n\tallowCustom: false,\n\tlabel: Layout,\n\tcustomLabel: Custom layout,\n\tonChange: function () {},\n};\n\nfunction Sampling(props) {\n\tconst { i18n } = useLingui();\n\tconst options = [\n\t\t{ value: '96000', label: '96000 Hz' },\n\t\t{ value: '88200', label: '88200 Hz' },\n\t\t{ value: '48000', label: '48000 Hz' },\n\t\t{ value: '44100', label: '44100 Hz' },\n\t\t{ value: '22050', label: '22050 Hz' },\n\t\t{ value: '8000', label: '8000 Hz' },\n\t];\n\n\tif (props.allowAuto === true) {\n\t\toptions.unshift({ value: 'auto', label: 'auto' });\n\t}\n\n\tif (props.allowInherit === true) {\n\t\toptions.unshift({ value: 'inherit', label: i18n._(t`Inherit`) });\n\t}\n\n\tif (props.allowCustom === true) {\n\t\toptions.push({ value: 'custom', label: i18n._(t`Custom ...`) });\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\tThe sample rate of the audio stream.\n\t\t\t\n\t\t\n\t);\n}\n\nSampling.defaultProps = {\n\tvariant: 'outlined',\n\tallowAuto: false,\n\tallowInherit: false,\n\tallowCustom: false,\n\tlabel: Sampling,\n\tcustomLabel: Custom sampling (Hz),\n\tonChange: function () {},\n};\n\nexport default {\n\tBitrate,\n\tLayout,\n\tSampling,\n};\n","import React from 'react';\n\nimport Grid from '@mui/material/Grid';\n\nimport Audio from '../../settings/Audio';\n\nfunction init(initialState) {\n\tconst state = {\n\t\tbitrate: '64',\n\t\tchannels: '2',\n\t\tlayout: 'stereo',\n\t\tsampling: '44100',\n\t\t...initialState,\n\t};\n\n\treturn state;\n}\n\nfunction createMapping(settings, stream) {\n\tlet sampling = settings.sampling;\n\tlet layout = settings.layout;\n\n\tif (sampling === 'inherit') {\n\t\tsampling = stream.sampling_hz;\n\t}\n\n\tif (layout === 'inherit') {\n\t\tlayout = stream.layout;\n\t}\n\n\tconst mapping = ['-codec:a', 'aac', '-b:a', `${settings.bitrate}k`, '-shortest', '-af', `aresample=osr=${sampling}:ocl=${layout}`];\n\n\tif (stream.codec === 'aac') {\n\t\tmapping.push('-bsf:a', 'aac_adtstoasc');\n\t}\n\n\treturn mapping;\n}\n\nfunction Coder(props) {\n\tconst settings = init(props.settings);\n\tconst stream = props.stream;\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings, stream), automatic);\n\t};\n\n\tconst update = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tconst newSettings = {\n\t\t\t...settings,\n\t\t\t[what]: value,\n\t\t};\n\n\t\tif (what === 'layout') {\n\t\t\tlet channels = stream.channels;\n\n\t\t\tswitch (value) {\n\t\t\t\tcase 'mono':\n\t\t\t\t\tchannels = 1;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'stereo':\n\t\t\t\t\tchannels = 2;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tnewSettings.channels = channels;\n\t\t}\n\n\t\thandleChange(newSettings);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nconst coder = 'aac';\nconst name = 'AAC';\nconst codec = 'aac';\nconst type = 'audio';\nconst hwaccel = false;\n\nfunction summarize(settings) {\n\treturn `${name}, ${settings.bitrate} kbit/s, ${settings.layout}, ${settings.sampling}Hz`;\n}\n\nfunction defaults(stream) {\n\tconst settings = init({});\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings, stream),\n\t};\n}\n\nexport { coder, name, codec, type, hwaccel, summarize, defaults, Coder as component };\n","import React from 'react';\n\nimport Grid from '@mui/material/Grid';\n\nimport Audio from '../../settings/Audio';\n\nfunction init(initialState) {\n\tconst state = {\n\t\tbitrate: '64',\n\t\tchannels: '2',\n\t\tlayout: 'stereo',\n\t\tsampling: '44100',\n\t\t...initialState,\n\t};\n\n\treturn state;\n}\n\nfunction createMapping(settings, stream) {\n\tlet sampling = settings.sampling;\n\tlet layout = settings.layout;\n\n\tif (sampling === 'inherit') {\n\t\tsampling = stream.sampling_hz;\n\t}\n\n\tif (layout === 'inherit') {\n\t\tlayout = stream.layout;\n\t}\n\n\tconst mapping = ['-codec:a', 'aac_at', '-b:a', `${settings.bitrate}k`, '-shortest', '-af', `aresample=osr=${sampling}:ocl=${layout}`];\n\n\tif (stream.codec === 'aac') {\n\t\tmapping.push('-bsf:a', 'aac_adtstoasc');\n\t}\n\n\treturn mapping;\n}\n\nfunction Coder(props) {\n\tconst settings = init(props.settings);\n\tconst stream = props.stream;\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings, stream), automatic);\n\t};\n\n\tconst update = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tconst newSettings = {\n\t\t\t...settings,\n\t\t\t[what]: value,\n\t\t};\n\n\t\tif (what === 'layout') {\n\t\t\tlet channels = stream.channels;\n\n\t\t\tswitch (value) {\n\t\t\t\tcase 'mono':\n\t\t\t\t\tchannels = 1;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'stereo':\n\t\t\t\t\tchannels = 2;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tnewSettings.channels = channels;\n\t\t}\n\n\t\thandleChange(newSettings);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nconst coder = 'aac_at';\nconst name = 'AAC (AudioToolbox)';\nconst codec = 'aac';\nconst type = 'audio';\nconst hwaccel = true;\n\nfunction summarize(settings) {\n\treturn `${name}, ${settings.bitrate} kbit/s, ${settings.layout}, ${settings.sampling}Hz`;\n}\n\nfunction defaults(stream) {\n\tconst settings = init({});\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings, stream),\n\t};\n}\n\nexport { coder, name, codec, type, hwaccel, summarize, defaults, Coder as component };\n","import React from 'react';\n\nimport Grid from '@mui/material/Grid';\n\nimport Audio from '../../settings/Audio';\n\nfunction init(initialState) {\n\tconst state = {\n\t\tbitrate: '64',\n\t\tchannels: '2',\n\t\tlayout: 'stereo',\n\t\tsampling: '44100',\n\t\t...initialState,\n\t};\n\n\treturn state;\n}\n\nfunction createMapping(settings, stream) {\n\tlet sampling = settings.sampling;\n\tlet layout = settings.layout;\n\n\tif (sampling === 'inherit') {\n\t\tsampling = stream.sampling_hz;\n\t}\n\n\tif (layout === 'inherit') {\n\t\tlayout = stream.layout;\n\t}\n\n\tconst mapping = ['-codec:a', 'libopus', '-b:a', `${settings.bitrate}k`, '-shortest', '-af', `aresample=osr=${sampling}:ocl=${layout}`];\n\n\treturn mapping;\n}\n\nfunction Coder(props) {\n\tconst settings = init(props.settings);\n\tconst stream = props.stream;\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings, stream), automatic);\n\t};\n\n\tconst update = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tconst newSettings = {\n\t\t\t...settings,\n\t\t\t[what]: value,\n\t\t};\n\n\t\tif (what === 'layout') {\n\t\t\tlet channels = stream.channels;\n\n\t\t\tswitch (value) {\n\t\t\t\tcase 'mono':\n\t\t\t\t\tchannels = 1;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'stereo':\n\t\t\t\t\tchannels = 2;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tnewSettings.channels = channels;\n\t\t}\n\n\t\thandleChange(newSettings);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nconst coder = 'libopus';\nconst name = 'Opus (libopus)';\nconst codec = 'opus';\nconst type = 'audio';\nconst hwaccel = false;\n\nfunction summarize(settings) {\n\treturn `${name}, ${settings.bitrate} kbit/s, ${settings.layout}, ${settings.sampling}Hz`;\n}\n\nfunction defaults(stream) {\n\tconst settings = init({});\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings, stream),\n\t};\n}\n\nexport { coder, name, codec, type, hwaccel, summarize, defaults, Coder as component };\n","import React from 'react';\n\nimport Grid from '@mui/material/Grid';\n\nimport Audio from '../../settings/Audio';\n\nfunction init(initialState) {\n\tconst state = {\n\t\tbitrate: '64',\n\t\tchannels: '2',\n\t\tlayout: 'stereo',\n\t\tsampling: '44100',\n\t\t...initialState,\n\t};\n\n\treturn state;\n}\n\nfunction createMapping(settings, stream) {\n\tlet sampling = settings.sampling;\n\tlet layout = settings.layout;\n\n\tif (sampling === 'inherit') {\n\t\tsampling = stream.sampling_hz;\n\t}\n\n\tif (layout === 'inherit') {\n\t\tlayout = stream.layout;\n\t}\n\n\tconst mapping = ['-codec:a', 'libvorbis', '-b:a', `${settings.bitrate}k`, '-shortest', '-af', `aresample=osr=${sampling}:ocl=${layout}`];\n\n\treturn mapping;\n}\n\nfunction Coder(props) {\n\tconst settings = init(props.settings);\n\tconst stream = props.stream;\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings, stream), automatic);\n\t};\n\n\tconst update = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tconst newSettings = {\n\t\t\t...settings,\n\t\t\t[what]: value,\n\t\t};\n\n\t\tif (what === 'layout') {\n\t\t\tlet channels = stream.channels;\n\n\t\t\tswitch (value) {\n\t\t\t\tcase 'mono':\n\t\t\t\t\tchannels = 1;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'stereo':\n\t\t\t\t\tchannels = 2;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tnewSettings.channels = channels;\n\t\t}\n\n\t\thandleChange(newSettings);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nconst coder = 'libvorbis';\nconst name = 'Vorbis (libvorbis)';\nconst codec = 'vorbis';\nconst type = 'audio';\nconst hwaccel = false;\n\nfunction summarize(settings) {\n\treturn `${name}, ${settings.bitrate} kbit/s, ${settings.layout}, ${settings.sampling}Hz`;\n}\n\nfunction defaults(stream) {\n\tconst settings = init({});\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings, stream),\n\t};\n}\n\nexport { coder, name, codec, type, hwaccel, summarize, defaults, Coder as component };\n","import React from 'react';\n\nimport Grid from '@mui/material/Grid';\n\nimport Audio from '../../settings/Audio';\n\nfunction init(initialState) {\n\tconst state = {\n\t\tbitrate: '64',\n\t\tchannels: '2',\n\t\tlayout: 'stereo',\n\t\tsampling: '44100',\n\t\t...initialState,\n\t};\n\n\treturn state;\n}\n\nfunction createMapping(settings, stream) {\n\tlet sampling = settings.sampling;\n\tlet layout = settings.layout;\n\n\tif (sampling === 'inherit') {\n\t\tsampling = stream.sampling_hz;\n\t}\n\n\tif (layout === 'inherit') {\n\t\tlayout = stream.layout;\n\t}\n\n\t// '-qscale:a', '6'\n\tconst mapping = ['-codec:a', 'libmp3lame', '-b:a', `${settings.bitrate}k`, '-shortest', '-af', `aresample=osr=${sampling}:ocl=${layout}`];\n\n\treturn mapping;\n}\n\nfunction Coder(props) {\n\tconst settings = init(props.settings);\n\tconst stream = props.stream;\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings, stream), automatic);\n\t};\n\n\tconst update = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tconst newSettings = {\n\t\t\t...settings,\n\t\t\t[what]: value,\n\t\t};\n\n\t\tif (what === 'layout') {\n\t\t\tlet channels = stream.channels;\n\n\t\t\tswitch (value) {\n\t\t\t\tcase 'mono':\n\t\t\t\t\tchannels = 1;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'stereo':\n\t\t\t\t\tchannels = 2;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tnewSettings.channels = channels;\n\t\t}\n\n\t\thandleChange(newSettings);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nconst coder = 'libmp3lame';\nconst name = 'MP3 (libmp3lame)';\nconst codec = 'mp3';\nconst type = 'audio';\nconst hwaccel = false;\n\nfunction summarize(settings) {\n\treturn `${name}, ${settings.bitrate} kbit/s, ${settings.layout}, ${settings.sampling}Hz`;\n}\n\nfunction defaults(stream) {\n\tconst settings = init({});\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings, stream),\n\t};\n}\n\nexport { coder, name, codec, type, hwaccel, summarize, defaults, Coder as component };\n","import React from 'react';\n\nimport Grid from '@mui/material/Grid';\nimport Typography from '@mui/material/Typography';\n\nimport { useLingui } from '@lingui/react';\nimport { Trans, t } from '@lingui/macro';\n\nimport Audio from '../../settings/Audio';\nimport SelectCustom from '../../../../misc/SelectCustom';\n\nfunction init(initialState) {\n\tconst state = {\n\t\tbitrate: '64',\n\t\tdelay: 'auto',\n\t\tchannels: '2',\n\t\tlayout: 'stereo',\n\t\tsampling: '44100',\n\t\t...initialState,\n\t};\n\n\treturn state;\n}\n\nfunction createMapping(settings, stream) {\n\tlet sampling = settings.sampling;\n\tlet layout = settings.layout;\n\n\tif (sampling === 'inherit') {\n\t\tsampling = stream.sampling_hz;\n\t}\n\n\tif (layout === 'inherit') {\n\t\tlayout = stream.layout;\n\t}\n\n\tconst mapping = ['-codec:a', 'opus', '-b:a', `${settings.bitrate}k`, '-vbr', 'on', '-shortest', '-af', `aresample=osr=${sampling}:ocl=${layout}`];\n\n\tif (settings.delay !== 'auto') {\n\t\tmapping.push('opus_delay', settings.delay);\n\t}\n\n\treturn mapping;\n}\n\nfunction Delay(props) {\n\tconst { i18n } = useLingui();\n\tconst options = [\n\t\t{ value: '20', label: '20ms' },\n\t\t{ value: '30', label: '30ms' },\n\t\t{ value: '50', label: '50ms' },\n\t];\n\n\tif (props.allowAuto === true) {\n\t\toptions.unshift({ value: 'auto', label: 'auto' });\n\t}\n\n\tif (props.allowCustom === true) {\n\t\toptions.push({ value: 'custom', label: i18n._(t`Custom ...`) });\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\n\t\t\t\tMaximum delay in milliseconds.\n\t\t\t\n\t\t\n\t);\n}\n\nDelay.defaultProps = {\n\tvariant: 'outlined',\n\tallowAuto: false,\n\tallowCustom: false,\n\tlabel: Delay,\n\tcustomLabel: Custom delay,\n\tonChange: function () {},\n};\n\nfunction Coder(props) {\n\tconst settings = init(props.settings);\n\tconst stream = props.stream;\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings, stream), automatic);\n\t};\n\n\tconst update = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tconst newSettings = {\n\t\t\t...settings,\n\t\t\t[what]: value,\n\t\t};\n\n\t\tif (what === 'layout') {\n\t\t\tlet channels = stream.channels;\n\n\t\t\tswitch (value) {\n\t\t\t\tcase 'mono':\n\t\t\t\t\tchannels = 1;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'stereo':\n\t\t\t\t\tchannels = 2;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tnewSettings.channels = channels;\n\t\t}\n\n\t\thandleChange(newSettings);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nconst coder = 'opus';\nconst name = 'Opus';\nconst codec = 'opus';\nconst type = 'audio';\nconst hwaccel = false;\n\nfunction summarize(settings) {\n\treturn `${name}, ${settings.bitrate} kbit/s, ${settings.layout}, ${settings.sampling}Hz`;\n}\n\nfunction defaults(stream) {\n\tconst settings = init({});\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings, stream),\n\t};\n}\n\nexport { coder, name, codec, type, hwaccel, summarize, defaults, Coder as component };\n","import React from 'react';\n\nimport Grid from '@mui/material/Grid';\n\nimport Audio from '../../settings/Audio';\n\nfunction init(initialState) {\n\tconst state = {\n\t\tbitrate: '64',\n\t\tchannels: '2',\n\t\tlayout: 'stereo',\n\t\tsampling: '44100',\n\t\t...initialState,\n\t};\n\n\treturn state;\n}\n\nfunction createMapping(settings, stream) {\n\tlet sampling = settings.sampling;\n\tlet layout = settings.layout;\n\n\tif (sampling === 'inherit') {\n\t\tsampling = stream.sampling_hz;\n\t}\n\n\tif (layout === 'inherit') {\n\t\tlayout = stream.layout;\n\t}\n\n\tconst mapping = ['-codec:a', 'vorbis', '-b:a', `${settings.bitrate}k`, '-qscale:a', '3', '-shortest', '-af', `aresample=osr=${sampling}:ocl=${layout}`];\n\n\treturn mapping;\n}\n\nfunction Coder(props) {\n\tconst settings = init(props.settings);\n\tconst stream = props.stream;\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings, stream), automatic);\n\t};\n\n\tconst update = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tconst newSettings = {\n\t\t\t...settings,\n\t\t\t[what]: value,\n\t\t};\n\n\t\tif (what === 'layout') {\n\t\t\tlet channels = stream.channels;\n\n\t\t\tswitch (value) {\n\t\t\t\tcase 'mono':\n\t\t\t\t\tchannels = 1;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'stereo':\n\t\t\t\t\tchannels = 2;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tnewSettings.channels = channels;\n\t\t}\n\n\t\thandleChange(newSettings);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nconst coder = 'vorbis';\nconst name = 'Vorbis';\nconst codec = 'vorbis';\nconst type = 'audio';\nconst hwaccel = false;\n\nfunction summarize(settings) {\n\treturn `${name}, ${settings.bitrate} kbit/s, ${settings.layout}, ${settings.sampling}Hz`;\n}\n\nfunction defaults(stream) {\n\tconst settings = init({});\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings, stream),\n\t};\n}\n\nexport { coder, name, codec, type, hwaccel, summarize, defaults, Coder as component };\n","import React from 'react';\n\nimport InputLabel from '@mui/material/InputLabel';\nimport FormControl from '@mui/material/FormControl';\nimport Select from '@mui/material/Select';\n\nexport default function Component(props) {\n\treturn (\n\t\t\n\t\t\t{props.label}\n\t\t\t\n\t\t\n\t);\n}\n\nComponent.defaultProps = {\n\tvariant: 'outlined',\n\tlabel: '',\n\tvalue: '',\n\tdisabled: false,\n\tonChange: function (event) {},\n};\n","import React from 'react';\n\nimport { useLingui } from '@lingui/react';\nimport { Trans, t } from '@lingui/macro';\nimport MenuItem from '@mui/material/MenuItem';\n\nimport Select from '../../../misc/Select';\nimport SelectCustom from '../../../misc/SelectCustom';\n\nfunction Bitrate(props) {\n\tconst { i18n } = useLingui();\n\tconst bitrates = [\n\t\t{ value: '32768', label: '32768 kbit/s' },\n\t\t{ value: '24576', label: '24576 kbit/s' },\n\t\t{ value: '20480', label: '20480 kbit/s' },\n\t\t{ value: '16384', label: '16384 kbit/s' },\n\t\t{ value: '12288', label: '12288 kbit/s' },\n\t\t{ value: '8192', label: '8192 kbit/s' },\n\t\t{ value: '4096', label: '4096 kbit/s' },\n\t\t{ value: '2048', label: '2048 kbit/s' },\n\t\t{ value: '1024', label: '1024 kbit/s' },\n\t\t{ value: '512', label: '512 kbit/s' },\n\t\t{ value: '256', label: '256 kbit/s' },\n\t];\n\n\tif (props.allowAuto === true) {\n\t\tbitrates.unshift({ value: 'auto', label: 'auto' });\n\t}\n\n\tif (props.allowCustom === true) {\n\t\tbitrates.push({ value: 'custom', label: i18n._(t`Custom ...`) });\n\t}\n\n\treturn (\n\t\t\n\t);\n}\n\nBitrate.defaultProps = {\n\tallowAuto: false,\n\tallowCustom: false,\n\tvariant: 'outlined',\n\tlabel: Bitrate,\n\tcustomLabel: Custom bitrate (kbit/s),\n\tonChange: function (event) {},\n};\n\nfunction GOP(props) {\n\tconst { i18n } = useLingui();\n\tconst bitrates = [\n\t\t{ value: '1', label: '1' },\n\t\t{ value: '2', label: '2' },\n\t\t{ value: '4', label: '4' },\n\t\t{ value: '10', label: '10' },\n\t];\n\n\tif (props.allowAuto === true) {\n\t\tbitrates.unshift({ value: 'auto', label: 'auto' });\n\t}\n\n\tif (props.allowCustom === true) {\n\t\tbitrates.push({ value: 'custom', label: i18n._(t`Custom ...`) });\n\t}\n\n\treturn (\n\t\t\n\t);\n}\n\nGOP.defaultProps = {\n\tallowAuto: false,\n\tallowCustom: false,\n\tvariant: 'outlined',\n\tlabel: Keyframe interval (seconds),\n\tcustomLabel: Custom keyframe interval,\n\tonChange: function (event) {},\n};\n\nfunction Framerate(props) {\n\tconst { i18n } = useLingui();\n\tconst sizes = [\n\t\t{ value: '60', label: '60' },\n\t\t{ value: '59.94', label: '59.94' },\n\t\t{ value: '50', label: '50' },\n\t\t{ value: '30', label: '30' },\n\t\t{ value: '29.97', label: '29.97 (NTSC)' },\n\t\t{ value: '25', label: '25 (PAL)' },\n\t\t{ value: '24', label: '24 (Film)' },\n\t\t{ value: '23.97', label: '23.97 (NTSC Film)' },\n\t\t{ value: '15', label: '15' },\n\t\t{ value: '10', label: '10' },\n\t];\n\n\tif (props.allowAuto === true) {\n\t\tsizes.unshift({ value: 'auto', label: 'auto' });\n\t}\n\n\tif (props.allowCustom === true) {\n\t\tsizes.push({ value: 'custom', label: i18n._(t`Custom ...`) });\n\t}\n\n\treturn (\n\t\t\n\t);\n}\n\nFramerate.defaultProps = {\n\tallowAuto: false,\n\tallowCustom: false,\n\tvariant: 'outlined',\n\tlabel: Framerate,\n\tcustomLabel: Custom framerate,\n\tonChange: function (event) {},\n};\n\nfunction Profile(props) {\n\treturn (\n\t\t\n\t);\n}\n\nProfile.defaultProps = {\n\tvalue: '',\n\tonChange: function (event) {},\n};\n\n// https://en.wikipedia.org/wiki/Graphics_display_resolution\nfunction Size(props) {\n\tconst { i18n } = useLingui();\n\tconst sizes = [\n\t\t{ value: '7680x4320', label: '7680x4320 (8K UHD)' },\n\t\t{ value: '5120x2880', label: '5120x2880 (5K)' },\n\t\t{ value: '4096x2160', label: '4096x2160 (DCI 4K)' },\n\t\t{ value: '3840x2160', label: '3840x2160 (4K UHD)' },\n\t\t{ value: '3200x1800', label: '3200x1800 (QHD+)' },\n\t\t{ value: '2560x1600', label: '2560x1600 (WQXGA)' },\n\t\t{ value: '2560x1440', label: '2560x1440 (QHD, WQHD)' },\n\t\t{ value: '2048x1080', label: '2048x1080 (DCI 2K)' },\n\t\t{ value: '1920x1080', label: '1920x1080 (Full HD)' },\n\t\t{ value: '1600x900', label: '1600x900 (HD+)' },\n\t\t{ value: '1280x1080', label: '1280x1080' },\n\t\t{ value: '1280x720', label: '1280x720 (HD)' },\n\t\t{ value: '960x540', label: '960x540 (qHD)' },\n\t\t{ value: '640x360', label: '640x360 (nHD)' },\n\t];\n\n\tif (props.allowAuto === true) {\n\t\tsizes.unshift({ value: 'auto', label: 'auto' });\n\t}\n\n\tif (props.allowCustom === true) {\n\t\tsizes.push({ value: 'custom', label: i18n._(t`Custom ...`) });\n\t}\n\n\treturn (\n\t\t\n\t);\n}\n\nSize.defaultProps = {\n\tallowAuto: false,\n\tallowCustom: false,\n\tvariant: 'outlined',\n\tlabel: Size,\n\tcustomLabel: Custom size,\n\tonChange: function (event) {},\n};\n\nfunction Format(props) {\n\tconst { i18n } = useLingui();\n\tconst sizes = [\n\t\t{ value: 'yuv420p', label: 'yuv420p' },\n\t\t{ value: 'nv12', label: 'nv12' },\n\t\t{ value: 'h264', label: 'H.264' },\n\t\t{ value: 'mjpeg', label: 'MJPEG' },\n\t];\n\n\tif (props.allowAuto === true) {\n\t\tsizes.unshift({ value: 'auto', label: 'auto' });\n\t}\n\n\tif (props.allowCustom === true) {\n\t\tsizes.push({ value: 'custom', label: i18n._(t`Custom ...`) });\n\t}\n\n\treturn (\n\t\t\n\t);\n}\n\nFormat.defaultProps = {\n\tallowAuto: false,\n\tallowCustom: false,\n\tvariant: 'outlined',\n\tlabel: Format,\n\tcustomLabel: Custom format,\n\tonChange: function (event) {},\n};\n\nexport default {\n\tBitrate,\n\tGOP,\n\tFramerate,\n\tProfile,\n\tSize,\n\tFormat,\n};\n","import React from 'react';\n\nimport Grid from '@mui/material/Grid';\nimport MenuItem from '@mui/material/MenuItem';\n\nimport { Trans } from '@lingui/macro';\n\nimport Select from '../../../Select';\nimport Video from '../../settings/Video';\n\nfunction init(initialState) {\n\tconst state = {\n\t\tpreset: 'ultrafast',\n\t\tbitrate: '4096',\n\t\tfps: '25',\n\t\tgop: '2',\n\t\tprofile: 'auto',\n\t\ttune: 'zerolatency',\n\t\t...initialState,\n\t};\n\n\treturn state;\n}\n\nfunction createMapping(settings) {\n\tconst mapping = [\n\t\t'-codec:v',\n\t\t'libx264',\n\t\t'-preset:v',\n\t\t`${settings.preset}`,\n\t\t'-b:v',\n\t\t`${settings.bitrate}k`,\n\t\t'-maxrate:v',\n\t\t`${settings.bitrate}k`,\n\t\t'-bufsize:v',\n\t\t`${settings.bitrate}k`,\n\t\t'-r',\n\t\t`${settings.fps}`,\n\t\t'-pix_fmt',\n\t\t'yuv420p',\n\t\t'-vsync',\n\t\t'1',\n\t];\n\n\tif (settings.gop !== 'auto') {\n\t\tmapping.push('-g', `${Math.round(parseInt(settings.fps) * parseInt(settings.gop)).toFixed(0)}`);\n\t}\n\n\tif (settings.profile !== 'auto') {\n\t\tmapping.push('-profile:v', `${settings.profile}`);\n\t}\n\n\tif (settings.tune !== 'none') {\n\t\tmapping.push('-tune:v', `${settings.tune}`);\n\t}\n\n\treturn mapping;\n}\n\nfunction Preset(props) {\n\treturn (\n\t\t\n\t);\n}\n\nPreset.defaultProps = {\n\tvalue: '',\n\tonChange: function (event) {},\n};\n\nfunction Tune(props) {\n\treturn (\n\t\t\n\t);\n}\n\nTune.defaultProps = {\n\tvalue: '',\n\tonChange: function (event) {},\n};\n\nfunction Coder(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings), automatic);\n\t};\n\n\tconst update = (what) => (event) => {\n\t\tconst newSettings = {\n\t\t\t...settings,\n\t\t\t[what]: event.target.value,\n\t\t};\n\n\t\thandleChange(newSettings);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nconst coder = 'libx264';\nconst name = 'H.264 (libx264)';\nconst codec = 'h264';\nconst type = 'video';\nconst hwaccel = false;\n\nfunction summarize(settings) {\n\treturn `${name}, ${settings.bitrate} kbit/s, ${settings.fps} FPS, Preset: ${settings.preset}, Profile: ${settings.profile}`;\n}\n\nfunction defaults() {\n\tconst settings = init({});\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings),\n\t};\n}\n\nexport { coder, name, codec, type, hwaccel, summarize, defaults, Coder as component };\n","import React from 'react';\n\nimport Grid from '@mui/material/Grid';\nimport MenuItem from '@mui/material/MenuItem';\n\nimport { Trans } from '@lingui/macro';\n\nimport Select from '../../../Select';\nimport Video from '../../settings/Video';\n\nfunction init(initialState) {\n\tconst state = {\n\t\tpreset: 'ultrafast',\n\t\tbitrate: '4096',\n\t\tfps: '25',\n\t\tgop: '2',\n\t\tprofile: 'auto',\n\t\ttune: 'zerolatency',\n\t\t...initialState,\n\t};\n\n\treturn state;\n}\n\nfunction createMapping(settings) {\n\tconst mapping = [\n\t\t'-codec:v',\n\t\t'libx265',\n\t\t'-preset:v',\n\t\t`${settings.preset}`,\n\t\t'-b:v',\n\t\t`${settings.bitrate}k`,\n\t\t'-maxrate:v',\n\t\t`${settings.bitrate}k`,\n\t\t'-bufsize:v',\n\t\t`${settings.bitrate}k`,\n\t\t'-r',\n\t\t`${settings.fps}`,\n\t\t'-pix_fmt',\n\t\t'yuv420p',\n\t\t'-vsync',\n\t\t'1',\n\t];\n\n\tif (settings.gop !== 'auto') {\n\t\tmapping.push('-g', `${Math.round(parseInt(settings.fps) * parseInt(settings.gop)).toFixed(0)}`);\n\t}\n\n\tif (settings.profile !== 'auto') {\n\t\tmapping.push('-profile:v', `${settings.profile}`);\n\t}\n\n\tif (settings.tune !== 'none') {\n\t\tmapping.push('-tune:v', `${settings.tune}`);\n\t}\n\n\treturn mapping;\n}\n\nfunction Preset(props) {\n\treturn (\n\t\t\n\t);\n}\n\nPreset.defaultProps = {\n\tvalue: '',\n\tonChange: function (event) {},\n};\n\nfunction Tune(props) {\n\treturn (\n\t\t\n\t);\n}\n\nTune.defaultProps = {\n\tvalue: '',\n\tonChange: function (event) {},\n};\n\nfunction Coder(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings), automatic);\n\t};\n\n\tconst update = (what) => (event) => {\n\t\tconst newSettings = {\n\t\t\t...settings,\n\t\t\t[what]: event.target.value,\n\t\t};\n\n\t\thandleChange(newSettings);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nconst coder = 'libx265';\nconst name = 'H.265 (libx265)';\nconst codec = 'h265';\nconst type = 'video';\nconst hwaccel = false;\n\nfunction summarize(settings) {\n\treturn `${name}, ${settings.bitrate} kbit/s, ${settings.fps} FPS, Preset: ${settings.preset}, Profile: ${settings.profile}`;\n}\n\nfunction defaults() {\n\tconst settings = init({});\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings),\n\t};\n}\n\nexport { coder, name, codec, type, hwaccel, summarize, defaults, Coder as component };\n","import React from 'react';\n\nimport Grid from '@mui/material/Grid';\nimport MenuItem from '@mui/material/MenuItem';\n\nimport { Trans } from '@lingui/macro';\n\nimport Select from '../../../Select';\nimport Video from '../../settings/Video';\n\nfunction init(initialState) {\n\tconst state = {\n\t\tbitrate: '4096',\n\t\tfps: '25',\n\t\tgop: '2',\n\t\tprofile: 'auto',\n\t\tentropy: 'default',\n\t\t...initialState,\n\t};\n\n\treturn state;\n}\n\nfunction createMapping(settings) {\n\tconst mapping = [\n\t\t'-codec:v',\n\t\t'h264_videotoolbox',\n\t\t'-b:v',\n\t\t`${settings.bitrate}k`,\n\t\t'-maxrate:v',\n\t\t`${settings.bitrate}k`,\n\t\t'-bufsize:v',\n\t\t`${settings.bitrate}k`,\n\t\t'-r',\n\t\t`${settings.fps}`,\n\t\t'-pix_fmt',\n\t\t'yuv420p',\n\t\t'-realtime',\n\t\t'true',\n\t\t'-vsync',\n\t\t'1',\n\t];\n\n\tif (settings.gop !== 'auto') {\n\t\tmapping.push('-g', `${Math.round(parseInt(settings.fps) * parseInt(settings.gop)).toFixed(0)}`);\n\t}\n\n\tif (settings.profile !== 'auto') {\n\t\tmapping.push('-profile:v', `${settings.profile}`);\n\t}\n\n\tif (settings.entropy !== 'default') {\n\t\tmapping.push('-coder:v', `${settings.entropy}`);\n\t}\n\n\treturn mapping;\n}\n\nfunction Entropy(props) {\n\treturn (\n\t\t\n\t);\n}\n\nEntropy.defaultProps = {\n\tvalue: '',\n\tonChange: function (event) {},\n};\n\nfunction Coder(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings), automatic);\n\t};\n\n\tconst update = (what) => (event) => {\n\t\tconst newSettings = {\n\t\t\t...settings,\n\t\t\t[what]: event.target.value,\n\t\t};\n\n\t\thandleChange(newSettings);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nconst coder = 'h264_videotoolbox';\nconst name = 'H.264 (VideoToolbox)';\nconst codec = 'h264';\nconst type = 'video';\nconst hwaccel = true;\n\nfunction summarize(settings) {\n\treturn `${name}, ${settings.bitrate} kbit/s, ${settings.fps} FPS, Profile: ${settings.profile}`;\n}\n\nfunction defaults() {\n\tconst settings = init({});\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings),\n\t};\n}\n\nexport { coder, name, codec, type, hwaccel, summarize, defaults, Coder as component };\n","import React from 'react';\n\nimport Grid from '@mui/material/Grid';\nimport MenuItem from '@mui/material/MenuItem';\n\nimport { Trans } from '@lingui/macro';\n\nimport Select from '../../../Select';\nimport Video from '../../settings/Video';\n\nfunction init(initialState) {\n\tconst state = {\n\t\tbitrate: '4096',\n\t\tfps: '25',\n\t\tgop: '2',\n\t\tpreset: 'medium',\n\t\tprofile: 'auto',\n\t\tlevel: 'auto',\n\t\trc: 'auto',\n\t\t...initialState,\n\t};\n\n\treturn state;\n}\n\nfunction createMapping(settings) {\n\tconst mapping = [\n\t\t'-codec:v',\n\t\t'h264_nvenc',\n\t\t'-preset:v',\n\t\t`${settings.preset}`,\n\t\t'-b:v',\n\t\t`${settings.bitrate}k`,\n\t\t'-maxrate',\n\t\t`${settings.bitrate}k`,\n\t\t'-bufsize',\n\t\t`${settings.bitrate}k`,\n\t\t'-r',\n\t\t`${settings.fps}`,\n\t\t'-pix_fmt',\n\t\t'yuv420p',\n\t\t'-vsync',\n\t\t'1',\n\t];\n\n\tif (settings.gop !== 'auto') {\n\t\tmapping.push('-g', `${Math.round(parseInt(settings.fps) * parseInt(settings.gop)).toFixed(0)}`);\n\t}\n\n\tif (settings.profile !== 'auto') {\n\t\tmapping.push('-profile:v', `${settings.profile}`);\n\t}\n\n\tif (settings.level !== 'auto') {\n\t\tmapping.push('-level:v', `${settings.level}`);\n\t}\n\n\tif (settings.rc !== 'auto') {\n\t\tmapping.push('-rc:v', `${settings.rc}`);\n\t}\n\n\treturn mapping;\n}\n\nfunction Preset(props) {\n\treturn (\n\t\t\n\t);\n}\n\nPreset.defaultProps = {\n\tvalue: '',\n\tonChange: function (event) {},\n};\n\nfunction Profile(props) {\n\treturn (\n\t\t\n\t);\n}\n\nProfile.defaultProps = {\n\tvalue: '',\n\tonChange: function (event) {},\n};\n\nfunction Level(props) {\n\treturn (\n\t\t\n\t);\n}\n\nLevel.defaultProps = {\n\tvalue: '',\n\tonChange: function (event) {},\n};\n\nfunction RateControl(props) {\n\treturn (\n\t\t\n\t);\n}\n\nRateControl.defaultProps = {\n\tvalue: '',\n\tonChange: function (event) {},\n};\n\nfunction Coder(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings), automatic);\n\t};\n\n\tconst update = (what) => (event) => {\n\t\tconst newSettings = {\n\t\t\t...settings,\n\t\t\t[what]: event.target.value,\n\t\t};\n\n\t\thandleChange(newSettings);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nconst coder = 'h264_nvenc';\nconst name = 'H.264 (NVENC)';\nconst codec = 'h264';\nconst type = 'video';\nconst hwaccel = true;\n\nfunction summarize(settings) {\n\treturn `${name}, ${settings.bitrate} kbit/s, ${settings.fps} FPS, Profile: ${settings.profile}`;\n}\n\nfunction defaults() {\n\tconst settings = init({});\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings),\n\t};\n}\n\nexport { coder, name, codec, type, hwaccel, summarize, defaults, Coder as component };\n","import React from 'react';\n\nimport Grid from '@mui/material/Grid';\n\nimport Video from '../../settings/Video';\n\nfunction init(initialState) {\n\tconst state = {\n\t\tbitrate: '4096',\n\t\tfps: '25',\n\t\tgop: '2',\n\t\tprofile: 'auto',\n\t\t...initialState,\n\t};\n\n\treturn state;\n}\n\nfunction createMapping(settings) {\n\tconst mapping = [\n\t\t'-codec:v',\n\t\t'h264_omx',\n\t\t'-b:v',\n\t\t`${settings.bitrate}k`,\n\t\t'-maxrate',\n\t\t`${settings.bitrate}k`,\n\t\t'-bufsize',\n\t\t`${settings.bitrate}k`,\n\t\t'-r',\n\t\t`${settings.fps}`,\n\t\t'-pix_fmt',\n\t\t'yuv420p',\n\t\t'-vsync',\n\t\t'1',\n\t\t'-zerocopy',\n\t\t'1',\n\t];\n\n\tif (settings.gop !== 'auto') {\n\t\tmapping.push('-g', `${Math.round(parseInt(settings.fps) * parseInt(settings.gop)).toFixed(0)}`);\n\t}\n\n\tif (settings.profile !== 'auto') {\n\t\tmapping.push('-profile:v', `${settings.profile}`);\n\t}\n\n\treturn mapping;\n}\n\nfunction Coder(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings), automatic);\n\t};\n\n\tconst update = (what) => (event) => {\n\t\tconst newSettings = {\n\t\t\t...settings,\n\t\t\t[what]: event.target.value,\n\t\t};\n\n\t\thandleChange(newSettings);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nconst coder = 'h264_omx';\nconst name = 'H.264 (OpenMAX IL)';\nconst codec = 'h264';\nconst type = 'video';\nconst hwaccel = true;\n\nfunction summarize(settings) {\n\treturn `${name}, ${settings.bitrate} kbit/s, ${settings.fps} FPS, Profile: ${settings.profile}`;\n}\n\nfunction defaults() {\n\tconst settings = init({});\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings),\n\t};\n}\n\nexport { coder, name, codec, type, hwaccel, summarize, defaults, Coder as component };\n","import React from 'react';\n\nimport Grid from '@mui/material/Grid';\n\nimport Video from '../../settings/Video';\n\nfunction init(initialState) {\n\tconst state = {\n\t\tbitrate: '4096',\n\t\tfps: '25',\n\t\tgop: '2',\n\t\tprofile: 'auto',\n\t\t...initialState,\n\t};\n\n\treturn state;\n}\n\n// https://forums.raspberrypi.com/viewtopic.php?t=294161\n// ffmpeg -y -nostdin -f v4l2 -threads auto -input_format yuyv422 -fflags +genpts -flags +global_header \\\n// -i /dev/video0 -s 1280x720 -r 25 \\\n// -vcodec h264_v4l2m2m \\\n// -num_output_buffers 32 -num_capture_buffers 16 \\\n// -keyint_min 25 -force_key_frames \"expr:gte(t,n_forced*1)\" \\\n// -g 50 -b:v 6M -pix_fmt nv12 \\\n// -f mp4 -f segment -segment_format_options movflags=+faststart -segment_time 1 -reset_timestamps 1 -segment_time 1 -segment_time_delta 1 -segment_format mp4 -muxdelay 0 -muxpreload 0 /home/pi/Videos/%d-output.mp4\n\n/**\nv4l2-ctl --list-ctrls-menu -d 11\n\nCodec Controls\n\n video_bitrate_mode 0x009909ce (menu) : min=0 max=1 default=0 value=0 (Variable Bitrate) flags=update\n\t\t\t\t0: Variable Bitrate\n\t\t\t\t1: Constant Bitrate\n video_bitrate 0x009909cf (int) : min=25000 max=25000000 step=25000 default=10000000 value=10000000\n sequence_header_mode 0x009909d8 (menu) : min=0 max=1 default=1 value=1 (Joined With 1st Frame)\n\t\t\t\t0: Separate Buffer\n\t\t\t\t1: Joined With 1st Frame\n repeat_sequence_header 0x009909e2 (bool) : default=0 value=0\n force_key_frame 0x009909e5 (button) : value=0 flags=write-only, execute-on-write\n h264_minimum_qp_value 0x00990a61 (int) : min=0 max=51 step=1 default=20 value=20\n h264_maximum_qp_value 0x00990a62 (int) : min=0 max=51 step=1 default=51 value=51\n h264_i_frame_period 0x00990a66 (int) : min=0 max=2147483647 step=1 default=60 value=60\n h264_level 0x00990a67 (menu) : min=0 max=13 default=11 value=11 (4)\n\t\t\t\t0: 1\n\t\t\t\t1: 1b\n\t\t\t\t2: 1.1\n\t\t\t\t3: 1.2\n\t\t\t\t4: 1.3\n\t\t\t\t5: 2\n\t\t\t\t6: 2.1\n\t\t\t\t7: 2.2\n\t\t\t\t8: 3\n\t\t\t\t9: 3.1\n\t\t\t\t10: 3.2\n\t\t\t\t11: 4\n\t\t\t\t12: 4.1\n\t\t\t\t13: 4.2\n h264_profile 0x00990a6b (menu) : min=0 max=4 default=4 value=4 (High)\n\t\t\t\t0: Baseline\n\t\t\t\t1: Constrained Baseline\n\t\t\t\t2: Main\n\t\t\t\t4: High\n */\n\nfunction createMapping(settings) {\n\tconst mapping = [\n\t\t'-codec:v',\n\t\t'h264_v4l2m2m',\n\t\t'-b:v',\n\t\t`${settings.bitrate}k`,\n\t\t'-maxrate',\n\t\t`${settings.bitrate}k`,\n\t\t'-bufsize',\n\t\t`${settings.bitrate}k`,\n\t\t'-r',\n\t\t`${settings.fps}`,\n\t\t'-pix_fmt',\n\t\t'yuv420p',\n\t\t'-vsync',\n\t\t'1',\n\t];\n\n\tif (settings.gop !== 'auto') {\n\t\tmapping.push('-g', `${Math.round(parseInt(settings.fps) * parseInt(settings.gop)).toFixed(0)}`);\n\t}\n\n\tif (settings.profile !== 'auto') {\n\t\tmapping.push('-profile:v', `${settings.profile}`);\n\t}\n\n\treturn mapping;\n}\n\nfunction Coder(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings), automatic);\n\t};\n\n\tconst update = (what) => (event) => {\n\t\tconst newSettings = {\n\t\t\t...settings,\n\t\t\t[what]: event.target.value,\n\t\t};\n\n\t\thandleChange(newSettings);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nconst coder = 'h264_v4l2m2m';\nconst name = 'H.264 (V4L2 Memory to Memory)';\nconst codec = 'h264';\nconst type = 'video';\nconst hwaccel = true;\n\nfunction summarize(settings) {\n\treturn `${name}, ${settings.bitrate} kbit/s, ${settings.fps} FPS, Profile: ${settings.profile}`;\n}\n\nfunction defaults() {\n\tconst settings = init({});\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings),\n\t};\n}\n\nexport { coder, name, codec, type, hwaccel, summarize, defaults, Coder as component };\n","import React from 'react';\n\nimport Grid from '@mui/material/Grid';\nimport MenuItem from '@mui/material/MenuItem';\nimport TextField from '@mui/material/TextField';\n\nimport { Trans } from '@lingui/macro';\n\nimport Select from '../../../Select';\nimport Video from '../../settings/Video';\n\nfunction init(initialState) {\n\tconst state = {\n\t\tbitrate: '4096',\n\t\tfps: '25',\n\t\tgop: '2',\n\t\tprofile: '77',\n\t\trc_mode: '1',\n\t\tquality: '-1',\n\t\t...initialState,\n\t};\n\n\treturn state;\n}\n\nfunction createMapping(settings) {\n\tconst mapping = [\n\t\t'-vaapi_device',\n\t\t'/dev/dri/renderD128',\n\t\t'-vf',\n\t\t'format=nv12,hwupload',\n\t\t'-codec:v',\n\t\t'h264_vaapi',\n\t\t'-profile:v',\n\t\t`${settings.profile}`,\n\t\t'-quality',\n\t\t`${settings.quality}`,\n\t\t'-level',\n\t\t`${settings.level}`,\n\t\t'-b:v',\n\t\t`${settings.bitrate}k`,\n\t\t'-maxrate',\n\t\t`${settings.bitrate}k`,\n\t\t'-bufsize',\n\t\t`${settings.bitrate}k`,\n\t\t'-r',\n\t\t`${settings.fps}`,\n\t\t'-g',\n\t\t`${settings.gop}`,\n\t\t'-vsync',\n\t\t'1',\n\t];\n\n\tif (settings.gop !== 'auto') {\n\t\tmapping.push('-g', `${Math.round(parseInt(settings.fps) * parseInt(settings.gop)).toFixed(0)}`);\n\t}\n\n\treturn mapping;\n}\n\nfunction RateControl(props) {\n\treturn (\n\t\t\n\t);\n}\n\nRateControl.defaultProps = {\n\tvalue: '',\n\tonChange: function (event) {},\n};\n\nfunction Profile(props) {\n\treturn (\n\t\t\n\t);\n}\n\nProfile.defaultProps = {\n\tvalue: '',\n\tonChange: function (event) {},\n};\n\nfunction Coder(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings), automatic);\n\t};\n\n\tconst update = (what) => (event) => {\n\t\tconst newSettings = {\n\t\t\t...settings,\n\t\t\t[what]: event.target.value,\n\t\t};\n\n\t\thandleChange(newSettings);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\tQuality} type=\"number\" value={settings.quality} onChange={update('quality')} />\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nconst coder = 'h264_vaapi';\nconst name = 'H.264 (Intel VAAPI)';\nconst codec = 'h264';\nconst type = 'video';\nconst hwaccel = true;\n\nfunction summarize(settings) {\n\treturn `${name}, ${settings.bitrate} kbit/s, ${settings.fps} FPS, Profile: ${settings.profile}`;\n}\n\nfunction defaults() {\n\tconst settings = init({});\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings),\n\t};\n}\n\nexport { coder, name, codec, type, hwaccel, summarize, defaults, Coder as component };\n","import React from 'react';\n\nfunction createMapping(settings) {\n\tconst mapping = ['-codec:v', 'copy', '-vsync', '0', '-copyts', '-start_at_zero'];\n\n\treturn mapping;\n}\n\nfunction Coder(props) {\n\tconst settings = {};\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings), automatic);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn null;\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nfunction summarize(settings) {\n\treturn `${name}`;\n}\n\nfunction defaults() {\n\treturn {\n\t\tsettings: {},\n\t\tmapping: createMapping({}),\n\t};\n}\n\nconst coder = 'copy';\nconst name = 'Passthrough (copy)';\nconst codec = 'copy';\nconst type = 'video';\nconst hwaccel = false;\n\nexport { coder, name, codec, type, hwaccel, summarize, defaults, Coder as component };\n","import React from 'react';\n\nfunction createMapping(settings, stream) {\n\tconst mapping = ['-vn'];\n\n\treturn mapping;\n}\n\nfunction Coder(props) {\n\tconst settings = {};\n\tconst stream = props.stream;\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings, stream), automatic);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn null;\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nconst coder = 'none';\nconst name = 'No Video';\nconst codec = 'none';\nconst type = 'video';\nconst hwaccel = false;\n\nfunction summarize(settings) {\n\treturn `${name}`;\n}\n\nfunction defaults(stream) {\n\tconst settings = {};\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings, stream),\n\t};\n}\n\nexport { coder, name, codec, type, hwaccel, summarize, defaults, Coder as component };\n","import React from 'react';\n\nfunction createMapping(settings) {\n\tconst mapping = ['-codec:v', 'rawvideo'];\n\n\treturn mapping;\n}\n\nfunction Coder(props) {\n\tconst settings = {};\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings), automatic);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn null;\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nfunction summarize(settings) {\n\treturn `${name}`;\n}\n\nfunction defaults() {\n\treturn {\n\t\tsettings: {},\n\t\tmapping: createMapping({}),\n\t};\n}\n\nconst coder = 'rawvideo';\nconst name = 'RAWVIDEO';\nconst codec = 'rawvideo';\nconst type = 'video';\nconst hwaccel = false;\n\nexport { coder, name, codec, type, hwaccel, summarize, defaults, Coder as component };\n","import React from 'react';\n\nimport Grid from '@mui/material/Grid';\n\nimport Video from '../../settings/Video';\n\nfunction init(initialState) {\n\tconst state = {\n\t\tbitrate: '4096',\n\t\tfps: '25',\n\t\tgop: '2',\n\t\t...initialState,\n\t};\n\n\treturn state;\n}\n\nfunction createMapping(settings) {\n\tconst mapping = [\n\t\t'-codec:v',\n\t\t'libvpx-vp9',\n\t\t'-b:v',\n\t\t`${settings.bitrate}k`,\n\t\t'-maxrate:v',\n\t\t`${settings.bitrate}k`,\n\t\t'-bufsize:v',\n\t\t`${settings.bitrate}k`,\n\t\t'-r',\n\t\t`${settings.fps}`,\n\t\t'-pix_fmt',\n\t\t'yuv420p',\n\t\t'-vsync',\n\t\t'1',\n\t];\n\n\tif (settings.gop !== 'auto') {\n\t\tmapping.push('-g', `${Math.round(parseInt(settings.fps) * parseInt(settings.gop)).toFixed(0)}`);\n\t}\n\n\treturn mapping;\n}\n\nfunction Coder(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings), automatic);\n\t};\n\n\tconst update = (what) => (event) => {\n\t\tconst newSettings = {\n\t\t\t...settings,\n\t\t\t[what]: event.target.value,\n\t\t};\n\n\t\thandleChange(newSettings);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nconst coder = 'libvpx-vp9';\nconst name = 'VP9 (libvpx-vp9)';\nconst codec = 'vp9';\nconst type = 'video';\nconst hwaccel = false;\n\nfunction summarize(settings) {\n\treturn `${name}, ${settings.bitrate} kbit/s, ${settings.fps} FPS, Preset: ${settings.preset}, Profile: ${settings.profile}`;\n}\n\nfunction defaults() {\n\tconst settings = init({});\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings),\n\t};\n}\n\nexport { coder, name, codec, type, hwaccel, summarize, defaults, Coder as component };\n","import * as AudioCopy from './audio/Copy';\nimport * as AudioNone from './audio/None';\nimport * as AAC from './audio/AAC';\nimport * as AACAudioToolbox from './audio/AACAudioToolbox';\nimport * as Libopus from './audio/Libopus';\nimport * as Libvorbis from './audio/Libvorbis';\nimport * as MP3 from './audio/MP3';\nimport * as Opus from './audio/Opus';\nimport * as Vorbis from './audio/Vorbis';\n\nimport * as X264 from './video/X264';\nimport * as X265 from './video/X265';\nimport * as H264VideoToolbox from './video/H264VideoToolbox';\nimport * as H264NVENC from './video/H264NVENC';\nimport * as H264OMX from './video/H264OMX';\nimport * as H264V4L2M2M from './video/H264V4L2M2M';\nimport * as H264VAAPI from './video/H264VAAPI';\nimport * as VideoCopy from './video/Copy';\nimport * as VideoNone from './video/None';\nimport * as VideoRaw from './video/Raw';\nimport * as VP9 from './video/VP9';\n\nclass Registry {\n\tconstructor(type) {\n\t\tthis.type = type;\n\t\tthis.services = new Map();\n\t}\n\n\tRegister(service) {\n\t\tif (service.type !== this.type) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.services.set(service.coder, service);\n\t}\n\n\tGet(coder) {\n\t\tconst service = this.services.get(coder);\n\t\tif (service) {\n\t\t\treturn service;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\t// Get the first coder for a codec that is in a\n\t// list of available coders.\n\tGetCoderForCodec(codec, availableCoders) {\n\t\tfor (let coder of this.services.values()) {\n\t\t\tif (coder.codec !== codec) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (!availableCoders.includes(coder.coder)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\treturn coder;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\t// Get a list of coders for a codec that is in a list of\n\t// availabled coders. The option for hwAcceleration can be\n\t// 'any', 'no', or 'yes'.\n\tGetCodersForCodec(codec, availableCoders, hwAcceleration) {\n\t\tconst coders = [];\n\n\t\tfor (let coder of this.services.values()) {\n\t\t\tif (coder.codec !== codec) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (!availableCoders.includes(coder.coder)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (hwAcceleration === 'any') {\n\t\t\t\tcoders.push(coder);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (hwAcceleration === 'no' && coder.hwaccel === false) {\n\t\t\t\tcoders.push(coder);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (hwAcceleration === 'yes' && coder.hwaccel === true) {\n\t\t\t\tcoders.push(coder);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\treturn coders;\n\t}\n\n\tCoders() {\n\t\treturn Array.from(this.services.keys());\n\t}\n\n\tList() {\n\t\treturn Array.from(this.services.values());\n\t}\n}\n\nconst audioRegistry = new Registry('audio');\n\naudioRegistry.Register(AudioCopy);\naudioRegistry.Register(AudioNone);\naudioRegistry.Register(AAC);\naudioRegistry.Register(AACAudioToolbox);\naudioRegistry.Register(MP3);\naudioRegistry.Register(Opus);\naudioRegistry.Register(Libopus);\naudioRegistry.Register(Vorbis);\naudioRegistry.Register(Libvorbis);\n\nconst videoRegistry = new Registry('video');\n\nvideoRegistry.Register(VideoCopy);\nvideoRegistry.Register(VideoNone);\nvideoRegistry.Register(X264);\nvideoRegistry.Register(X265);\nvideoRegistry.Register(H264VideoToolbox);\nvideoRegistry.Register(H264NVENC);\nvideoRegistry.Register(H264OMX);\nvideoRegistry.Register(H264V4L2M2M);\nvideoRegistry.Register(H264VAAPI);\nvideoRegistry.Register(VP9);\nvideoRegistry.Register(VideoRaw);\n\nexport { audioRegistry as Audio, videoRegistry as Video };\n","/*\n\nIngest Metadata Layout:\n\ndata = {\n\tversion: 1,\n\tmeta: {\n\t\tname: 'Livestream 1',\n\t\tdescription: 'Live from earth. Powered by datarhei/restreamer.',\n\t\tauthor: {\n\t\t\tname: '',\n\t\t\tdescription: '',\n\t\t},\n\t},\n\tlicense: '',\n\tplayer: {},\n\tsources: [{\n\t\ttype: \"network\",\n\t\tsettings: {\n\t\t\tmode: 'pull',\n\t\t\taddress: 'https://ch-fra-n4.livespotting.com:443/vpu/rm1naghi/85pwd6iv.m3u8',\n\t\t\tudp: false,\n\t\t},\n\t\tinputs: [{\n\t\t\taddress: 'https://ch-fra-n4.livespotting.com:443/vpu/rm1naghi/85pwd6iv.m3u8',\n\t\t\toptions: ['-re'],\n\t\t}],\n\t\tstreams: [{\n\t\t\t\"url\": \"https://ch-fra-n4.livespotting.com:443/vpu/rm1naghi/85pwd6iv.m3u8\",\n\t\t\t\"format\": \"hls\",\n\t\t\t\"index\": 0,\n\t\t\t\"stream\": 0,\n\t\t\t\"type\": \"video\",\n\t\t\t\"codec\": \"h264\",\n\t\t\t\"coder\": \"h264\",\n\t\t\t\"bitrate_kbps\": 0,\n\t\t\t\"fps\": 0,\n\t\t\t\"pix_fmt\": \"yuvj420p\",\n\t\t\t\"width\": 320,\n\t\t\t\"height\": 180,\n\t\t\t\"sampling_hz\": 0,\n\t\t\t\"layout\": \"\",\n\t\t\t\"channels\": 0\n\t\t},{\n\t\t\t\"url\": \"https://ch-fra-n4.livespotting.com:443/vpu/rm1naghi/85pwd6iv.m3u8\",\n\t\t\t\"format\": \"hls\",\n\t\t\t\"index\": 0,\n\t\t\t\"stream\": 1,\n\t\t\t\"type\": \"video\",\n\t\t\t\"codec\": \"h264\",\n\t\t\t\"coder\": \"h264\",\n\t\t\t\"bitrate_kbps\": 0,\n\t\t\t\"fps\": 0,\n\t\t\t\"pix_fmt\": \"yuvj420p\",\n\t\t\t\"width\": 1280,\n\t\t\t\"height\": 720,\n\t\t\t\"sampling_hz\": 0,\n\t\t\t\"layout\": \"\",\n\t\t\t\"channels\": 0\n\t\t}],\n\t},{\n\t\ttype: \"virtualaudio\",\n\t\tsettings: {...},\n\t\tinputs: [{\n\t\t\taddress: 'anullsrc=r=44100:cl=stereo',\n\t\t\toptions: [\n\t\t\t\t'-f', 'lavfi',\n\t\t\t],\n\t\t}],\n\t\tstreams: [{\n\t\t\t\"url\": \"anullsrc=r=44100:cl=stereo\",\n\t\t\t\"format\": \"lavfi\",\n\t\t\t\"index\": 0, <-- this is the index of the \"inputs\" array\n\t\t\t\"stream\": 0, <-- this will be used for the -map parameter\n\t\t\t\"type\": \"audio\",\n\t\t\t\"codec\": \"pcm_u8\",\n\t\t\t\"coder\": \"pcm_u8\",\n\t\t\t\"bitrate_kbps\": 705,\n\t\t\t\"sampling_hz\": 44100,\n\t\t\t\"layout\": \"stereo\",\n\t\t\t\"channels\": 2\n\t\t}]\n\t}],\n\tprofiles: [{\n\t\taudio: {\n\t\t\tsource: 1, <-- this is the index of the \"sources\" array\n\t\t\tstream: 0, <-- this is the index of the \"streams\" array in the referenced source\n\t\t\tencoder: {\n\t\t\t\tcoder: 'aac',\n\t\t\t\tcodec: 'aac',\n\t\t\t\tsettings: {\n\t\t\t\t\tbitrate: '64',\n\t\t\t\t\tchannels: '2',\n\t\t\t\t\tsampling: '44100'\n\t\t\t\t},\n\t\t\t\tmapping: [\n\t\t\t\t\t'-codec:a', 'aac',\n\t\t\t\t\t'-b:a', '64k',\n\t\t\t\t\t'-bsf:a', 'aac_adtstoasc',\n\t\t\t\t\t'-shortest',\n\t\t\t\t\t'-af', 'aresample=osr=44100:ocl=2'\n\t\t\t\t]\n\t\t\t},\n\t\t\tdecoder: null,\n\t\t},\n\t\tvideo: {\n\t\t\tsource: 0,\n\t\t\tstream: 1,\n\t\t\tencoder: {\n\t\t\t\tcoder: 'copy',\n\t\t\t\tcodec: 'h264',\n\t\t\t\tsettings: {},\n\t\t\t\tmapping: [\n\t\t\t\t\t'-codec:v', 'copy',\n\t\t\t\t\t'-vsync 0',\n\t\t\t\t\t'-copyts',\n\t\t\t\t\t'-start_at_zero',\n\t\t\t\t]\n\t\t\t},\n\t\t\tdecoder: null,\n\t\t},\n\t\t\"or\": {},\n\t\t\"video\": {\n\t\t\tsource: 0,\n\t\t\tstream: 1,\n\t\t\tencoder: {\n\t\t\t\tcoder: 'libx264',\n\t\t\t\tcodec: 'h264',\n\t\t\t\tsettings: {\n\t\t\t\t\tpreset: 'ultrafast',\n\t\t\t\t\tbitrate: '4096',\n\t\t\t\t\tfps: '25',\n\t\t\t\t\tprofile: 'auto',\n\t\t\t\t\ttune: 'zerolatency',\n\t\t\t\t},\n\t\t\t\tmapping: [\n\t\t\t\t\t'-codec:v', 'libx264',\n\t\t\t\t\t'-preset:v', 'ultrafast',\n\t\t\t\t\t'-b:v', '4096k',\n\t\t\t\t\t'-maxrate', '4096k',\n\t\t\t\t\t'-bufsize', '4096k',\n\t\t\t\t\t'-r', '25',\n\t\t\t\t\t'-g', '50',\n\t\t\t\t\t'-pix_fmt', 'yuv420p',\n\t\t\t\t\t'-vsync', '1',\n\t\t\t\t\t'-profile:v', 'high',\n\t\t\t\t\t'-tune:v', 'zerolatency',\n\t\t\t\t]\n\t\t\t},\n\t\t\tdecoder: {\n\t\t\t\tcoder: 'h264_cuvid',\n\t\t\t\tsettings: {},\n\t\t\t\tmapping: [\n\t\t\t\t\t'-c:v h264_cuvid'\n\t\t\t\t]\n\t\t\t}\n\t\t}\n\t}],\n\tstreams: [\n\t\t{\n\t\t\tindex: 0,\n\t\t\tstream: 0,\n\t\t\ttype: 'video',\n\t\t\tcodec: 'h264',\n\t\t\twidth: 1920,\n\t\t\theight: 1080,\n\t\t\tsampling_hz: 0,\n\t\t\tlayout: '',\n\t\t\tchannels: 0,\n\t\t},\n\t\t{\n\t\t\tindex: 0,\n\t\t\tstream: 1,\n\t\t\ttype: 'audio',\n\t\t\tcodec: 'aac',\n\t\t\twidth: 0,\n\t\t\theight: 0,\n\t\t\tsampling_hz: 44100,\n\t\t\tlayout: 'stereo',\n\t\t\tchannels: 2,\n\t\t}\n\t],\n\tcontrol: {\n\t\thls: {\n\t\t\tsegmentDuration: 2,\n\t\t\tlistSize: 6,\n\t\t},\n\t\tprocess: {\n\t\t\tautostart: true,\n\t\t\treconnect: true,\n\t\t\tdelay: 15,\n\t\t\tstaleTimeout: 30\n\t\t},\n\t\tsnapshot: {\n\t\t\tenable: true,\n\t\t\tinterval: 60,\n\t\t},\n\t},\n};\n\nEgress Metadata Layout:\n\ndata = {\n\tversion: 1,\n\tname: \"foobar\",\n\tcontrol: {\n\t\tprocess: {\n\t\t\tautostart: true,\n\t\t\treconnect: true,\n\t\t\tdelay: 15,\n\t\t\tstaleTimeout: 30\n\t\t},\n\t},\n\toutput: {\n\t\taddress: \"rtmp://...\",\n\t\toptions: [],\n\t},\n\tsettings: {\n\t\t...\n\t},\n};\n\n*/\n\nimport * as Coders from '../misc/coders/Encoders';\n\nconst defaultMetadata = {\n\tversion: 1,\n\tplayersite: {},\n};\n\nconst defaultIngestMetadata = {\n\tversion: 1,\n\tsources: [],\n\tprofiles: [{}],\n\tstreams: [],\n\tcontrol: {\n\t\thls: {\n\t\t\tlhls: false,\n\t\t\tsegmentDuration: 2,\n\t\t\tlistSize: 6,\n\t\t},\n\t\tprocess: {\n\t\t\tautostart: true,\n\t\t\treconnect: true,\n\t\t\tdelay: 15,\n\t\t\tstaleTimeout: 30,\n\t\t},\n\t\tsnapshot: {\n\t\t\tenable: true,\n\t\t\tinterval: 60,\n\t\t},\n\t},\n\tplayer: {},\n\tmeta: {\n\t\tname: '',\n\t\tdescription: '',\n\t\tauthor: {\n\t\t\tname: '',\n\t\t\tdescription: '',\n\t\t},\n\t},\n\tlicense: 'CC BY 4.0',\n};\n\nconst defaultEgressMetadata = {\n\tversion: 1,\n\tname: '',\n\tcontrol: {\n\t\tprocess: {\n\t\t\tautostart: false,\n\t\t\treconnect: true,\n\t\t\tdelay: 15,\n\t\t\tstaleTimeout: 30,\n\t\t},\n\t},\n\toutputs: [],\n\tsettings: {},\n\tprofiles: [{}],\n\tstreams: [],\n};\n\nconst getDefaultMetadata = () => {\n\t// poor mans deep copy\n\treturn JSON.parse(JSON.stringify(defaultMetadata));\n};\n\nconst getDefaultIngestMetadata = () => {\n\t// poor mans deep copy\n\treturn JSON.parse(JSON.stringify(defaultIngestMetadata));\n};\n\nconst getDefaultEgressMetadata = () => {\n\t// poor mans deep copy\n\treturn JSON.parse(JSON.stringify(defaultEgressMetadata));\n};\n\nconst mergeMetadata = (metadata, base) => {\n\tif (!metadata) {\n\t\tmetadata = {};\n\t}\n\n\tconst defaultMetadata = getDefaultMetadata();\n\n\tif (!base) {\n\t\tbase = getDefaultMetadata();\n\t}\n\n\tmetadata = {\n\t\t...base,\n\t\t...metadata,\n\t};\n\n\tif (metadata.version !== defaultMetadata.version) {\n\t\tmetadata = {\n\t\t\t...defaultMetadata,\n\t\t};\n\t}\n\n\tmetadata.playersite = {\n\t\t...base.playersite,\n\t\t...metadata.playersite,\n\t};\n\n\treturn metadata;\n};\n\nconst initMetadata = (initialMetadata) => {\n\treturn mergeMetadata(initialMetadata);\n};\n\nconst initIngestMetadata = (initialMetadata) => {\n\treturn mergeIngestMetadata(initialMetadata);\n};\n\nconst mergeIngestMetadata = (metadata, base) => {\n\tif (!metadata) {\n\t\tmetadata = {};\n\t}\n\n\tconst defaultMetadata = getDefaultIngestMetadata();\n\n\tif (!base) {\n\t\tbase = getDefaultIngestMetadata();\n\t}\n\n\tmetadata = {\n\t\t...base,\n\t\t...metadata,\n\t};\n\n\tif (metadata.version !== defaultMetadata.version) {\n\t\tmetadata = {\n\t\t\t...defaultMetadata,\n\t\t};\n\t}\n\n\tmetadata.meta = {\n\t\t...base.meta,\n\t\t...metadata.meta,\n\t};\n\n\tmetadata.meta.author = {\n\t\t...base.meta.author,\n\t\t...metadata.meta.author,\n\t};\n\n\tmetadata.player = {\n\t\t...base.player,\n\t\t...metadata.player,\n\t};\n\n\tmetadata.control = {\n\t\t...base.control,\n\t\t...metadata.control,\n\t};\n\n\tmetadata.control.hls = {\n\t\t...base.control.hls,\n\t\t...metadata.control.hls,\n\t};\n\n\tmetadata.control.process = {\n\t\t...base.control.process,\n\t\t...metadata.control.process,\n\t};\n\n\tmetadata.control.snapshot = {\n\t\t...base.control.snapshot,\n\t\t...metadata.control.snapshot,\n\t};\n\n\tif (!Array.isArray(metadata.sources)) {\n\t\tmetadata.sources = [];\n\t} else {\n\t\tfor (let i = 0; i < metadata.sources.length; i++) {\n\t\t\tmetadata.sources[i] = initSource(metadata.sources[i].type, metadata.sources[i]);\n\t\t}\n\t}\n\n\tif (!Array.isArray(metadata.profiles)) {\n\t\tmetadata.profiles = [initProfile({})];\n\t} else {\n\t\tfor (let i = 0; i < metadata.profiles.length; i++) {\n\t\t\tmetadata.profiles[i] = initProfile(metadata.profiles[i]);\n\t\t}\n\t}\n\n\tif (!Array.isArray(metadata.streams)) {\n\t\tmetadata.streams = [];\n\t} else {\n\t\tfor (let i = 0; i < metadata.streams.length; i++) {\n\t\t\tmetadata.streams[i] = initStream(metadata.streams[i]);\n\t\t}\n\t}\n\n\treturn metadata;\n};\n\nconst initEgressMetadata = (initialMetadata) => {\n\treturn mergeEgressMetadata(initialMetadata);\n};\n\nconst mergeEgressMetadata = (metadata, base) => {\n\tif (!metadata) {\n\t\tmetadata = {};\n\t}\n\n\tconst defaultMetadata = getDefaultEgressMetadata();\n\n\tif (!base) {\n\t\tbase = getDefaultEgressMetadata();\n\t}\n\n\tmetadata = {\n\t\t...base,\n\t\t...metadata,\n\t};\n\n\tif (metadata.version !== defaultMetadata.version) {\n\t\tmetadata = {\n\t\t\t...defaultMetadata,\n\t\t};\n\t}\n\n\tmetadata.control = {\n\t\t...base.control,\n\t\t...metadata.control,\n\t};\n\n\tmetadata.control.process = {\n\t\t...base.control.process,\n\t\t...metadata.control.process,\n\t};\n\n\tif (!Array.isArray(metadata.outputs)) {\n\t\tmetadata.outputs = [];\n\t} else {\n\t\tfor (let i = 0; i < metadata.outputs.length; i++) {\n\t\t\tmetadata.outputs[i] = initOutput(metadata.outputs[i]);\n\t\t}\n\t}\n\n\tif (!Array.isArray(metadata.profiles)) {\n\t\tmetadata.profiles = [initProfile({})];\n\t} else {\n\t\tfor (let i = 0; i < metadata.profiles.length; i++) {\n\t\t\tmetadata.profiles[i] = initProfile(metadata.profiles[i]);\n\t\t}\n\t}\n\n\tif (!Array.isArray(metadata.streams)) {\n\t\tmetadata.streams = [];\n\t} else {\n\t\tfor (let i = 0; i < metadata.streams.length; i++) {\n\t\t\tmetadata.streams[i] = initStream(metadata.streams[i]);\n\t\t}\n\t}\n\n\treturn metadata;\n};\n\nconst validateProfile = (sources, profile) => {\n\tlet validVideo = false;\n\n\tif (!('video' in profile)) {\n\t\tprofile.video = initProfile({});\n\t} else {\n\t\tprofile.video = initProfile(profile.video);\n\t}\n\n\tif (profile.video.source !== -1 && profile.video.source < sources.length) {\n\t\tconst source = sources[profile.video.source];\n\n\t\tif (profile.video.stream !== -1 && profile.video.stream < source.streams.length) {\n\t\t\tconst stream = source.streams[profile.video.stream];\n\n\t\t\tif (stream.index < source.inputs.length) {\n\t\t\t\tif (stream.type === 'video') {\n\t\t\t\t\tvalidVideo = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tlet validAudio = false;\n\n\tif (!('audio' in profile)) {\n\t\tprofile.audio = initProfile({});\n\t} else {\n\t\tprofile.audio = initProfile(profile.audio);\n\t}\n\n\tif (profile.audio.source !== -1 && profile.audio.source < sources.length) {\n\t\tconst source = sources[profile.audio.source];\n\n\t\tif (profile.audio.stream !== -1 && profile.audio.stream < source.streams.length) {\n\t\t\tconst stream = source.streams[profile.audio.stream];\n\n\t\t\tif (stream.index < source.inputs.length) {\n\t\t\t\tif (stream.type === 'audio') {\n\t\t\t\t\tvalidAudio = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tif (validVideo === false) {\n\t\tprofile.video.source = -1;\n\t\tprofile.video.stream = -1;\n\t}\n\n\tif (validAudio === false) {\n\t\tprofile.audio.source = -1;\n\t\tprofile.audio.stream = -1;\n\t}\n\n\tlet complete = true;\n\n\tif (profile.video.encoder.coder === 'none' || profile.video.source === -1 || profile.video.stream === -1) {\n\t\tcomplete = false;\n\t}\n\n\treturn complete;\n};\n\nconst createInputsOutputs = (sources, profiles) => {\n\tconst source2inputMap = new Map();\n\n\tconst inputs = [];\n\tconst outputs = [];\n\n\t// For each profile get the source and do the proper mapping\n\tfor (let profile of profiles) {\n\t\tconst complete = validateProfile(sources, profile);\n\t\tif (complete === false) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet index = -1;\n\n\t\tconst source = sources[profile.video.source];\n\t\tconst stream = source.streams[profile.video.stream];\n\t\tconst input = source.inputs[stream.index];\n\n\t\tinput.options = [...profile.video.decoder.mapping, ...input.options];\n\n\t\tconst id = profile.video.source + ':' + stream.index;\n\n\t\t// Check if we already use this input. If not, add it to the final inputs and\n\t\t// keep track of the mapping index.\n\t\tif (source2inputMap.has(id) === false) {\n\t\t\tconst i = inputs.push(input);\n\t\t\tsource2inputMap.set(id, i - 1);\n\t\t}\n\n\t\tindex = source2inputMap.get(id);\n\n\t\tconst options = ['-map', index + ':' + stream.stream, ...profile.video.encoder.mapping];\n\n\t\tif (profile.audio.encoder.coder !== 'none' && profile.audio.source !== -1 && profile.audio.stream !== -1) {\n\t\t\tconst source = sources[profile.audio.source];\n\t\t\tconst stream = source.streams[profile.audio.stream];\n\t\t\tconst input = source.inputs[stream.index];\n\n\t\t\tinput.options = [...profile.audio.decoder.mapping, ...input.options];\n\n\t\t\tconst id = profile.audio.source + ':' + stream.index;\n\n\t\t\tif (source2inputMap.has(id) === false) {\n\t\t\t\tconst i = inputs.push(input);\n\t\t\t\tsource2inputMap.set(id, i - 1);\n\t\t\t}\n\n\t\t\tindex = source2inputMap.get(id);\n\n\t\t\toptions.push('-map', index + ':' + stream.stream, ...profile.audio.encoder.mapping);\n\t\t} else {\n\t\t\toptions.push('-an');\n\t\t}\n\n\t\toutputs.push({\n\t\t\taddress: '',\n\t\t\toptions: options,\n\t\t});\n\t}\n\n\treturn [inputs, outputs];\n};\n\nconst createOutputStreams = (sources, profiles) => {\n\tconst streams = [];\n\n\t// Generate a list of output streams from the profiles\n\tfor (let profile of profiles) {\n\t\tconst complete = validateProfile(sources, profile);\n\t\tif (complete === false) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst source = sources[profile.video.source];\n\t\tconst stream = source.streams[profile.video.stream];\n\n\t\tconst s = initStream({\n\t\t\tindex: 0,\n\t\t\tstream: streams.length,\n\t\t\ttype: stream.type,\n\t\t\twidth: stream.width,\n\t\t\theight: stream.height,\n\t\t});\n\n\t\tif (profile.video.encoder.coder !== 'copy') {\n\t\t\tconst encoder = Coders.Video.Get(profile.video.encoder.coder);\n\t\t\tif (encoder) {\n\t\t\t\ts.codec = encoder.codec;\n\t\t\t}\n\t\t} else {\n\t\t\ts.codec = stream.codec;\n\t\t}\n\n\t\tstreams.push(s);\n\n\t\tif (profile.audio.encoder.coder !== 'none' && profile.audio.source !== -1 && profile.audio.stream !== -1) {\n\t\t\tconst source = sources[profile.audio.source];\n\t\t\tconst stream = source.streams[profile.audio.stream];\n\n\t\t\tconst s = initStream({\n\t\t\t\tindex: 0,\n\t\t\t\tstream: streams.length,\n\t\t\t\ttype: stream.type,\n\t\t\t\tsampling_hz: stream.sampling_hz,\n\t\t\t\tlayout: stream.layout,\n\t\t\t\tchannels: stream.channels,\n\t\t\t});\n\n\t\t\tif (profile.audio.encoder.coder !== 'copy') {\n\t\t\t\tconst encoder = Coders.Audio.Get(profile.audio.encoder.coder);\n\t\t\t\tif (encoder) {\n\t\t\t\t\ts.codec = encoder.codec;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ts.codec = stream.codec;\n\t\t\t}\n\n\t\t\tstreams.push(s);\n\t\t}\n\t}\n\n\treturn streams;\n};\n\nconst initSource = (type, initialSource) => {\n\tif (!initialSource) {\n\t\tinitialSource = {};\n\t}\n\n\tlet source = {\n\t\ttype: '',\n\t\tsettings: {},\n\t\tinputs: [],\n\t\tstreams: [],\n\t};\n\n\t// Default pre-selection for custom audio\n\tif (type === 'audio') {\n\t\tsource.type = 'virtualaudio';\n\t\tsource.settings.source = 'silence';\n\t}\n\n\tsource = {\n\t\t...source,\n\t\t...initialSource,\n\t};\n\n\treturn source;\n};\n\nconst initProfile = (initialProfile) => {\n\tif (!initialProfile) {\n\t\tinitialProfile = {};\n\t}\n\n\tconst profile = {\n\t\tvideo: {},\n\t\taudio: {},\n\t\t...initialProfile,\n\t};\n\n\tprofile.video = {\n\t\tsource: -1,\n\t\tstream: -1,\n\t\tencoder: {},\n\t\tdecoder: {},\n\t\t...profile.video,\n\t};\n\n\tprofile.video.encoder = {\n\t\tcoder: 'none',\n\t\tsettings: {},\n\t\tmapping: [],\n\t\t...profile.video.encoder,\n\t};\n\n\tprofile.video.decoder = {\n\t\tcoder: 'default',\n\t\tsettings: {},\n\t\tmapping: [],\n\t\t...profile.video.decoder,\n\t};\n\n\tprofile.audio = {\n\t\tsource: -1,\n\t\tstream: -1,\n\t\tencoder: {},\n\t\tdecoder: {},\n\t\t...profile.audio,\n\t};\n\n\tprofile.audio.encoder = {\n\t\tcoder: 'none',\n\t\tsettings: {},\n\t\tmapping: [],\n\t\t...profile.audio.encoder,\n\t};\n\n\tprofile.audio.decoder = {\n\t\tcoder: 'default',\n\t\tsettings: {},\n\t\tmapping: [],\n\t\t...profile.audio.decoder,\n\t};\n\n\tprofile.custom = {\n\t\tselected: profile.audio.source === 1,\n\t\tstream: profile.audio.source === 1 ? -2 : profile.audio.stream,\n\t\t...profile.custom,\n\t};\n\n\treturn profile;\n};\n\nconst initStream = (initialStream) => {\n\tif (!initialStream) {\n\t\tinitialStream = {};\n\t}\n\n\tconst stream = {\n\t\tindex: 0,\n\t\tstream: 0,\n\t\ttype: '',\n\t\tcodec: '',\n\t\twidth: 0,\n\t\theight: 0,\n\t\tsampling_hz: 0,\n\t\tlayout: '',\n\t\tchannels: 0,\n\t\t...initialStream,\n\t};\n\n\treturn stream;\n};\n\nconst initOutput = (initialOutput) => {\n\tif (!initialOutput) {\n\t\tinitialOutput = {};\n\t}\n\n\tconst output = {\n\t\taddress: '',\n\t\toptions: [],\n\t\t...initialOutput,\n\t};\n\n\treturn output;\n};\n\nconst analyzeStreams = (type, streams) => {\n\tlet video = null;\n\tlet audio = null;\n\n\tfor (let stream of streams) {\n\t\tif (stream.type === 'video') {\n\t\t\tif (video === null) {\n\t\t\t\tvideo = stream;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t} else if (stream.type === 'audio') {\n\t\t\tif (audio === null) {\n\t\t\t\taudio = stream;\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tif (video !== null && audio !== null) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tlet status = 'success';\n\n\tif (video === null && audio === null) {\n\t\tstatus = 'error';\n\t} else if (type === 'video' && video === null) {\n\t\tstatus = 'nostream';\n\t} else if (type === 'audio' && audio === null) {\n\t\tstatus = 'nostream';\n\t}\n\n\treturn status;\n};\n\n/**\n * Preselect a profile based on the available streams and encoders.\n *\n * @param {*} type Either 'video' or 'audio'\n * @param {*} streams Array of streams\n * @param {*} profile A profile\n * @param {*} encoders Array of supported (by ffmpeg) encoders\n * @returns A profile\n */\nconst preselectProfile = (type, streams, profile, encoders) => {\n\tconst preselectAudioProfile = (streams, audio) => {\n\t\taudio.stream = -1;\n\t\taudio.encoder.coder = 'none';\n\n\t\tfor (let i = 0; i < streams.length; i++) {\n\t\t\tif (streams[i].type !== 'audio') {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\taudio.stream = i;\n\n\t\t\tif (streams[i].codec === 'aac' || streams[i].codec === 'mp3') {\n\t\t\t\taudio.encoder.coder = 'copy';\n\t\t\t} else {\n\t\t\t\tlet coder = Coders.Audio.GetCoderForCodec('aac', encoders.audio);\n\t\t\t\tif (coder === null) {\n\t\t\t\t\tcoder = Coders.Audio.GetCoderForCodec('mp3', encoders.audio);\n\t\t\t\t\tif (coder === null) {\n\t\t\t\t\t\taudio.encoder.coder = 'none';\n\t\t\t\t\t} else {\n\t\t\t\t\t\taudio.encoder.coder = coder.coder;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\taudio.encoder.coder = coder.coder;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tbreak;\n\t\t}\n\n\t\treturn audio;\n\t};\n\n\tconst isVideoPlausible = (streams, video) => {\n\t\tif (video.stream < 0) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (video.stream >= streams.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (streams[video.stream].type !== 'video') {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (streams[video.stream].codec !== 'h264') {\n\t\t\tif (video.encoder.coder === 'copy') {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} else {\n\t\t\tif (video.encoder.coder === 'copy') {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\tconst coder = Coders.Video.Get(video.encoder.coder);\n\t\tif (coder === null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (coder.codec !== 'h264') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t};\n\n\tconst isAudioPlausible = (streams, audio) => {\n\t\tif (audio.stream < 0) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (audio.stream >= streams.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (streams[audio.stream].type !== 'audio') {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (streams[audio.stream].codec !== 'aac' || streams[audio.stream].codec !== 'mp3') {\n\t\t\tif (audio.encoder.coder === 'copy') {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} else {\n\t\t\tif (audio.encoder.coder === 'copy') {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\tconst coder = Coders.Audio.Get(audio.encoder.coder);\n\t\tif (coder === null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (coder.codec !== 'aac' && coder.codec !== 'mp3') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t};\n\n\tif (type === 'video') {\n\t\tif (isVideoPlausible(streams, profile.video) === false) {\n\t\t\tconst video = profile.video;\n\n\t\t\tvideo.stream = -1;\n\t\t\tvideo.encoder.coder = 'none';\n\n\t\t\tfor (let i = 0; i < streams.length; i++) {\n\t\t\t\tif (streams[i].type !== 'video') {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tvideo.source = 0;\n\t\t\t\tvideo.stream = i;\n\n\t\t\t\tif (streams[i].codec === 'h264') {\n\t\t\t\t\tvideo.encoder.coder = 'copy';\n\t\t\t\t} else {\n\t\t\t\t\tlet coder = Coders.Video.GetCoderForCodec('h264', encoders.video);\n\t\t\t\t\tif (coder === null) {\n\t\t\t\t\t\tvideo.encoder.coder = 'none';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvideo.encoder.coder = coder.coder;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tprofile.video = video;\n\t\t}\n\n\t\tif (isAudioPlausible(streams, profile.audio) === false) {\n\t\t\tprofile.audio = preselectAudioProfile(streams, profile.audio);\n\n\t\t\tif (profile.audio.stream >= 0) {\n\t\t\t\tprofile.audio.source = 0;\n\n\t\t\t\tprofile.custom.selected = false;\n\t\t\t\tprofile.custom.stream = profile.audio.stream;\n\t\t\t} else {\n\t\t\t\tprofile.custom.selected = true;\n\t\t\t\tprofile.custom.stream = -2;\n\t\t\t}\n\t\t}\n\t} else if (type === 'audio') {\n\t\tif (isAudioPlausible(streams, profile.audio) === false) {\n\t\t\tprofile.audio = preselectAudioProfile(streams, profile.audio);\n\t\t}\n\n\t\tprofile.audio.source = 1;\n\t}\n\n\treturn profile;\n};\n\nconst cleanupSources = (sources) => {\n\treturn [sources.video, sources.audio];\n};\n\nconst cleanupProfile = (profile) => {\n\tprofile.video.source = 0;\n\tprofile.audio.source = 0;\n\n\tif (profile.custom.selected === true) {\n\t\tprofile.audio.source = 1;\n\t}\n\n\tif (profile.video.stream === -1) {\n\t\tprofile.video.source = -1;\n\t}\n\n\tif (profile.audio.stream === -1) {\n\t\tprofile.audio.source = -1;\n\t}\n\n\treturn {\n\t\taudio: profile.audio,\n\t\tvideo: profile.video,\n\t\tcustom: profile.custom,\n\t};\n};\n\nexport {\n\tgetDefaultMetadata,\n\tgetDefaultIngestMetadata,\n\tgetDefaultEgressMetadata,\n\tinitMetadata,\n\tinitIngestMetadata,\n\tinitEgressMetadata,\n\tmergeMetadata,\n\tmergeIngestMetadata,\n\tmergeEgressMetadata,\n\tvalidateProfile,\n\tcreateInputsOutputs,\n\tcreateOutputStreams,\n\tinitSource,\n\tinitProfile,\n\tanalyzeStreams,\n\tpreselectProfile,\n\tcleanupProfile,\n\tcleanupSources,\n};\n","class API {\n\tconstructor(address) {\n\t\tthis.base = '/api';\n\t\tthis.address = address;\n\t\tthis.token = '';\n\n\t\tthis.cache = new Map();\n\t}\n\n\t_debug(message) {\n\t\t//console.log(`[CoreAPI] ${message}`);\n\t}\n\n\t_error(message) {\n\t\tconsole.error(`[CoreAPI] Error: ${message}`);\n\t}\n\n\tasync _GET(path, options) {\n\t\tconst key = path + JSON.stringify(options);\n\n\t\tconst data = this.cache.get(key);\n\t\tif (data !== undefined) {\n\t\t\tconst millis = Date.now() - data.ts;\n\n\t\t\tif (millis < 950) {\n\t\t\t\treturn JSON.parse(JSON.stringify(data.payload));\n\t\t\t}\n\t\t}\n\n\t\tconst ts = Date.now();\n\n\t\tconst res = await this._call('GET', path, options);\n\n\t\tthis.cache.set(key, {\n\t\t\tpayload: JSON.parse(JSON.stringify(res)),\n\t\t\tts: ts,\n\t\t});\n\n\t\treturn res;\n\t}\n\n\tasync _HEAD(path, options) {\n\t\treturn await this._call('HEAD', path, options);\n\t}\n\n\tasync _POST(path, options) {\n\t\treturn await this._call('POST', path, options);\n\t}\n\n\tasync _PUT(path, options) {\n\t\treturn await this._call('PUT', path, options);\n\t}\n\n\tasync _DELETE(path, options) {\n\t\treturn await this._call('DELETE', path, options);\n\t}\n\n\tasync _PATCH(path, options) {\n\t\treturn await this._call('PATCH', path, options);\n\t}\n\n\tasync _call(method, path, options = {}) {\n\t\toptions = {\n\t\t\tmethod: method.toUpperCase(),\n\t\t\texpect: 'any',\n\t\t\theaders: {},\n\t\t\ttoken: '',\n\t\t\t...options,\n\t\t};\n\n\t\tpath = this.base + path;\n\t\tif (path !== '/') {\n\t\t\t// remove slash at the end of the path\n\t\t\tif (path[path.length - 1] === '/') {\n\t\t\t\tpath = path.substring(0, path.length - 1);\n\t\t\t}\n\t\t}\n\n\t\tlet token = '';\n\n\t\tif (options.token.length !== 0) {\n\t\t\ttoken = options.token;\n\t\t} else {\n\t\t\tif (typeof this.token === 'function') {\n\t\t\t\ttoken = await this.token();\n\t\t\t} else {\n\t\t\t\ttoken = this.token;\n\t\t\t}\n\t\t}\n\n\t\tif (token.length !== 0) {\n\t\t\toptions.headers.Authorization = 'Bearer ' + token;\n\t\t}\n\n\t\tthis._debug(`calling ${options.method} ${this.address + path}`);\n\n\t\tconst res = {\n\t\t\terr: null,\n\t\t\tval: null,\n\t\t};\n\n\t\tlet response = null;\n\n\t\ttry {\n\t\t\tresponse = await fetch(this.address + path, options);\n\t\t} catch (err) {\n\t\t\tres.err = {\n\t\t\t\tcode: -1,\n\t\t\t\tmessage: err.message,\n\t\t\t};\n\n\t\t\tthis._error(res.err.message);\n\n\t\t\treturn res;\n\t\t}\n\n\t\tconst contentType = response.headers.get('Content-Type');\n\t\tlet isJSON = false;\n\n\t\tif (contentType != null) {\n\t\t\tisJSON = contentType.indexOf('application/json') !== -1;\n\t\t}\n\n\t\tif (response.ok === false) {\n\t\t\tres.err = {\n\t\t\t\tcode: response.status,\n\t\t\t\tmessage: response.statusText,\n\t\t\t};\n\n\t\t\tif (isJSON === true) {\n\t\t\t\tconst body = await response.json();\n\n\t\t\t\tif ('code' in body && 'message' in body) {\n\t\t\t\t\tres.err.message = body.message;\n\t\t\t\t} else {\n\t\t\t\t\tres.err.message = body;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst body = await response.text();\n\t\t\t\tif (body.length > 0) {\n\t\t\t\t\tres.err.message = body;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis._error(res.err.message);\n\n\t\t\treturn res;\n\t\t}\n\n\t\tif (isJSON === true) {\n\t\t\tres.val = await response.json();\n\t\t} else {\n\t\t\tres.val = await response.text();\n\t\t}\n\n\t\tif (options.expect === 'json') {\n\t\t\tif (isJSON === false) {\n\t\t\t\tres.val = null;\n\t\t\t\tres.err = {\n\t\t\t\t\tcode: -2,\n\t\t\t\t\tmessage: `The response is not JSON as expected (${contentType})`,\n\t\t\t\t};\n\n\t\t\t\tthis._error(res.err.message);\n\t\t\t}\n\t\t}\n\n\t\treturn res;\n\t}\n\n\tSetAddress(address) {\n\t\tthis.address = address;\n\t}\n\n\tSetToken(token) {\n\t\tthis.token = token;\n\t\tthis.cache = new Map();\n\t}\n\n\tasync Login(username, password) {\n\t\treturn await this._POST('/login', {\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/json',\n\t\t\t},\n\t\t\tbody: JSON.stringify({\n\t\t\t\tusername: username,\n\t\t\t\tpassword: password,\n\t\t\t}),\n\t\t\texpect: 'json',\n\t\t});\n\t}\n\n\tasync LoginWithToken(token) {\n\t\treturn await this._POST('/login', {\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/json',\n\t\t\t},\n\t\t\texpect: 'json',\n\t\t\ttoken: token,\n\t\t});\n\t}\n\n\tasync RefreshToken(refresh_token) {\n\t\treturn await this._GET('/login/refresh', {\n\t\t\texpect: 'json',\n\t\t\ttoken: refresh_token,\n\t\t});\n\t}\n\n\tasync About() {\n\t\treturn await this._GET('/', {\n\t\t\texpect: 'json',\n\t\t});\n\t}\n\n\tasync Skills() {\n\t\treturn await this._GET('/v3/skills', {\n\t\t\texpect: 'json',\n\t\t});\n\t}\n\n\tasync SkillsReload() {\n\t\treturn await this._GET('/v3/skills/reload', {\n\t\t\texpect: 'json',\n\t\t});\n\t}\n\n\tasync Config(type) {\n\t\treturn await this._GET('/v3/config', {\n\t\t\texpect: 'json',\n\t\t});\n\t}\n\n\tasync ConfigSet(config) {\n\t\treturn await this._PUT('/v3/config', {\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/json',\n\t\t\t},\n\t\t\tbody: JSON.stringify(config),\n\t\t\texpect: 'json',\n\t\t});\n\t}\n\n\tasync ConfigReload(type) {\n\t\treturn await this._GET('/v3/config/reload');\n\t}\n\n\tasync Log() {\n\t\treturn await this._GET('/v3/log', {\n\t\t\texpect: 'json',\n\t\t});\n\t}\n\n\tasync ActiveSessions(collectors) {\n\t\treturn await this._GET('/v3/session/active?collectors=' + encodeURIComponent(collectors.join(',')), {\n\t\t\texpect: 'json',\n\t\t});\n\t}\n\n\tasync SetMetadata(key, data) {\n\t\treturn await this._PUT('/v3/metadata/' + encodeURIComponent(key), {\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/json',\n\t\t\t},\n\t\t\tbody: JSON.stringify(data),\n\t\t\texpect: 'json',\n\t\t});\n\t}\n\n\tasync GetMetadata(key) {\n\t\treturn await this._GET('/v3/metadata/' + encodeURIComponent(key), {\n\t\t\texpect: 'json',\n\t\t});\n\t}\n\n\tasync DataHasFile(path) {\n\t\treturn await this._HEAD('/v3/fs/disk' + path);\n\t}\n\n\tasync DataPutFile(path, data) {\n\t\treturn await this._PUT('/v3/fs/disk' + path, {\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/data',\n\t\t\t},\n\t\t\tbody: data,\n\t\t});\n\t}\n\n\tasync DataGetFile(path) {\n\t\treturn await this._GET('/v3/fs/disk' + path);\n\t}\n\n\tasync DataListFiles(pathPattern) {\n\t\treturn await this._GET('/v3/fs/disk?glob=' + encodeURIComponent(pathPattern), {\n\t\t\texpect: 'json',\n\t\t});\n\t}\n\n\tasync DataDeleteFile(path) {\n\t\treturn await this._DELETE('/v3/fs/disk' + path);\n\t}\n\n\tasync MemFSListFiles(pathPattern) {\n\t\treturn await this._GET('/v3/fs/mem?glob=' + encodeURIComponent(pathPattern), {\n\t\t\texpect: 'json',\n\t\t});\n\t}\n\n\tasync MemFSHasFile(path) {\n\t\treturn await this._HEAD('/v3/fs/mem' + path);\n\t}\n\n\tasync MemFSDeleteFile(path) {\n\t\treturn await this._DELETE('/v3/fs/mem' + path);\n\t}\n\n\tasync MemFSLinkFile(path, linkto) {\n\t\treturn await this._PATCH('/v3/fs/mem/' + path, {\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/data',\n\t\t\t},\n\t\t\tbody: linkto,\n\t\t});\n\t}\n\n\tasync Processes(reference = '', ids = [], filter = []) {\n\t\tlet url = '/v3/process';\n\t\tlet params = [];\n\n\t\tif (reference.length !== 0) {\n\t\t\tparams.push('reference=' + encodeURIComponent(reference));\n\t\t}\n\n\t\tif (ids.length !== 0) {\n\t\t\tparams.push('id=' + encodeURIComponent(ids.join(',')));\n\t\t}\n\n\t\tif (filter.length !== 0) {\n\t\t\tparams.push('filter=' + encodeURIComponent(filter.join(',')));\n\t\t}\n\n\t\tif (params.length !== 0) {\n\t\t\turl = url + '?' + params.join('&');\n\t\t}\n\n\t\treturn await this._GET(url, {\n\t\t\texpect: 'json',\n\t\t});\n\t}\n\n\tasync Process(name, filter = []) {\n\t\tlet url = '/v3/process/' + name;\n\t\tif (filter.length !== 0) {\n\t\t\turl = url + '?filter=' + encodeURIComponent(filter.join(','));\n\t\t}\n\n\t\treturn await this._GET(url, {\n\t\t\texpect: 'json',\n\t\t});\n\t}\n\n\tasync ProcessConfig(name) {\n\t\treturn await this._GET('/v3/process/' + encodeURIComponent(name) + '/config', {\n\t\t\texpect: 'json',\n\t\t});\n\t}\n\n\tasync ProcessState(name) {\n\t\treturn await this._GET('/v3/process/' + encodeURIComponent(name) + '/state', {\n\t\t\texpect: 'json',\n\t\t});\n\t}\n\n\tasync ProcessReport(name) {\n\t\treturn await this._GET('/v3/process/' + encodeURIComponent(name) + '/report', {\n\t\t\texpect: 'json',\n\t\t});\n\t}\n\n\tasync ProcessCommand(name, command) {\n\t\treturn await this._PUT('/v3/process/' + encodeURIComponent(name) + '/command', {\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/json',\n\t\t\t},\n\t\t\tbody: JSON.stringify({\n\t\t\t\tcommand: command,\n\t\t\t}),\n\t\t\texpect: 'json',\n\t\t});\n\t}\n\n\tasync ProcessDelete(name) {\n\t\treturn await this._DELETE('/v3/process/' + encodeURIComponent(name));\n\t}\n\n\tasync ProcessUpdate(name, config) {\n\t\treturn await this._PUT('/v3/process/' + encodeURIComponent(name), {\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/json',\n\t\t\t},\n\t\t\tbody: JSON.stringify(config),\n\t\t});\n\t}\n\n\tasync ProcessSetMetadata(name, key, data) {\n\t\treturn await this._PUT('/v3/process/' + encodeURIComponent(name) + '/metadata/' + encodeURIComponent(key), {\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/json',\n\t\t\t},\n\t\t\tbody: JSON.stringify(data),\n\t\t\texpect: 'json',\n\t\t});\n\t}\n\n\tasync ProcessGetMetadata(name, key) {\n\t\treturn await this._GET('/v3/process/' + encodeURIComponent(name) + '/metadata/' + encodeURIComponent(key), {\n\t\t\texpect: 'json',\n\t\t});\n\t}\n\n\tasync ProcessAdd(config) {\n\t\treturn await this._POST('/v3/process', {\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/json',\n\t\t\t},\n\t\t\tbody: JSON.stringify(config),\n\t\t\texpect: 'json',\n\t\t});\n\t}\n\n\tasync ProcessProbe(name) {\n\t\treturn await this._GET('/v3/process/' + encodeURIComponent(name) + '/probe', {\n\t\t\texpect: 'json',\n\t\t});\n\t}\n\n\tasync Metrics(query) {\n\t\treturn await this._POST('/v3/metrics', {\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/json',\n\t\t\t},\n\t\t\tbody: JSON.stringify(query),\n\t\t\texpect: 'json',\n\t\t});\n\t}\n}\n\nexport default API;\n","import { i18n } from '@lingui/core';\nimport { t } from '@lingui/macro';\nimport { v4 as uuidv4 } from 'uuid';\nimport jwt_decode from 'jwt-decode';\nimport Handlebars from 'handlebars';\nimport SemverSatisfies from 'semver/functions/satisfies';\nimport SemverGt from 'semver/functions/gt';\nimport SemverGte from 'semver/functions/gte';\n\nimport * as M from './metadata';\nimport * as Storage from './storage';\nimport * as Version from '../version';\nimport API from './api';\n\nclass Restreamer {\n\tconstructor(address) {\n\t\ttry {\n\t\t\tnew URL(address);\n\t\t} catch (e) {\n\t\t\taddress = window.location.protocol + '//' + window.location.host;\n\t\t}\n\n\t\tthis.address = address;\n\t\tthis.api = new API(this.address);\n\n\t\tthis.listeners = [];\n\n\t\tthis._reset();\n\t}\n\n\t_reset() {\n\t\tthis.valid = false;\n\t\tthis.requiresLogin = true;\n\t\tthis.connected = false;\n\t\tthis.refresh = null;\n\t\tthis.ignoreAPIErrors = false;\n\n\t\tthis.about = this._initAbout();\n\n\t\tthis.skills = null;\n\t\tthis.config = null;\n\n\t\tthis.cache = {\n\t\t\tassets: new Map(),\n\t\t};\n\n\t\tthis.channels = new Map();\n\t\tthis.channel = null;\n\n\t\tthis.refreshToken = null;\n\n\t\tthis.updates = null;\n\t\tthis.hasUpdates = false;\n\t\tthis.hasService = false;\n\n\t\tthis._checkForUpdates();\n\t}\n\n\t_initAbout(initialAbout) {\n\t\tif (!initialAbout) {\n\t\t\tinitialAbout = {};\n\t\t}\n\n\t\tconst about = {\n\t\t\tid: '',\n\t\t\tname: '',\n\t\t\tcreated_at: null,\n\t\t\tversion: {},\n\t\t\tauths: ['localjwt'],\n\t\t\t...initialAbout,\n\t\t};\n\n\t\tabout.version = {\n\t\t\tnumber: '',\n\t\t\t...about.version,\n\t\t};\n\n\t\tif (about.created_at !== null) {\n\t\t\tabout.created_at = parseRFC3339Date(about.created_at);\n\t\t}\n\n\t\tif (!Array.isArray(about.auths)) {\n\t\t\tabout.auths = ['localjwt'];\n\t\t}\n\n\t\treturn about;\n\t}\n\n\tReset() {\n\t\tthis._reset();\n\t}\n\n\tID() {\n\t\treturn this.about.id;\n\t}\n\n\tCreatedAt() {\n\t\treturn this.about.created_at;\n\t}\n\n\tVersion() {\n\t\treturn this.about.version;\n\t}\n\n\tApp() {\n\t\treturn this.about.app;\n\t}\n\n\tName() {\n\t\treturn this.about.name;\n\t}\n\n\tAddress() {\n\t\treturn this.address;\n\t}\n\n\tSetAddress(address) {\n\t\tif (address === this.address) {\n\t\t\treturn true;\n\t\t}\n\n\t\ttry {\n\t\t\tnew URL(address);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\n\t\tthis.address = address;\n\t\tthis.api.SetAddress(this.address);\n\t}\n\n\tAuths() {\n\t\treturn JSON.parse(JSON.stringify(this.about.auths));\n\t}\n\n\t// Events\n\n\tAddListener(listener) {\n\t\treturn this.listeners.push(listener) - 1;\n\t}\n\n\tRemoveListener(id) {\n\t\tthis.listeners.splice(id, 1);\n\t}\n\n\t_dispatchEvent(severity, type, message) {\n\t\tswitch (severity) {\n\t\t\tcase 'error':\n\t\t\tcase 'warning':\n\t\t\tcase 'info':\n\t\t\tcase 'success':\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\treturn;\n\t\t}\n\n\t\tfor (let l of this.listeners) {\n\t\t\tl({\n\t\t\t\tseverity: severity,\n\t\t\t\ttype: type,\n\t\t\t\tmessage: message,\n\t\t\t});\n\t\t}\n\t}\n\n\t// API calls\n\n\tasync _call(fn, ...args) {\n\t\tconst res = await fn.apply(this.api, args);\n\t\tif (res.err !== null && !this.ignoreAPIErrors) {\n\t\t\tif (res.err.code === -1) {\n\t\t\t\t// Network error\n\t\t\t\tthis._dispatchEvent('error', 'network', res.err.message);\n\t\t\t} else if (res.err.code === 401) {\n\t\t\t\tif (fn !== this.api.RefreshToken) {\n\t\t\t\t\t// Try to refresh access token\n\t\t\t\t\tif ((await this.RefreshToken()) === true) {\n\t\t\t\t\t\t// Retry call after successfull token refresh\n\t\t\t\t\t\tconst res = await fn.apply(this.api, args);\n\t\t\t\t\t\tif (res.err !== null) {\n\t\t\t\t\t\t\tif (res.err.status === 'NETWORK_ERROR') {\n\t\t\t\t\t\t\t\t// Network error\n\t\t\t\t\t\t\t\tthis._dispatchEvent('error', 'network', res.err.status, res.err.message);\n\t\t\t\t\t\t\t} else if (res.err.code === 401) {\n\t\t\t\t\t\t\t\t// Auth error\n\t\t\t\t\t\t\t\tthis._dispatchEvent('error', 'auth', res.err.status, res.err.message);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn [res.val, res.err];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (fn !== this.api.Login && fn !== this.api.LoginWithToken) {\n\t\t\t\t\t// Auth error\n\t\t\t\t\tthis._dispatchEvent('error', 'auth', res.err.message);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// HTTP response error\n\t\t\t}\n\t\t}\n\n\t\treturn [res.val, res.err];\n\t}\n\n\tIgnoreAPIErrors(toggle) {\n\t\tthis.ignoreAPIErrors = toggle;\n\t}\n\n\t// Login, Logout and Token handling\n\n\tasync Validate() {\n\t\tlet token = this._getRefreshToken();\n\t\tif (token !== null) {\n\t\t\tconst ok = await this.RefreshToken();\n\t\t\tif (ok === false) {\n\t\t\t\tthis._setRefreshToken(null);\n\t\t\t}\n\t\t}\n\n\t\tconst about = await this.About();\n\t\tif (about === null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tthis.valid = true;\n\t\tthis.requiresLogin = true;\n\n\t\tif (about.id.length !== 0) {\n\t\t\tif (token === null) {\n\t\t\t\tthis.requiresLogin = false;\n\t\t\t} else {\n\t\t\t\tthis.connected = true;\n\t\t\t}\n\t\t}\n\n\t\tthis.about = about;\n\n\t\tif (this.IsConnected() === true) {\n\t\t\tawait this._init();\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tasync Login(username, password) {\n\t\tif (this.requiresLogin === false) {\n\t\t\tawait this._init();\n\t\t\treturn true;\n\t\t}\n\n\t\tconst [data, err] = await this._call(this.api.Login, username, password);\n\t\tif (err !== null) {\n\t\t\tthis._dispatchEvent('error', 'login', i18n._(t`Login failed: ${err.message}`));\n\t\t\treturn false;\n\t\t}\n\n\t\tthis._setAccessToken(data.access_token);\n\t\tthis._setRefreshToken(data.refresh_token);\n\n\t\tconst about = await this.About();\n\t\tif (about === null) {\n\t\t\tthis._dispatchEvent('error', 'login', i18n._(t`Login failed: Couldn't load API details`));\n\t\t\treturn false;\n\t\t}\n\n\t\tif (about.id.length === 0) {\n\t\t\tthis._dispatchEvent('error', 'login', i18n._(t`Login failed: Couldn't load API details`));\n\t\t\treturn false;\n\t\t}\n\n\t\tthis.about = about;\n\t\tthis.connected = true;\n\n\t\tawait this._init();\n\n\t\treturn true;\n\t}\n\n\tasync LoginWithToken(token) {\n\t\tif (this.requiresLogin === false) {\n\t\t\tawait this._init();\n\t\t\treturn true;\n\t\t}\n\n\t\tconst [data, err] = await this._call(this.api.LoginWithToken, token);\n\t\tif (err !== null) {\n\t\t\tthis._dispatchEvent('error', 'login', i18n._(t`Login failed: ${err.message}`));\n\t\t\treturn false;\n\t\t}\n\n\t\tthis._setAccessToken(data.access_token);\n\t\tthis._setRefreshToken(data.refresh_token);\n\n\t\tconst about = await this.About();\n\t\tif (about === null) {\n\t\t\tthis._dispatchEvent('error', 'login', i18n._(t`Login failed: Couldn't load API details`));\n\t\t\treturn false;\n\t\t}\n\n\t\tif (about.id.length === 0) {\n\t\t\tthis._dispatchEvent('error', 'login', i18n._(t`Login failed: Couldn't load API details`));\n\t\t\treturn false;\n\t\t}\n\n\t\tthis.about = about;\n\t\tthis.connected = true;\n\n\t\tawait this._init();\n\n\t\treturn true;\n\t}\n\n\tLogout() {\n\t\tclearTimeout(this.refresh);\n\t\tthis._setAccessToken(null);\n\t\tthis._setRefreshToken(null);\n\t}\n\n\tIsConnected() {\n\t\tif (this.valid === false) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (this.requiresLogin === false) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (this.connected === true) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tCompatibility() {\n\t\tconst compatibility = {\n\t\t\tcompatible: false,\n\t\t\tcore: {\n\t\t\t\tcompatible: false,\n\t\t\t\thave: '0.0.0',\n\t\t\t\twant: Version.Core,\n\t\t\t},\n\t\t\tffmpeg: {\n\t\t\t\tcompatible: false,\n\t\t\t\thave: '0.0.0',\n\t\t\t\twant: Version.FFmpeg,\n\t\t\t},\n\t\t};\n\n\t\tif (this.IsConnected() === false) {\n\t\t\treturn compatibility;\n\t\t}\n\n\t\tcompatibility.core.have = this.Version().number;\n\t\tcompatibility.ffmpeg.have = this.skills.ffmpeg.version;\n\n\t\tcompatibility.core.compatible = SemverSatisfies(compatibility.core.have, compatibility.core.want);\n\t\tcompatibility.ffmpeg.compatible = SemverSatisfies(compatibility.ffmpeg.have, compatibility.ffmpeg.want);\n\n\t\tif (compatibility.core.compatible === true && compatibility.ffmpeg.compatible === true) {\n\t\t\tcompatibility.compatible = true;\n\t\t}\n\n\t\treturn compatibility;\n\t}\n\n\tasync _init() {\n\t\tawait this._initConfig();\n\t\tawait this._initSkills();\n\t\tawait this._discoverChannels();\n\t}\n\n\t_setTokenRefresh(expiresIn) {\n\t\tclearTimeout(this.refresh);\n\n\t\tif (expiresIn > 60) {\n\t\t\texpiresIn -= 60;\n\t\t}\n\n\t\tthis.refresh = setTimeout(async () => {\n\t\t\tawait this.RefreshToken();\n\t\t}, expiresIn * 1000);\n\n\t\treturn;\n\t}\n\n\t_setAccessToken(token) {\n\t\tif (token === null) {\n\t\t\tthis.api.SetToken('');\n\t\t} else {\n\t\t\tlet claims = null;\n\t\t\ttry {\n\t\t\t\tclaims = jwt_decode(token);\n\t\t\t\tthis._setTokenRefresh(claims.exi);\n\t\t\t\tthis.api.SetToken(token);\n\t\t\t} catch (e) {\n\t\t\t\tthis.api.SetToken('');\n\t\t\t}\n\t\t}\n\t}\n\n\t_setRefreshToken(token) {\n\t\tif (token === null) {\n\t\t\tthis.refreshToken = null;\n\t\t\tStorage.Remove('token');\n\t\t} else {\n\t\t\tthis.refreshToken = token;\n\t\t\tStorage.Set('token', token);\n\t\t}\n\t}\n\n\t_getRefreshToken() {\n\t\tlet token = this.refreshToken;\n\t\tif (token === null) {\n\t\t\ttoken = Storage.Get('token');\n\t\t}\n\n\t\treturn token;\n\t}\n\n\tasync RefreshToken() {\n\t\tif (this.requiresLogin === false) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst token = this._getRefreshToken();\n\t\tif (token === null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst [data, err] = await this._call(this.api.RefreshToken, token);\n\t\tif (err !== null) {\n\t\t\tthis._dispatchEvent('error', 'auth', i18n._(t`Failed to refresh token: ${err.message}`));\n\t\t\treturn false;\n\t\t}\n\n\t\tthis._setAccessToken(data.access_token);\n\n\t\treturn true;\n\t}\n\n\t// General System Information\n\n\tasync About() {\n\t\tconst [val, err] = await this._call(this.api.About);\n\t\tif (err !== null) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (typeof val !== 'object') {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst about = this._initAbout(val);\n\n\t\tif (about.app !== 'datarhei-core') {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn about;\n\t}\n\n\tasync _initSkills() {\n\t\tconst skills = {\n\t\t\tffmpeg: {\n\t\t\t\tversion: '',\n\t\t\t},\n\t\t\tcodecs: {\n\t\t\t\taudio: {\n\t\t\t\t\tnone: ['none'],\n\t\t\t\t},\n\t\t\t\tvideo: {\n\t\t\t\t\tnone: ['none'],\n\t\t\t\t},\n\t\t\t},\n\t\t\tencoders: {\n\t\t\t\taudio: ['copy', 'none'],\n\t\t\t\tvideo: ['copy', 'none'],\n\t\t\t},\n\t\t\tdecoders: {\n\t\t\t\taudio: ['default'],\n\t\t\t\tvideo: ['default'],\n\t\t\t},\n\t\t\tformats: {\n\t\t\t\tdemuxers: [],\n\t\t\t\tmuxers: [],\n\t\t\t},\n\t\t\tprotocols: {\n\t\t\t\tinput: [],\n\t\t\t\toutput: [],\n\t\t\t},\n\t\t\tsources: {\n\t\t\t\tnetwork: [],\n\t\t\t\tvirtualaudio: [],\n\t\t\t\tvirtualvideo: [],\n\t\t\t},\n\t\t\tsinks: {},\n\t\t};\n\n\t\tlet [val, err] = await this._call(this.api.Skills);\n\t\tif (err !== null) {\n\t\t\tthis.skills = skills;\n\t\t\treturn;\n\t\t}\n\n\t\tval = {\n\t\t\tffmpeg: {},\n\t\t\tcodecs: {},\n\t\t\thwaccels: [],\n\t\t\tformats: {},\n\t\t\tprotocols: {},\n\t\t\tdevices: {},\n\t\t\t...val,\n\t\t};\n\n\t\tskills.ffmpeg = {\n\t\t\tversion: '0.0.0',\n\t\t\t...val.ffmpeg,\n\t\t};\n\n\t\tval.codecs = {\n\t\t\taudio: {},\n\t\t\tvideo: {},\n\t\t\t...val.codecs,\n\t\t};\n\n\t\tfor (let codec of val.codecs.audio) {\n\t\t\tif (codec.encoders !== null) {\n\t\t\t\tskills.encoders.audio.push(...codec.encoders);\n\n\t\t\t\tskills.codecs.audio[codec.id] = [...codec.encoders];\n\t\t\t}\n\n\t\t\tif (codec.decoders !== null) {\n\t\t\t\tskills.decoders.audio.push(...codec.decoders);\n\t\t\t}\n\t\t}\n\n\t\tfor (let codec of val.codecs.video) {\n\t\t\tif (codec.encoders !== null) {\n\t\t\t\tskills.encoders.video.push(...codec.encoders);\n\n\t\t\t\tskills.codecs.video[codec.id] = [...codec.encoders];\n\t\t\t}\n\n\t\t\tif (codec.decoders !== null) {\n\t\t\t\tskills.decoders.video.push(...codec.decoders);\n\t\t\t}\n\t\t}\n\n\t\tfor (let hwaccel of val.hwaccels) {\n\t\t\tskills.decoders.video.push(hwaccel.id);\n\t\t}\n\n\t\tval.formats = {\n\t\t\tdemuxers: [],\n\t\t\tmuxers: [],\n\t\t\t...val.formats,\n\t\t};\n\n\t\tfor (let format of val.formats.demuxers) {\n\t\t\tskills.formats.demuxers.push(format.id);\n\t\t}\n\n\t\tfor (let format of val.formats.muxers) {\n\t\t\tskills.formats.muxers.push(format.id);\n\t\t}\n\n\t\tval.protocols = {\n\t\t\tinput: [],\n\t\t\toutput: [],\n\t\t\t...val.protocols,\n\t\t};\n\n\t\tfor (let protocol of val.protocols.input) {\n\t\t\tskills.protocols.input.push(protocol.id);\n\t\t}\n\n\t\tfor (let protocol of val.protocols.output) {\n\t\t\tskills.protocols.output.push(protocol.id);\n\t\t}\n\n\t\tval.devices = {\n\t\t\tdemuxers: [],\n\t\t\tmuxers: [],\n\t\t\t...val.devices,\n\t\t};\n\n\t\tfor (let device of val.devices.demuxers) {\n\t\t\tif (!['avfoundation', 'video4linux2', 'alsa', 'fbdev'].includes(device.id)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// It's OK to have an empty list of devices because a device might get\n\t\t\t// plugged meanwhile and a refresh is required.\n\t\t\tskills.sources[device.id] = [];\n\n\t\t\t// Split out a Raspberry Pi camera and create a dedicated source\n\t\t\tif (device.id === 'video4linux2') {\n\t\t\t\tfor (let d of device.devices) {\n\t\t\t\t\tif (d.extra.indexOf('bcm2835-v4l2') !== -1) {\n\t\t\t\t\t\tif (!('raspicam' in skills.sources)) {\n\t\t\t\t\t\t\tskills.sources['raspicam'] = [];\n\t\t\t\t\t\t}\n\t\t\t\t\t\tskills.sources['raspicam'].push({ ...d });\n\t\t\t\t\t} else {\n\t\t\t\t\t\tskills.sources[device.id].push({ ...d });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (let d of device.devices) {\n\t\t\t\t\tskills.sources[device.id].push({ ...d });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tfor (let device of val.devices.muxers) {\n\t\t\tif (['fbdev'].includes(device.id)) {\n\t\t\t\tif (device.devices.length === 0) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tskills.sinks[device.id] = [];\n\n\t\t\t\tfor (let d of device.devices) {\n\t\t\t\t\tskills.sinks[device.id].push({ ...d });\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.skills = skills;\n\t}\n\n\tSkills() {\n\t\treturn JSON.parse(JSON.stringify(this.skills));\n\t}\n\n\tasync RefreshSkills() {\n\t\tconst [, err] = await this._call(this.api.SkillsReload);\n\t\tif (err !== null) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait this._initSkills();\n\n\t\treturn;\n\t}\n\n\tasync Config() {\n\t\tconst [config, err] = await this._call(this.api.Config);\n\t\tif (err !== null) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconfig.created_at = parseRFC3339Date(config.created_at);\n\t\tconfig.loaded_at = parseRFC3339Date(config.loaded_at);\n\t\tconfig.updated_at = parseRFC3339Date(config.updated_at);\n\n\t\treturn config;\n\t}\n\n\tasync ConfigSet(config) {\n\t\tconst res = await this._call(this.api.ConfigSet, config);\n\n\t\treturn res;\n\t}\n\n\tasync _initConfig() {\n\t\tconst config = {\n\t\t\tsource: {\n\t\t\t\tnetwork: {\n\t\t\t\t\trtmp: {\n\t\t\t\t\t\tenabled: false,\n\t\t\t\t\t\tsecure: false,\n\t\t\t\t\t\thost: '',\n\t\t\t\t\t\tlocal: 'localhost',\n\t\t\t\t\t\tapp: '',\n\t\t\t\t\t\ttoken: '',\n\t\t\t\t\t\tname: '',\n\t\t\t\t\t},\n\t\t\t\t\thls: {\n\t\t\t\t\t\tsecure: false,\n\t\t\t\t\t\thost: '',\n\t\t\t\t\t\tlocal: 'localhost',\n\t\t\t\t\t\tcredentials: '',\n\t\t\t\t\t\tname: '',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\thttp: {\n\t\t\t\tsecure: false,\n\t\t\t\thost: '',\n\t\t\t},\n\t\t\tmemfs: {\n\t\t\t\tauth: {\n\t\t\t\t\tenable: false,\n\t\t\t\t\tusername: '',\n\t\t\t\t\tpassword: '',\n\t\t\t\t},\n\t\t\t},\n\t\t\thostname: '',\n\t\t\toverrides: [],\n\t\t};\n\n\t\tconst val = await this.Config();\n\t\tif (val === null) {\n\t\t\tthis.config = config;\n\t\t\treturn;\n\t\t}\n\n\t\tconst isIP = (host) => {\n\t\t\tif (host === 'localhost') {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// IPv4\n\t\t\tif (host.match(/^[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+$/)) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// IPv6\n\t\t\tif (host.indexOf(':') !== -1) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t};\n\n\t\tconst splitHostPort = (address) => {\n\t\t\tlet host = '';\n\t\t\tlet port = '';\n\t\t\tlet hostport = address.split(/:([0-9]+)$/);\n\n\t\t\tif (hostport.length === 3) {\n\t\t\t\thost = hostport[0];\n\t\t\t\tport = hostport[1];\n\t\t\t} else if (hostport.length === 1) {\n\t\t\t\tport = hostport[0];\n\t\t\t}\n\n\t\t\treturn [host, port];\n\t\t};\n\n\t\tconst address = new URL(this.Address());\n\n\t\t// The hostname we're using to connect to the API is the one we're\n\t\t// going to use to display in the UI.\n\t\tlet hostname = address.hostname;\n\n\t\t// However, if the provided hostname is an IP and we have at least one\n\t\t// name provided, we'll use the first one of the provided names.\n\t\tif (isIP(hostname) && val.config.host.name.length !== 0) {\n\t\t\thostname = val.config.host.name[0];\n\t\t}\n\n\t\t// If we're connecting to the API with TLS or if the API is TLS-enabled\n\t\t// we upgrade to TLS.\n\t\tlet protocol = 'http:';\n\t\tif (address.protocol === 'https:' || val.config.tls.enable) {\n\t\t\tprotocol = 'https:';\n\t\t}\n\n\t\tconfig.http.secure = protocol === 'https:';\n\n\t\t// Set defaults for the port if it's not set.\n\t\tlet port = address.port;\n\t\tif (port.length === 0) {\n\t\t\tport = config.http.secure ? '443' : '80';\n\t\t}\n\n\t\tconfig.hostname = hostname;\n\n\t\t// Set the HTTP host and only add the port if it is not the default one.\n\t\tconfig.http.host = config.hostname;\n\t\tif ((config.http.secure && port !== '443') || (!config.http.secure && port !== '80')) {\n\t\t\tconfig.http.host += ':' + port;\n\t\t}\n\n\t\t// HLS\n\n\t\tconfig.source.network.hls.secure = config.http.secure;\n\t\tconfig.source.network.hls.host = config.http.host;\n\n\t\t// This is used for FFmpeg to access the HLS stream. This will happen always via HTTP.\n\t\t// If the HTTP server is bound to a specific address, we'll use this one, localhost otherwise.\n\t\tlet [http_host, http_port] = splitHostPort(val.config.address);\n\t\tconfig.source.network.hls.local = http_host.length !== 0 ? http_host : 'localhost';\n\t\tif (http_port !== '80') {\n\t\t\tconfig.source.network.hls.local += ':' + http_port;\n\t\t}\n\n\t\t// RTMP\n\n\t\tconfig.source.network.rtmp.enabled = val.config.rtmp.enable;\n\t\tconfig.source.network.rtmp.secure = val.config.rtmp.enable_tls;\n\t\tconfig.source.network.rtmp.token = encodeURIComponent(val.config.rtmp.token);\n\n\t\t// Sanity check on the RTMP app\n\t\tlet app = val.config.rtmp.app;\n\t\tconst re = new RegExp('/+', 'g');\n\t\tapp = app.replace(re, '/');\n\t\tif (app !== '/') {\n\t\t\tif (app[app.length - 1] === '/') {\n\t\t\t\tapp = app.substring(0, app.length - 2);\n\t\t\t}\n\n\t\t\tif (app[0] !== '/') {\n\t\t\t\tapp = '/' + app;\n\t\t\t}\n\t\t} else {\n\t\t\tapp = '';\n\t\t}\n\n\t\tconfig.source.network.rtmp.app = app;\n\t\tconfig.source.network.rtmp.host = config.hostname;\n\n\t\t// This is used for FFmpeg to access the RTMP stream. If the RTMP server is bound to a\n\t\t// specific address, we'll use this one, localhost otherwise.\n\t\tlet [rtmp_host, rtmp_port] = splitHostPort(val.config.rtmp.address);\n\t\tconfig.source.network.rtmp.local = rtmp_host.length !== 0 ? rtmp_host : 'localhost';\n\t\tif (rtmp_port !== '1935') {\n\t\t\tconfig.source.network.rtmp.host += ':' + rtmp_port;\n\t\t\tconfig.source.network.rtmp.local += ':' + rtmp_port;\n\t\t}\n\n\t\t// Memfs\n\n\t\tconfig.memfs.auth.enable = val.config.storage.memory.auth.enable;\n\t\tconfig.memfs.auth.username = val.config.storage.memory.auth.username;\n\t\tconfig.memfs.auth.password = val.config.storage.memory.auth.password;\n\n\t\tif (config.memfs.auth.enable === true) {\n\t\t\tconfig.source.network.hls.credentials = encodeURIComponent(config.memfs.auth.username) + ':' + encodeURIComponent(config.memfs.auth.password);\n\t\t}\n\n\t\tconfig.overrides = val.overrides;\n\n\t\tthis.config = config;\n\t}\n\n\tConfigActive() {\n\t\tconst config = JSON.parse(JSON.stringify(this.config));\n\n\t\tconfig.source.network.rtmp.name = this.channel.channelid;\n\t\tconfig.source.network.hls.name = this.channel.channelid;\n\n\t\treturn config;\n\t}\n\n\tasync ConfigReload() {\n\t\tconst [, err] = await this._call(this.api.ConfigReload);\n\t\tif (err !== null) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tConfigOverrides(name) {\n\t\treturn this.config.overrides.includes(name);\n\t}\n\n\t// Get system metadata\n\tasync GetMetadata() {\n\t\tlet metadata = await this._getMetadata();\n\n\t\treturn M.initMetadata(metadata);\n\t}\n\n\t// Set system metadata\n\tasync SetMetadata(metadata) {\n\t\treturn await this._setMetadata(metadata);\n\t}\n\n\t// Get the system log\n\tasync Log() {\n\t\tconst [val, err] = await this._call(this.api.Log);\n\t\tif (err !== null) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn val;\n\t}\n\n\t// Get system resources\n\tasync Resources() {\n\t\treturn await this._getResources();\n\t}\n\n\t// Get all HTTP addresses\n\tGetHTTPAddresses() {\n\t\tconst config = this.ConfigActive();\n\t\tconst address = (config.http.secure === true ? 'https://' : 'http://') + config.http.host;\n\n\t\treturn [address];\n\t}\n\n\t// Channels\n\n\tasync _discoverChannels() {\n\t\tconst channels = new Map();\n\n\t\tconst reIngest = new RegExp('^restreamer-ui:ingest:([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$');\n\t\tconst reEgress = new RegExp('^restreamer-ui:egress:([0-9a-z]+):([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$');\n\n\t\tconst processes = await this._listProcesses(['metadata']);\n\t\tconst egresses = new Map();\n\n\t\tlet hasImported = false;\n\n\t\tfor (let p of processes) {\n\t\t\tlet matches = reIngest.exec(p.id);\n\n\t\t\tif (matches === null) {\n\t\t\t\tmatches = reEgress.exec(p.id);\n\t\t\t\tif (matches === null) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tp.metadata = M.initEgressMetadata(p.metadata);\n\n\t\t\t\tconst service = matches[1];\n\t\t\t\tconst index = matches[2];\n\t\t\t\tconst channelid = p.reference;\n\n\t\t\t\tlet egressList = [];\n\n\t\t\t\tif (egresses.has(channelid)) {\n\t\t\t\t\tegressList = egresses.get(channelid);\n\t\t\t\t}\n\n\t\t\t\tegressList.push({\n\t\t\t\t\tid: p.id,\n\t\t\t\t\tservice: service,\n\t\t\t\t\tindex: index,\n\t\t\t\t\tchannelid: p.reference,\n\t\t\t\t\tname: p.metadata.name,\n\t\t\t\t});\n\n\t\t\t\tegresses.set(channelid, egressList);\n\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tp.metadata = M.initIngestMetadata(p.metadata);\n\n\t\t\tconst channelid = matches[1];\n\t\t\tif (channelid !== p.reference) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (!channels.has(channelid)) {\n\t\t\t\tchannels.set(channelid, {\n\t\t\t\t\tid: p.id,\n\t\t\t\t\tchannelid: channelid,\n\t\t\t\t\tname: p.metadata.meta.name,\n\t\t\t\t\tegresses: new Map(),\n\t\t\t\t\tavailable: true,\n\t\t\t\t});\n\n\t\t\t\tif (p.metadata.imported && p.metadata.imported === true) {\n\t\t\t\t\thasImported = true;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// a channel ID shouldn't exist more than once\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\tfor (let [channelid, channel] of channels) {\n\t\t\tif (!egresses.has(channelid)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tconst egressList = egresses.get(channelid);\n\t\t\tfor (let egress of egressList) {\n\t\t\t\tchannel.egresses.set(egress.id, egress);\n\t\t\t}\n\n\t\t\tchannels.set(channelid, channel);\n\t\t}\n\n\t\tthis.channels = channels;\n\n\t\tif (this.channels.size === 0) {\n\t\t\tthis.CreateChannel('Livestream');\n\t\t}\n\n\t\tlet channelid = Storage.Get(this.ID() + ':channel');\n\t\tif (!this.channels.has(channelid)) {\n\t\t\tchannelid = null;\n\t\t}\n\n\t\tif (channelid === null) {\n\t\t\t// Set the first detected channel as default selected channel\n\t\t\tfor (let [id] of this.channels) {\n\t\t\t\tchannelid = id;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tthis.SelectChannel(channelid);\n\n\t\tif (hasImported === true) {\n\t\t\tawait this.UpdatePlayer(channelid);\n\n\t\t\tconst metadata = await this.GetIngestMetadata(channelid);\n\t\t\tdelete metadata.imported;\n\t\t\tawait this.SetIngestMetadata(channelid, metadata);\n\t\t}\n\t}\n\n\tCreateChannel(name) {\n\t\tconst channelid = uuidv4();\n\t\tthis.channels.set(channelid, {\n\t\t\tid: `restreamer-ui:ingest:${channelid}`,\n\t\t\tchannelid: channelid,\n\t\t\tname: name,\n\t\t\tegresses: new Map(),\n\t\t\tavailable: false,\n\t\t});\n\n\t\treturn channelid;\n\t}\n\n\tasync DeleteChannel(channelid) {\n\t\tconst channel = this.GetChannel(channelid);\n\t\tif (channel === null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tawait this.StopAllEgresses(channel.channelid);\n\t\tawait this.DeleteIngest(channel.channelid);\n\t\tawait this.DeleteIngestSnapshot(channel.channelid);\n\n\t\tfor (let egressid of channel.egresses) {\n\t\t\tawait this.DeleteEgress(channel.channelid, egressid);\n\t\t}\n\n\t\tthis.channels.delete(channel.channelid);\n\n\t\tif (this.channels.size === 0) {\n\t\t\tthis.CreateChannel();\n\t\t}\n\n\t\t// select one of the remaining channels\n\t\tfor (let [channelid] of this.channels) {\n\t\t\tthis.SelectChannel(channelid);\n\t\t\tbreak;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tSelectChannel(channelid) {\n\t\tif (!this.channels.has(channelid)) {\n\t\t\treturn '';\n\t\t}\n\n\t\tStorage.Set(this.ID() + ':channel', channelid);\n\n\t\tthis.channel = this.channels.get(channelid);\n\n\t\treturn channelid;\n\t}\n\n\tListChannels() {\n\t\tconst channels = [];\n\n\t\tfor (let channel of this.channels.values()) {\n\t\t\tchannels.push({\n\t\t\t\tid: channel.id,\n\t\t\t\tchannelid: channel.channelid,\n\t\t\t\tname: channel.name,\n\t\t\t\tavailable: channel.available,\n\t\t\t\tthumbnail: this.Address() + '/' + this.GetChannelPosterUrl(channel.channelid),\n\t\t\t\tegresses: Array.from(channel.egresses.keys()),\n\t\t\t});\n\t\t}\n\n\t\treturn channels;\n\t}\n\n\tGetChannel(channelid) {\n\t\tconst channel = this.channels.get(channelid);\n\t\tif (!channel) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn {\n\t\t\tid: channel.id,\n\t\t\tchannelid: channel.channelid,\n\t\t\tname: channel.name,\n\t\t\tavailable: channel.available,\n\t\t\tthumbnail: this.Address() + '/' + this.GetChannelPosterUrl(channel.channelid),\n\t\t\tegresses: Array.from(channel.egresses.keys()),\n\t\t};\n\t}\n\n\tSetChannel(channelid, channel) {\n\t\tlet c = this.channels.get(channelid);\n\t\tif (c === null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tthis.channels.set(channelid, {\n\t\t\t...c,\n\t\t\t...channel,\n\t\t\tegresses: c.egresses,\n\t\t});\n\n\t\treturn true;\n\t}\n\n\tGetChannelEgress(channelid, id) {\n\t\tlet channel = this.channels.get(channelid);\n\t\tif (channel === null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst egress = channel.egresses.get(id);\n\t\tif (egress === null) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn {\n\t\t\tid: egress.id,\n\t\t\tservice: egress.service,\n\t\t\tindex: egress.index,\n\t\t\tchannelid: egress.channelid,\n\t\t\tname: egress.name,\n\t\t};\n\t}\n\n\tSetChannelEgress(channelid, id, data) {\n\t\tlet channel = this.channels.get(channelid);\n\t\tif (channel === null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tchannel.egresses.set(id, data);\n\t}\n\n\tDeleteChannelEgress(channelid, id) {\n\t\tlet channel = this.channels.get(channelid);\n\t\tif (channel === null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tchannel.egresses.delete(id);\n\t}\n\n\tGetCurrentChannelID() {\n\t\tif (this.channel === null) {\n\t\t\treturn '';\n\t\t}\n\n\t\treturn this.channel.channelid;\n\t}\n\n\t// Get the URL for the stream\n\tGetChannelManifestUrl(channelid) {\n\t\treturn `memfs/${channelid}.m3u8`;\n\t}\n\n\t// Get the URL for the poster image\n\tGetChannelPosterUrl(channelid) {\n\t\treturn `memfs/${channelid}.jpg`;\n\t}\n\n\t// Sessions\n\n\tasync CurrentSessions() {\n\t\tconst sessions = {\n\t\t\tsessions: 0,\n\t\t\tbitrate_kbit: 0,\n\t\t};\n\n\t\tconst [val, err] = await this._call(this.api.ActiveSessions, ['ffmpeg', 'hls', 'rtmp']);\n\t\tif (err !== null) {\n\t\t\treturn sessions;\n\t\t}\n\n\t\t// HLS sessions\n\n\t\tif (!val.hls) {\n\t\t\tval.hls = [];\n\t\t}\n\n\t\tfor (let i = 0; i < val.hls.length; i++) {\n\t\t\tif (val.hls[i].reference !== this.channel.channelid) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tsessions.sessions++;\n\t\t\tsessions.bitrate_kbit += val.hls[i].bandwidth_tx_kbit;\n\t\t}\n\n\t\t// ffmpeg sessions\n\n\t\tif (!val.ffmpeg) {\n\t\t\tval.ffmpeg = [];\n\t\t}\n\n\t\tfor (let i = 0; i < val.ffmpeg.length; i++) {\n\t\t\tif (val.ffmpeg[i].reference !== this.channel.channelid) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tsessions.bitrate_kbit += val.ffmpeg[i].bandwidth_tx_kbit;\n\t\t}\n\n\t\t// RTMP sessions\n\n\t\tif (!val.rtmp) {\n\t\t\tval.rtmp = [];\n\t\t}\n\n\t\tfor (let i = 0; i < val.rtmp.length; i++) {\n\t\t\tif (val.rtmp[i].reference !== this.channel.channelid) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tsessions.sessions++;\n\t\t\tsessions.bitrate_kbit += val.rtmp[i].bandwidth_tx_kbit;\n\t\t}\n\n\t\treturn sessions;\n\t}\n\n\t// Ingest\n\n\t// Check whether there's an ingest defined or not\n\tHasIngest() {\n\t\tif (!this.channel) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn this.channel.available;\n\t}\n\n\t// Get process information for ingest\n\tasync GetIngest(channelid, filter = []) {\n\t\tconst channel = this.GetChannel(channelid);\n\t\tif (channel === null) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn await this._getProcess(channel.id, filter);\n\t}\n\n\t// Get the ingest metadata\n\tasync GetIngestMetadata(channelid) {\n\t\tconst channel = this.GetChannel(channelid);\n\t\tif (channel === null) {\n\t\t\treturn M.initIngestMetadata({});\n\t\t}\n\n\t\tlet metadata = await this._getProcessMetadata(channel.id);\n\n\t\tmetadata = M.initIngestMetadata(metadata);\n\t\tif (metadata.meta.name.length === 0) {\n\t\t\tmetadata.meta.name = this.channel.name;\n\t\t}\n\n\t\treturn metadata;\n\t}\n\n\t// Set the ingest metadata\n\tasync SetIngestMetadata(channelid, metadata) {\n\t\tconst channel = this.GetChannel(channelid);\n\t\tif (channel === null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tthis.SetChannel(channelid, {\n\t\t\tname: metadata.meta.name ? metadata.meta.name : channel.name,\n\t\t});\n\n\t\treturn await this._setProcessMetadata(channel.id, metadata);\n\t}\n\n\t// Get the ingest progress\n\tasync GetIngestProgress(channelid) {\n\t\tconst channel = this.GetChannel(channelid);\n\t\tif (channel === null) {\n\t\t\treturn this._getProgressFromState(null);\n\t\t}\n\n\t\tconst state = await this._getProcessState(channel.id);\n\n\t\treturn this._getProgressFromState(state);\n\t}\n\n\t// Get the ingest log\n\tasync GetIngestLog(channelid) {\n\t\tconst channel = this.GetChannel(channelid);\n\t\tif (channel === null) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn await this._getProcessLog(channel.id);\n\t}\n\n\t// Get the ingest debug log\n\tasync GetIngestDebug(channelid) {\n\t\tconst channel = this.GetChannel(channelid);\n\t\tif (channel === null) {\n\t\t\treturn {};\n\t\t}\n\n\t\treturn await this.GetDebug(channel.id);\n\t}\n\n\tGetIngestAddresses(channelid) {\n\t\tconst channel = this.GetChannel(channelid);\n\t\tif (channel === null) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst addresses = this.GetHTTPAddresses();\n\n\t\treturn addresses.map((address) => {\n\t\t\treturn `${address}/${channel.channelid}.html`;\n\t\t});\n\t}\n\n\t// Get the iframe codes for the player\n\tGetIngestIframeCodes(channelid) {\n\t\tconst channel = this.GetChannel(channelid);\n\t\tif (channel === null) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst addresses = this.GetHTTPAddresses();\n\n\t\tconst codes = [];\n\n\t\tfor (let address of addresses) {\n\t\t\tcodes.push(\n\t\t\t\t``\n\t\t\t);\n\t\t}\n\n\t\treturn codes;\n\t}\n\n\t// Get the URL for the HLS manifest\n\tGetIngestManifestUrl(channelid) {\n\t\treturn this.GetChannelManifestUrl(channelid);\n\t}\n\n\t// Get the URL for poster image\n\tGetIngestPosterUrl(channelid) {\n\t\treturn this.GetChannelPosterUrl(channelid);\n\t}\n\n\t// Get the URL for poster image\n\tGetIngestPosterUrlAddresses(channelid) {\n\t\tconst poster = this.GetChannelPosterUrl(channelid);\n\t\tconst addresses = this.GetHTTPAddresses();\n\n\t\treturn addresses.map((address) => {\n\t\t\treturn `${address}/${poster}`;\n\t\t});\n\t}\n\n\t// Start the ingest process\n\tasync StartIngest(channelid) {\n\t\tconst channel = this.GetChannel(channelid);\n\t\tif (channel === null) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn await this._startProcess(channel.id);\n\t}\n\n\t// Start the ingest snapshot process\n\tasync StartIngestSnapshot(channelid) {\n\t\tconst channel = this.GetChannel(channelid);\n\t\tif (channel === null) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn await this._startProcess(channel.id + '_snapshot');\n\t}\n\n\t// Stop the ingest process\n\tasync StopIngest(channelid) {\n\t\tconst channel = this.GetChannel(channelid);\n\t\tif (channel === null) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn await this._stopProcess(channel.id);\n\t}\n\n\t// Stop the ingest snapshot process\n\tasync StopIngestSnapshot(channelid) {\n\t\tconst channel = this.GetChannel(channelid);\n\t\tif (channel === null) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn await this._stopProcess(channel.id + '_snapshot');\n\t}\n\n\t// Delete the ingest process\n\tasync DeleteIngest(channelid) {\n\t\tconst channel = this.GetChannel(channelid);\n\t\tif (channel === null) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn await this._deleteProcess(channel.id);\n\t}\n\n\t// Delete the ingest snaphot process\n\tasync DeleteIngestSnapshot(channelid) {\n\t\tconst channel = this.GetChannel(channelid);\n\t\tif (channel === null) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn await this._deleteProcess(channel.id + '_snapshot');\n\t}\n\n\t// Upsert the ingest process\n\tasync UpsertIngest(channelid, inputs, outputs, control) {\n\t\tconst channel = this.GetChannel(channelid);\n\t\tif (channel === null) {\n\t\t\treturn [null, { message: 'Unknown channel ID' }];\n\t\t}\n\n\t\tconst proc = {\n\t\t\ttype: 'ffmpeg',\n\t\t\tid: channel.id,\n\t\t\treference: channel.channelid,\n\t\t\tinput: [],\n\t\t\toutput: [],\n\t\t\toptions: ['-err_detect', 'ignore_err'],\n\t\t\tautostart: control.process.autostart,\n\t\t\treconnect: control.process.reconnect,\n\t\t\treconnect_delay_seconds: parseInt(control.process.delay),\n\t\t\tstale_timeout_seconds: parseInt(control.process.staleTimeout),\n\t\t};\n\n\t\tfor (let i in inputs) {\n\t\t\tconst input = inputs[i];\n\n\t\t\tproc.input.push({\n\t\t\t\tid: 'input_' + i,\n\t\t\t\taddress: input.address,\n\t\t\t\toptions: input.options.map((o) => '' + o),\n\t\t\t});\n\t\t}\n\n\t\tconst output = {\n\t\t\tid: 'output_0',\n\t\t\taddress: `{memfs}/${channel.channelid}.m3u8`,\n\t\t\toptions: ['-dn', '-sn', ...outputs[0].options.map((o) => '' + o)],\n\t\t\tcleanup: [\n\t\t\t\t{\n\t\t\t\t\tpattern: `memfs:/${channel.channelid}_*.ts`,\n\t\t\t\t\tmax_files: parseInt(control.hls.listSize) + 2,\n\t\t\t\t\tmax_file_age_seconds: control.hls.cleanup ? parseInt(control.hls.segmentDuration) * (parseInt(control.hls.listSize) + 2) : 0,\n\t\t\t\t\tpurge_on_delete: true,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tpattern: `memfs:/${channel.channelid}.m3u8`,\n\t\t\t\t\tmax_file_age_seconds: control.hls.cleanup ? parseInt(control.hls.segmentDuration) * (parseInt(control.hls.listSize) + 2) : 0,\n\t\t\t\t\tpurge_on_delete: true,\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\n\t\tconst metadata = this.GetHTTPAddresses()[0] + '/' + channel.channelid + '/oembed.json';\n\n\t\tconst metadata_options = ['-metadata', `title=${metadata}`, '-metadata', 'service_provider=datarhei-Restreamer'];\n\n\t\toutput.options.push(...metadata_options);\n\n\t\tif (control.hls.lhls === false) {\n\t\t\t// ordinary HLS\n\t\t\toutput.options.push(\n\t\t\t\t'-f',\n\t\t\t\t'hls',\n\t\t\t\t'-start_number',\n\t\t\t\t'0',\n\t\t\t\t'-hls_time',\n\t\t\t\t'' + parseInt(control.hls.segmentDuration),\n\t\t\t\t'-hls_list_size',\n\t\t\t\t'' + parseInt(control.hls.listSize),\n\t\t\t\t'-hls_flags',\n\t\t\t\t'append_list+delete_segments',\n\t\t\t\t'-hls_segment_filename',\n\t\t\t\t`{memfs}/${channel.channelid}_%04d.ts`,\n\t\t\t\t'-y',\n\t\t\t\t'-method',\n\t\t\t\t'PUT'\n\t\t\t);\n\t\t} else {\n\t\t\t// Low Latency HLS\n\t\t\toutput.address = `{memfs}/${channel.channelid}.mpd`;\n\t\t\toutput.options.push(\n\t\t\t\t'-f',\n\t\t\t\t'dash',\n\t\t\t\t'-strict',\n\t\t\t\t'experimental',\n\t\t\t\t'-hls_playlist',\n\t\t\t\t'1',\n\t\t\t\t'-init_seg_name',\n\t\t\t\t`init-${channel.channelid}.$ext$`,\n\t\t\t\t'-media_seg_name',\n\t\t\t\t`chunk-${channel.channelid}-$Number%05d$.$ext$`,\n\t\t\t\t'-master_m3u8_publish_rate',\n\t\t\t\t'1',\n\t\t\t\t'-adaptation_sets',\n\t\t\t\t'id=0,streams=v id=1,streams=a',\n\t\t\t\t'-lhls',\n\t\t\t\t'1',\n\t\t\t\t'-streaming',\n\t\t\t\t'1',\n\t\t\t\t'-seg_duration',\n\t\t\t\t'' + parseInt(control.hls.segmentDuration),\n\t\t\t\t'-frag_duration',\n\t\t\t\t'0.5',\n\t\t\t\t'-use_template',\n\t\t\t\t'1',\n\t\t\t\t'-remove_at_exit',\n\t\t\t\t'0',\n\t\t\t\t'-window_size',\n\t\t\t\t'' + parseInt(control.hls.listSize),\n\t\t\t\t'-http_persistent',\n\t\t\t\t'0',\n\t\t\t\t'-y',\n\t\t\t\t'-method',\n\t\t\t\t'PUT'\n\t\t\t);\n\t\t}\n\n\t\tproc.output.push(output);\n\n\t\tconst snapshot = {\n\t\t\ttype: 'ffmpeg',\n\t\t\tid: channel.id + '_snapshot',\n\t\t\treference: channel.channelid,\n\t\t\tinput: [\n\t\t\t\t{\n\t\t\t\t\tid: 'input_0',\n\t\t\t\t\taddress: `#${channel.id}:output=output_0`,\n\t\t\t\t\toptions: [],\n\t\t\t\t},\n\t\t\t],\n\t\t\toutput: [\n\t\t\t\t{\n\t\t\t\t\tid: 'output_0',\n\t\t\t\t\taddress: `{memfs}/${channel.channelid}.jpg`,\n\t\t\t\t\toptions: ['-vframes', '1', '-f', 'image2', '-update', '1'],\n\t\t\t\t\tcleanup: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpattern: `memfs:/${channel.channelid}.jpg`,\n\t\t\t\t\t\t\tpurge_on_delete: true,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t],\n\t\t\toptions: ['-err_detect', 'ignore_err'],\n\t\t\tautostart: control.process.autostart,\n\t\t\treconnect: true,\n\t\t\treconnect_delay_seconds: parseInt(control.snapshot.interval),\n\t\t\tstale_timeout_seconds: 30,\n\t\t};\n\n\t\tlet [val, err] = await this._upsertProcess(channel.id, proc);\n\t\tif (err !== null) {\n\t\t\treturn [val, err];\n\t\t}\n\n\t\t[val, err] = await this._upsertProcess(channel.id + '_snapshot', snapshot);\n\t\tif (err !== null) {\n\t\t\treturn [val, err];\n\t\t}\n\n\t\tthis.SetChannel(channelid, {\n\t\t\t...channel,\n\t\t\tavailable: true,\n\t\t});\n\n\t\treturn [val, null];\n\t}\n\n\t// Check whether the manifest of the ingest process is available\n\tasync HasIngestFiles(channelid) {\n\t\tconst channel = this.GetChannel(channelid);\n\t\tif (channel === null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst [, err] = await this._call(this.api.MemFSHasFile, `/${channel.channelid}.m3u8`);\n\t\tif (err !== null) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\t// Probe an external stream\n\tasync Probe(channelid, inputs) {\n\t\tconst channel = this.GetChannel(channelid);\n\t\tif (channel === null) {\n\t\t\treturn [null, { message: 'Unknown channel ID' }];\n\t\t}\n\n\t\tconst id = `${channel.id}_probe`;\n\n\t\tconst config = {\n\t\t\ttype: 'ffmpeg',\n\t\t\tid: id,\n\t\t\treference: channel.channelid,\n\t\t\tinput: [],\n\t\t\toutput: [\n\t\t\t\t{\n\t\t\t\t\tid: 'output_0',\n\t\t\t\t\taddress: '-',\n\t\t\t\t\toptions: ['-dn', '-sn', '-codec', 'copy', '-f', 'null'],\n\t\t\t\t},\n\t\t\t],\n\t\t\toptions: [],\n\t\t\tautostart: false,\n\t\t\treconnect: false,\n\t\t};\n\n\t\tfor (let i in inputs) {\n\t\t\tconst input = inputs[i];\n\n\t\t\tconfig.input.push({\n\t\t\t\tid: 'input_' + i,\n\t\t\t\taddress: input.address,\n\t\t\t\toptions: input.options.map((o) => '' + o),\n\t\t\t});\n\t\t}\n\n\t\tawait this._deleteProcess(id);\n\n\t\tlet [val, err] = await this._call(this.api.ProcessAdd, config);\n\t\tif (err !== null) {\n\t\t\treturn [val, err];\n\t\t}\n\n\t\t[val, err] = await this._call(this.api.ProcessProbe, id);\n\t\tawait this._deleteProcess(id);\n\n\t\treturn [val, err];\n\t}\n\n\t// Probe the ingest stream\n\tasync ProbeIngest(channelid) {\n\t\tconst channel = this.GetChannel(channelid);\n\t\tif (channel === null) {\n\t\t\treturn [null, { message: 'Unknown channel ID' }];\n\t\t}\n\n\t\tconst id = `${channel.id}_probe`;\n\n\t\tconst config = {\n\t\t\ttype: 'ffmpeg',\n\t\t\tid: id,\n\t\t\treference: channel.channelid,\n\t\t\tinput: [\n\t\t\t\t{\n\t\t\t\t\tid: 'input_0',\n\t\t\t\t\taddress: `#${channel.id}:output=output_0`,\n\t\t\t\t\toptions: [],\n\t\t\t\t},\n\t\t\t],\n\t\t\toutput: [\n\t\t\t\t{\n\t\t\t\t\tid: 'output_0',\n\t\t\t\t\taddress: '-',\n\t\t\t\t\toptions: ['-dn', '-sn', '-codec', 'copy', '-f', 'null'],\n\t\t\t\t},\n\t\t\t],\n\t\t\toptions: [],\n\t\t\tautostart: false,\n\t\t\treconnect: false,\n\t\t};\n\n\t\tawait this._deleteProcess(id);\n\n\t\tlet [val, err] = await this._call(this.api.ProcessAdd, config);\n\t\tif (err !== null) {\n\t\t\treturn [val, err];\n\t\t}\n\n\t\t[val, err] = await this._call(this.api.ProcessProbe, id);\n\t\tawait this._deleteProcess(id);\n\n\t\treturn [val, err];\n\t}\n\n\t// Selfhosted Player\n\n\t// Set defaults for the settings of the selfhosted player\n\tInitPlayerSettings(initSettings) {\n\t\tconst settings = {\n\t\t\tautoplay: false,\n\t\t\tmute: false,\n\t\t\tstatistics: false,\n\t\t\tcolor: {},\n\t\t\tga: {},\n\t\t\tlogo: {},\n\t\t\t...initSettings,\n\t\t};\n\n\t\tsettings.color = {\n\t\t\tseekbar: '#ffffff',\n\t\t\tbuttons: '#ffffff',\n\t\t\t...settings.color,\n\t\t};\n\n\t\tsettings.ga = {\n\t\t\taccount: '',\n\t\t\tname: '',\n\t\t\t...settings.ga,\n\t\t};\n\n\t\tsettings.logo = {\n\t\t\timage: '',\n\t\t\tposition: 'top-left',\n\t\t\tlink: '',\n\t\t\t...settings.logo,\n\t\t};\n\n\t\treturn settings;\n\t}\n\n\t// Update the player the selfthosted player\n\tasync UpdatePlayer(channelid) {\n\t\tconst channel = this.GetChannel(channelid);\n\t\tif (channel === null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet metadata = await this.GetIngestMetadata(channelid);\n\n\t\t// update the player files\n\t\tconst playerType = 'videojs';\n\t\tif ((await this._updatePlayerEssentials(playerType)) === false) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst templateData = {\n\t\t\tchannelid: channelid,\n\t\t\tname: metadata.meta.name,\n\t\t\tdescription: metadata.meta.description,\n\t\t\tauthor_name: metadata.meta.author.name,\n\t\t\tauthor_url: this.GetIngestAddresses(channelid)[0],\n\t\t\tlicense: metadata.license,\n\t\t\tiframecode: this.GetIngestIframeCodes(channelid)[0],\n\t\t\tposter: this.GetIngestPosterUrl(channelid),\n\t\t\tposter_url: this.GetIngestPosterUrlAddresses(channelid)[0],\n\t\t\twidth: 640,\n\t\t\theight: 360,\n\t\t};\n\n\t\t// upload player.html\n\t\tlet player = await this._getLocalAssetAsString(`/_player/${playerType}/player.html`);\n\t\tplayer = Handlebars.compile(player)(templateData);\n\t\tawait this._uploadAssetData(`/${channelid}.html`, player);\n\n\t\t// upload oembed.json\n\t\tlet embed = await this._getLocalAssetAsString('/_player/oembed.json.in');\n\t\tembed = Handlebars.compile(embed)({\n\t\t\t...templateData,\n\t\t\tname: JSON.stringify(templateData.name),\n\t\t\tdescription: JSON.stringify(templateData.description),\n\t\t\tauthor_name: JSON.stringify(templateData.author_name),\n\t\t\tauthor_url: JSON.stringify(templateData.author_url),\n\t\t\tlicense: JSON.stringify(templateData.license),\n\t\t\tiframecode: JSON.stringify(templateData.iframecode),\n\t\t\tposter: JSON.stringify(templateData.poster),\n\t\t\tposter_url: JSON.stringify(templateData.poster_url),\n\t\t});\n\t\tawait this._uploadAssetData(`/channels/${channelid}/oembed.json`, embed);\n\n\t\t// upload oembed.xml\n\t\tembed = await this._getLocalAssetAsString('/_player/oembed.xml.in');\n\t\tembed = Handlebars.compile(embed)(templateData);\n\t\tawait this._uploadAssetData(`/channels/${channelid}/oembed.xml`, embed);\n\n\t\tawait this.UpdatePlayerConfig(channelid, metadata);\n\n\t\treturn true;\n\t}\n\n\tasync UpdatePlayerConfig(channelid, metadata) {\n\t\tif (!('player' in metadata)) {\n\t\t\tmetadata.player = {};\n\t\t}\n\n\t\tmetadata.player = this.InitPlayerSettings(metadata.player);\n\n\t\tconst playerConfig = {\n\t\t\t...metadata.player,\n\t\t\tsource: this.GetIngestManifestUrl(channelid),\n\t\t\tposter: this.GetIngestPosterUrl(channelid),\n\t\t\tlicense: {\n\t\t\t\tlicense: metadata.license,\n\t\t\t\ttitle: metadata.meta.name,\n\t\t\t\tauthor: metadata.meta.author.name,\n\t\t\t},\n\t\t};\n\n\t\tawait this._uploadAssetData(`/channels/${channelid}/config.js`, 'var playerConfig = ' + JSON.stringify(playerConfig));\n\t}\n\n\t// Upload a logo for the selfhosted player\n\tasync UploadLogo(channelid, data, extension) {\n\t\tconst channel = this.GetChannel(channelid);\n\t\tif (channel === null) {\n\t\t\treturn;\n\t\t}\n\n\t\t// sanitize extension\n\t\textension = extension.replace(/[^0-9a-z]/gi, '');\n\n\t\tconst path = `/channels/${channel.channelid}/logo.${extension}`;\n\n\t\tawait this._uploadAssetData(path, data);\n\n\t\treturn path;\n\t}\n\n\t// Playersite\n\n\t// Set defaults for the settings of the playersite\n\tInitPlayersiteSettings(initSettings) {\n\t\tif (!initSettings) {\n\t\t\tinitSettings = {};\n\t\t}\n\n\t\tconst settings = {\n\t\t\tplayer: 'videojs',\n\t\t\tplayersite: true,\n\t\t\tchannelid: 'current',\n\t\t\ttitle: 'restreamer',\n\t\t\tshare: true,\n\t\t\tsupport: true,\n\t\t\ttemplate: '!default',\n\t\t\ttemplatename: '',\n\t\t\ttextcolor_title: 'rgba(255,255,255,1)',\n\t\t\ttextcolor_default: 'rgba(230,230,230,1)',\n\t\t\ttextcolor_link: 'rgba(230,230,230,1)',\n\t\t\ttextcolor_link_hover: 'rgba(255,255,255,1)',\n\t\t\tbgcolor_default: 'rgba(56,56,56,1)',\n\t\t\tbgcolor_selected: 'rgba(0,0,0,.15)',\n\t\t\tbgcolor_unselected: 'rgba(255,255,255,.05)',\n\t\t\tbgcolor_header: 'rgba(44,44,44,1)',\n\t\t\thrcolor: 'rgba(102,102,102,1)',\n\t\t\tbgimage_url: '',\n\t\t\tinject1: '',\n\t\t\tinject2: '',\n\t\t\tinject3: '',\n\t\t\tinject4: '',\n\t\t\timprint: '',\n\t\t\tterms: '',\n\n\t\t\t...initSettings,\n\t\t};\n\n\t\treturn settings;\n\t}\n\n\t// Get the URL for the playersite\n\tGetPlayersiteUrl() {\n\t\treturn `index.html`;\n\t}\n\n\t// Is a playersite already available\n\tasync HasPlayersite() {\n\t\treturn await this._hasAsset('/index.html');\n\t}\n\n\t// Update the playersite\n\tasync UpdatePlayersite() {\n\t\tlet metadata = await this.GetMetadata();\n\n\t\tconst settings = this.InitPlayersiteSettings(metadata.playersite);\n\t\tsettings.player = 'videojs';\n\n\t\tif (settings.playersite === false) {\n\t\t\tawait this._removePlayersiteEssentials();\n\t\t\treturn true;\n\t\t}\n\n\t\t// update the player files\n\t\tawait this._updatePlayerEssentials(settings.player);\n\n\t\t// update the playersite files\n\t\tawait this._updatePlayersiteEssentials();\n\n\t\t// use preferred channel\n\t\tlet channel = this.GetChannel(settings.channelid);\n\t\tif (channel === null) {\n\t\t\tchannel = this.GetChannel(this.GetCurrentChannelID());\n\t\t}\n\n\t\tconst channels = this.ListChannels();\n\n\t\t// Handlebars function ifEquals\n\t\tHandlebars.registerHelper('ifEquals', function (arg1, arg2, options) {\n\t\t\treturn arg1 === arg2 ? options.fn(this) : options.inverse(this);\n\t\t});\n\n\t\tHandlebars.registerHelper('ifnoteq', function (arg1, arg2, options) {\n\t\t\tif (arg1 !== arg2) {\n\t\t\t\treturn options.fn(this);\n\t\t\t}\n\t\t\treturn options.inverse(this);\n\t\t});\n\n\t\tfor (const item of channels) {\n\t\t\tconst ingestMetadata = await this.GetIngestMetadata(item.channelid);\n\t\t\tconst templateData = {\n\t\t\t\tplayer: settings.player,\n\t\t\t\tplayersite: settings.playersite,\n\t\t\t\ttitle: settings.title,\n\t\t\t\tshare: settings.share,\n\t\t\t\tsupport: settings.support,\n\t\t\t\turl: this.GetPlayersiteUrl(),\n\t\t\t\ttextcolor_title: settings.textcolor_title,\n\t\t\t\ttextcolor_default: settings.textcolor_default,\n\t\t\t\ttextcolor_link: settings.textcolor_link,\n\t\t\t\ttextcolor_link_hover: settings.textcolor_link_hover,\n\t\t\t\tbgcolor_header: settings.bgcolor_header,\n\t\t\t\tbgcolor_selected: settings.bgcolor_selected,\n\t\t\t\tbgcolor_unselected: settings.bgcolor_unselected,\n\t\t\t\thrcolor: settings.hrcolor,\n\t\t\t\tbgcolor_default: settings.bgcolor_default,\n\t\t\t\tbgimage_url: settings.bgimage_url,\n\t\t\t\timprint_html: settings.imprint.replace(/(?:\\r\\n|\\r|\\n)/g, '
'),\n\t\t\t\tterms_html: settings.terms.replace(/(?:\\r\\n|\\r|\\n)/g, '
'),\n\t\t\t\tinject1: settings.inject1,\n\t\t\t\tinject2: settings.inject2,\n\t\t\t\tinject3: settings.inject3,\n\t\t\t\tinject4: settings.inject4,\n\t\t\t\tchannels: channels,\n\t\t\t\tchannel_id: item.channelid,\n\t\t\t\tchannel_name: ingestMetadata.meta.name,\n\t\t\t\tchannel_description: ingestMetadata.meta.description,\n\t\t\t\tchannel_description_html: ingestMetadata.meta.description.replace(/(?:\\r\\n|\\r|\\n)/g, '
'),\n\t\t\t\tchannel_creator_name: ingestMetadata.meta.author.name,\n\t\t\t\tchannel_creator_description: ingestMetadata.meta.author.description,\n\t\t\t\tchannel_creator_description_html: ingestMetadata.meta.author.description.replace(/(?:\\r\\n|\\r|\\n)/g, '
'),\n\t\t\t\tchannel_license: ingestMetadata.license,\n\t\t\t\tchannel_poster: this.GetIngestPosterUrl(item.channelid),\n\t\t\t\tchannel_width: 640,\n\t\t\t\tchannel_height: 360,\n\t\t\t};\n\n\t\t\t// upload playersite.html\n\t\t\tlet playersite = '';\n\t\t\tif (settings.template !== '!default') {\n\t\t\t\tplayersite = await this.GetPlayersiteTemplate(settings.template);\n\t\t\t\tif (playersite.length === 0) {\n\t\t\t\t\tsettings.template = '!default';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (settings.template === '!default') {\n\t\t\t\tplayersite = await this._getLocalAssetAsString('/_playersite/index.html');\n\t\t\t}\n\n\t\t\tif (item.channelid === channel.channelid) {\n\t\t\t\tplayersite = Handlebars.compile(playersite)(templateData);\n\t\t\t\tawait this._uploadAssetData('/index.html', playersite);\n\t\t\t}\n\n\t\t\tplayersite = Handlebars.compile(playersite)(templateData);\n\t\t\tawait this._uploadAssetData('/playersite_' + item.channelid + '.html', playersite);\n\n\t\t\t// Upload player config for each channel\n\t\t\tawait this.UpdatePlayerConfig(item.channelid, ingestMetadata);\n\t\t}\n\n\t\t// Upload player implementation\n\t\tawait this._uploadAssetData('/playersite/player.js', await this._getLocalAssetAsString(`/_playersite/${settings.player}.js`));\n\n\t\treturn true;\n\t}\n\n\t// Upload the background image for the playersite\n\tasync UploadPlayersiteBackgroundImage(data, extension) {\n\t\t// sanitize extension\n\t\textension = extension.replace(/[^0-9a-z]/gi, '');\n\n\t\tconst path = `/playersite/bg.${extension}`;\n\n\t\tawait this._uploadAssetData(path, data);\n\n\t\treturn path;\n\t}\n\n\t// Upload a playersite template file\n\tasync UploadPlayersiteTemplate(data, name) {\n\t\t// sanitize name\n\t\tname = name.replace(/[^0-9a-z]/gi, '');\n\n\t\tconst path = `/playersite/templates/${name}.html`;\n\n\t\tawait this._uploadAssetData(path, data);\n\n\t\treturn name;\n\t}\n\n\t// Delete a playersite template file\n\tasync DeletePlayersiteTemplate(name) {\n\t\t// sanitize name\n\t\tname = name.replace(/[^0-9a-z]/gi, '');\n\n\t\tconst path = `/playersite/templates/${name}.html`;\n\n\t\tawait this._deleteAsset(path);\n\n\t\treturn true;\n\t}\n\n\tasync GetPlayersiteTemplate(name) {\n\t\t// sanitize name\n\t\tname = name.replace(/[^0-9a-z]/gi, '');\n\n\t\tconst path = `/playersite/templates/${name}.html`;\n\n\t\tconst data = await this._getAssetAsString(path);\n\n\t\treturn data;\n\t}\n\n\tasync ListPlayersiteTemplates() {\n\t\tlet templates = await this._listAssets('/playersite/templates/*');\n\n\t\ttemplates = templates.map((t) => {\n\t\t\tconst components = t.split('/');\n\t\t\tconst name = components[components.length - 1].split('.', 1)[0];\n\t\t\treturn name;\n\t\t});\n\n\t\treturn templates;\n\t}\n\n\t// Egress\n\n\tGetEgressId(service, id) {\n\t\treturn `restreamer-ui:egress:${service}:${id}`;\n\t}\n\n\t// Get process information for egress\n\tasync GetEgress(channelid, id, filter = []) {\n\t\tconst channel = this.GetChannel(channelid);\n\t\tif (channel === null) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!channel.egresses.includes(id)) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn await this._getProcess(id, filter);\n\t}\n\n\t// Get metadata for egress\n\tasync GetEgressMetadata(channelid, id) {\n\t\tlet metadata = null;\n\n\t\tconst channel = this.GetChannel(channelid);\n\t\tif (channel === null) {\n\t\t\treturn M.initEgressMetadata(metadata);\n\t\t}\n\n\t\tif (channel.egresses.includes(id)) {\n\t\t\tmetadata = await this._getProcessMetadata(id);\n\t\t}\n\n\t\treturn M.initEgressMetadata(metadata);\n\t}\n\n\t// Set metadata for egress\n\tasync SetEgressMetadata(channelid, id, metadata) {\n\t\tconst channel = this.GetChannel(channelid);\n\t\tif (channel === null) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (!channel.egresses.includes(id)) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst egress = this.channel.egresses.get(id);\n\n\t\tegress.name = metadata.name ? metadata.name : '';\n\n\t\treturn await this._setProcessMetadata(id, metadata);\n\t}\n\n\t// Start egress process\n\tasync StartEgress(channelid, id) {\n\t\tconst channel = this.GetChannel(channelid);\n\t\tif (channel === null) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (!channel.egresses.includes(id)) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn await this._startProcess(id);\n\t}\n\n\t// Stop egress process\n\tasync StopEgress(channelid, id) {\n\t\tconst channel = this.GetChannel(channelid);\n\t\tif (channel === null) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (!channel.egresses.includes(id)) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn await this._stopProcess(id);\n\t}\n\n\t// Stop all egress processes\n\tasync StopAllEgresses(channelid) {\n\t\tconst channel = this.GetChannel(channelid);\n\t\tif (channel === null) {\n\t\t\treturn;\n\t\t}\n\n\t\tfor (let egressid of channel.egresses) {\n\t\t\tawait this._stopProcess(egressid);\n\t\t}\n\n\t\treturn;\n\t}\n\n\t// Delete egress process\n\tasync DeleteEgress(channelid, id) {\n\t\tconst channel = this.GetChannel(channelid);\n\t\tif (channel === null) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (!channel.egresses.includes(id)) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst res = await this._deleteProcess(id);\n\n\t\tif (res === true) {\n\t\t\tthis.channel.egresses.delete(id);\n\t\t}\n\n\t\treturn res;\n\t}\n\n\t// Get the egress log\n\tasync GetEgressLog(channelid, id) {\n\t\tconst channel = this.GetChannel(channelid);\n\t\tif (channel === null) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (!channel.egresses.includes(id)) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn await this._getProcessLog(id);\n\t}\n\n\t// Get the egress debug log\n\tasync GetEgressDebug(channelid, id) {\n\t\tconst channel = this.GetChannel(channelid);\n\t\tif (channel === null) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (!channel.egresses.includes(id)) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn await this.GetDebug(id);\n\t}\n\n\t// Update an egress process\n\tasync UpdateEgress(channelid, id, inputs, outputs, control) {\n\t\tconst channel = this.GetChannel(channelid);\n\t\tif (channel === null) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (!channel.egresses.includes(id)) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst egress = this.GetChannelEgress(channelid, id);\n\n\t\tif (!Array.isArray(outputs)) {\n\t\t\toutputs = [outputs];\n\t\t}\n\n\t\t// from the inputs only the first is used and only\n\t\t// its options are considered.\n\n\t\tconst config = {\n\t\t\ttype: 'ffmpeg',\n\t\t\tid: egress.id,\n\t\t\treference: egress.channelid,\n\t\t\tinput: [\n\t\t\t\t{\n\t\t\t\t\tid: 'input_0',\n\t\t\t\t\taddress: `#${channel.id}:output=output_0`,\n\t\t\t\t\toptions: ['-re', ...inputs[0].options],\n\t\t\t\t},\n\t\t\t],\n\t\t\toutput: [],\n\t\t\toptions: ['-err_detect', 'ignore_err'],\n\t\t\tautostart: control.process.autostart,\n\t\t\treconnect: control.process.reconnect,\n\t\t\treconnect_delay_seconds: parseInt(control.process.delay),\n\t\t\tstale_timeout_seconds: parseInt(control.process.staleTimeout),\n\t\t};\n\n\t\tfor (let i in outputs) {\n\t\t\tconst output = outputs[i];\n\n\t\t\tif (!Array.isArray(output.options)) {\n\t\t\t\toutput.options = [];\n\t\t\t}\n\n\t\t\tconfig.output.push({\n\t\t\t\tid: 'output_' + i,\n\t\t\t\taddress: output.address,\n\t\t\t\toptions: output.options.map((o) => '' + o),\n\t\t\t});\n\t\t}\n\n\t\tlet [val, err] = await this._upsertProcess(egress.id, config);\n\t\treturn [val, err];\n\t}\n\n\t// Create an egress process\n\tasync CreateEgress(channelid, service, inputs, outputs, control) {\n\t\tconst channel = this.GetChannel(channelid);\n\t\tif (channel === null) {\n\t\t\treturn ['', { message: 'Unknown channel ID' }];\n\t\t}\n\n\t\tconst index = uuidv4();\n\t\tconst egress = {\n\t\t\tid: `restreamer-ui:egress:${service}:${index}`,\n\t\t\tindex: index,\n\t\t\tservice: service,\n\t\t\tchannelid: channel.channelid,\n\t\t\tname: '',\n\t\t};\n\n\t\tthis.SetChannelEgress(channelid, egress.id, egress);\n\n\t\tconst [, err] = await this.UpdateEgress(channelid, egress.id, inputs, outputs, control);\n\t\tif (err !== null) {\n\t\t\tthis.DeleteChannelEgress(channelid, egress.id);\n\t\t}\n\n\t\treturn [egress.id, err];\n\t}\n\n\t// Ingest + Egresses\n\n\tasync ListIngestEgresses(channelid, services = []) {\n\t\tconst channel = this.GetChannel(channelid);\n\t\tif (channel === null) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst re = new RegExp('^restreamer-ui:egress:');\n\n\t\tlet list = await this._listProcesses(['state'], channel.channelid);\n\n\t\tlist = list.filter((p) => {\n\t\t\tif (p.id === channel.id) {\n\t\t\t\tp.index = '';\n\t\t\t\tp.service = 'player';\n\t\t\t\tp.name = channel.name;\n\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tconst matches = re.exec(p.id);\n\t\t\tif (matches !== null) {\n\t\t\t\tconst egress = this.GetChannelEgress(channelid, p.id);\n\t\t\t\tif (!egress) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tp.service = egress.service;\n\t\t\t\tp.index = egress.index;\n\t\t\t\tp.name = egress.name;\n\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t});\n\n\t\tlist.sort((a, b) => {\n\t\t\tif (a.service === 'player') {\n\t\t\t\treturn -1;\n\t\t\t} else if (b.service === 'player') {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\tlet astring = a.name;\n\t\t\tlet bstring = b.name;\n\n\t\t\tif (a.name === b.name) {\n\t\t\t\tastring = a.index;\n\t\t\t\tbstring = b.index;\n\t\t\t}\n\n\t\t\tastring = astring.toUpperCase();\n\t\t\tbstring = bstring.toUpperCase();\n\n\t\t\tif (astring < bstring) {\n\t\t\t\treturn -1;\n\t\t\t}\n\n\t\t\tif (astring > bstring) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\treturn 0;\n\t\t});\n\n\t\treturn list;\n\t}\n\n\tasync ListProcesses(filter = [], ids = []) {\n\t\treturn await this._listProcesses(filter, '', ids);\n\t}\n\n\tasync GetDebug(processid) {\n\t\tconst about = await this._getAboutDebug();\n\t\tconst skills = await this.Skills();\n\t\tconst config = await this._getConfigDebug();\n\t\tconst proc = await this._getProcessDebug(processid);\n\n\t\tconst data = {\n\t\t\tabout: about,\n\t\t\tffmpeg: skills.ffmpeg,\n\t\t\tconfig: config,\n\t\t\tprocess: proc,\n\t\t};\n\n\t\treturn data;\n\t}\n\n\t// Expert Mode\n\n\tIsExpert() {\n\t\treturn Storage.Get('expert') === 'true';\n\t}\n\n\tSetExpert(value) {\n\t\tStorage.Set('expert', !!value);\n\t}\n\n\t// Check for Updates\n\n\tCheckForUpdates() {\n\t\treturn Storage.Get('updates') === 'true';\n\t}\n\n\tSetCheckForUpdates(value) {\n\t\tStorage.Set('updates', !!value);\n\n\t\tthis._checkForUpdates();\n\t}\n\n\tHasUpdates() {\n\t\tif (!this.CheckForUpdates()) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn this.hasUpdates;\n\t}\n\n\tHasService() {\n\t\treturn this.hasService;\n\t}\n\n\tasync _checkForUpdates() {\n\t\tif (Storage.Get('updates') !== 'false') {\n\t\t\tStorage.Set('updates', true);\n\t\t}\n\n\t\tclearTimeout(this.updates);\n\n\t\tif (!this.CheckForUpdates()) {\n\t\t\treturn;\n\t\t}\n\n\t\t(async () => {\n\t\t\tlet response = null;\n\n\t\t\ttry {\n\t\t\t\tresponse = await fetch('https://service.datarhei.com/api/v1/app_version', {\n\t\t\t\t\tmethod: 'PUT',\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'Content-Type': 'application/json',\n\t\t\t\t\t},\n\t\t\t\t\tbody: JSON.stringify({\n\t\t\t\t\t\tapp_version: Version.UI,\n\t\t\t\t\t}),\n\t\t\t\t});\n\t\t\t} catch (err) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst contentType = response.headers.get('Content-Type');\n\t\t\tlet isJSON = false;\n\n\t\t\tif (contentType != null) {\n\t\t\t\tisJSON = contentType.indexOf('application/json') !== -1;\n\t\t\t}\n\n\t\t\tif (isJSON === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (response.ok === false) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst value = {\n\t\t\t\tlatest_version: Version.UI,\n\t\t\t\t...(await response.json()),\n\t\t\t};\n\n\t\t\tconst findVersion = (name) => {\n\t\t\t\tconst matches = name.match(/v(\\d+\\.\\d+\\.\\d+)\\s*$/);\n\t\t\t\tif (matches === null) {\n\t\t\t\t\treturn '0.0.0';\n\t\t\t\t}\n\n\t\t\t\treturn matches[1];\n\t\t\t};\n\n\t\t\tconst currentVersion = findVersion(Version.UI);\n\t\t\tconst announcedVersion = findVersion(value.latest_version);\n\n\t\t\tif (currentVersion !== '0.0.0') {\n\t\t\t\tif (SemverGt(announcedVersion, currentVersion)) {\n\t\t\t\t\tthis.hasUpdates = true;\n\t\t\t\t} else {\n\t\t\t\t\tthis.hasUpdates = false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst serviceVersion = findVersion(value.service_version);\n\t\t\tif (SemverGte(serviceVersion, '1.0.0')) {\n\t\t\t\tthis.hasService = true;\n\t\t\t} else {\n\t\t\t\tthis.hasService = false;\n\t\t\t}\n\t\t})();\n\n\t\tthis.updates = setTimeout(() => {\n\t\t\tthis._checkForUpdates();\n\t\t}, 1000 * 60 * 60);\n\t}\n\n\t// Private system related function\n\n\tasync _setMetadata(data) {\n\t\tconst [, err] = await this._call(this.api.SetMetadata, 'restreamer-ui', data);\n\t\tif (err !== null) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tasync _getMetadata() {\n\t\tconst [val, err] = await this._call(this.api.GetMetadata, 'restreamer-ui');\n\t\tif (err !== null) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn val;\n\t}\n\n\t// Private process related functions\n\n\tasync _listProcesses(filter = [], reference = '', ids = []) {\n\t\tconst [val, err] = await this._call(this.api.Processes, reference, ids, filter);\n\t\tif (err !== null) {\n\t\t\treturn [];\n\t\t}\n\n\t\tfor (let i = 0; i < val.length; i++) {\n\t\t\tval[i] = this._sanitizeProcess(val[i]);\n\t\t}\n\n\t\treturn val;\n\t}\n\n\tasync _getProcess(id, filter = []) {\n\t\tconst [val, err] = await this._call(this.api.Process, id, filter);\n\t\tif (err !== null) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn this._sanitizeProcess(val);\n\t}\n\n\t_sanitizeProcess(proc) {\n\t\tif (!proc.id) {\n\t\t\tproc.id = '';\n\t\t}\n\n\t\tif (!proc.config) {\n\t\t\tproc.config = null;\n\t\t}\n\n\t\tif (!proc.state) {\n\t\t\tproc.state = null;\n\t\t}\n\n\t\tproc.progress = this._getProgressFromState(proc.state);\n\n\t\tif (!proc.report) {\n\t\t\tproc.report = null;\n\t\t}\n\n\t\tif (!proc.metadata) {\n\t\t\tproc.metadata = {};\n\t\t}\n\n\t\tif (proc.metadata['restreamer-ui']) {\n\t\t\tproc.metadata = proc.metadata['restreamer-ui'];\n\t\t} else {\n\t\t\tproc.metadata = {};\n\t\t}\n\n\t\treturn proc;\n\t}\n\n\tasync _getProcessConfig(id) {\n\t\tconst [val, err] = await this._call(this.api.ProcessConfig, id);\n\t\tif (err !== null) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn val;\n\t}\n\n\tasync _getProcessState(id) {\n\t\tconst [val, err] = await this._call(this.api.ProcessState, id);\n\t\tif (err !== null) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn val;\n\t}\n\n\tasync _getProcessLog(id) {\n\t\tconst [val, err] = await this._call(this.api.ProcessReport, id);\n\t\tif (err !== null) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn val;\n\t}\n\n\tasync _getProcessDebug(id) {\n\t\tconst [p, err] = await this._call(this.api.Process, id, ['config', 'state', 'report']);\n\t\tif (err !== null) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst regex = /([a-z]+):\\/\\/[^/]+(?:\\/[0-9A-Za-z-_.~/%:=&?]+)?/gm;\n\t\tconst replace = (s) => {\n\t\t\treturn s.replaceAll(regex, '$1://[anonymized]');\n\t\t};\n\n\t\tif (p.config) {\n\t\t\tp.config.options = p.config.options.map(replace);\n\n\t\t\tfor (let i in p.config.input) {\n\t\t\t\tp.config.input[i].address = replace(p.config.input[i].address);\n\t\t\t\tp.config.input[i].options = p.config.input[i].options.map(replace);\n\t\t\t}\n\n\t\t\tfor (let i in p.config.output) {\n\t\t\t\tp.config.output[i].address = replace(p.config.output[i].address);\n\t\t\t\tp.config.output[i].options = p.config.output[i].options.map(replace);\n\t\t\t}\n\t\t}\n\n\t\tif (p.state) {\n\t\t\tfor (let i in p.state.progress.inputs) {\n\t\t\t\tp.state.progress.inputs[i].address = replace(p.state.progress.inputs[i].address);\n\t\t\t}\n\n\t\t\tfor (let i in p.state.progress.outputs) {\n\t\t\t\tp.state.progress.outputs[i].address = replace(p.state.progress.outputs[i].address);\n\t\t\t}\n\n\t\t\tp.state.command = p.state.command.map(replace);\n\t\t\tp.state.last_logline = replace(p.state.last_logline);\n\t\t}\n\n\t\tif (p.report) {\n\t\t\tp.report.prelude = p.report.prelude.map(replace);\n\t\t\tp.report.log = p.report.log.map((l) => [l[0], replace(l[1])]);\n\n\t\t\tfor (let i in p.report.history) {\n\t\t\t\tp.report.history[i].prelude = p.report.history[i].prelude.map(replace);\n\t\t\t\tp.report.history[i].log = p.report.history[i].log.map((l) => [l[0], replace(l[1])]);\n\t\t\t}\n\t\t}\n\n\t\tif (p.service) {\n\t\t\tp.service.token = replace(p.service.token);\n\t\t}\n\n\t\treturn p;\n\t}\n\n\tasync _startProcess(id) {\n\t\tconst [, err] = await this._call(this.api.ProcessCommand, id, 'start');\n\t\tif (err !== null) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tasync _stopProcess(id) {\n\t\tconst [, err] = await this._call(this.api.ProcessCommand, id, 'stop');\n\t\tif (err !== null) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tasync _upsertProcess(id, config) {\n\t\tconst [val, err] = await this._call(this.api.ProcessUpdate, id, config);\n\t\tif (err !== null) {\n\t\t\tif (err.code === 404) {\n\t\t\t\treturn await this._call(this.api.ProcessAdd, config);\n\t\t\t}\n\t\t}\n\n\t\treturn [val, err];\n\t}\n\n\tasync _deleteProcess(id) {\n\t\tconst [, err] = await this._call(this.api.ProcessDelete, id);\n\t\tif (err !== null) {\n\t\t\tif (err.code === 404) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tasync _setProcessMetadata(id, data) {\n\t\tconst [, err] = await this._call(this.api.ProcessSetMetadata, id, 'restreamer-ui', data);\n\t\tif (err !== null) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tasync _getProcessMetadata(id) {\n\t\tconst [val, err] = await this._call(this.api.ProcessGetMetadata, id, 'restreamer-ui');\n\t\tif (err !== null) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn val;\n\t}\n\n\t// Assets\n\n\tasync _updatePlayerEssentials(player) {\n\t\t// get the list of supplemental files for the player\n\t\tconst data = await this._getLocalAssetAsString(`/_player/${player}/files.txt`);\n\t\tif (data === null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst files = data.split(/\\n/);\n\n\t\t// upload player files\n\t\tfor (let file of files) {\n\t\t\tif (file.length === 0) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tawait this._uploadLocalAsset(`/_player/${player}/${file}`, `/player/${player}/${file}`);\n\t\t}\n\n\t\tawait this._updatePublicEssentials();\n\n\t\treturn true;\n\t}\n\n\tasync _updatePlayersiteEssentials() {\n\t\t// upload playersite background\n\t\tawait this._uploadLocalAsset('/_playersite/bg.jpg', '/playersite/default_bg.jpg');\n\n\t\tawait this._updatePublicEssentials();\n\n\t\treturn true;\n\t}\n\n\tasync _removePlayersiteEssentials() {\n\t\tawait this._deleteAsset('/index.html');\n\t\tawait this._deleteAsset('/playersite/default_bg.jpg');\n\t\tawait this._deleteAsset('/playersite/bg.jpg');\n\t\tawait this._deleteAsset('/playersite/bg.png');\n\t}\n\n\tasync _updatePublicEssentials() {\n\t\t// upload robots.txt\n\t\tawait this._uploadLocalAsset('/robots.txt', '/robots.txt');\n\n\t\t// upload playersite favicons\n\t\tawait this._uploadLocalAsset('/favicon.ico', '/favicon.ico');\n\t\tawait this._uploadLocalAsset('/logo192.png', '/logo192.png');\n\t\tawait this._uploadLocalAsset('/logo512.png', '/logo512.png');\n\t}\n\n\tasync _removePublicEssentials() {\n\t\tawait this._deleteAsset('/robots.txt');\n\t\tawait this._deleteAsset('/favicon.ico', '/favicon.ico');\n\t\tawait this._deleteAsset('/logo192.png', '/logo192.png');\n\t\tawait this._deleteAsset('/logo512.png', '/logo512.png');\n\t}\n\n\tasync _getLocalAssetAsString(localPath) {\n\t\tlet data = await this._getLocalAsset(localPath);\n\t\tif (data === null) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst text = await data.text();\n\n\t\treturn text;\n\t}\n\n\tasync _getLocalAsset(localPath) {\n\t\tlet data = this.cache.assets.get(localPath);\n\t\tif (data === undefined) {\n\t\t\tlet response = null;\n\n\t\t\ttry {\n\t\t\t\tresponse = await fetch(process.env.PUBLIC_URL + localPath, {\n\t\t\t\t\tmethod: 'GET',\n\t\t\t\t});\n\t\t\t} catch (err) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tdata = await response.blob();\n\n\t\t\tif (response.ok === false) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tthis.cache.assets.set(localPath, data);\n\t\t}\n\n\t\treturn data;\n\t}\n\n\tasync _uploadLocalAsset(localPath, remotePath) {\n\t\tconst data = await this._getLocalAsset(localPath);\n\t\tif (data === null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tawait this._uploadAssetData(remotePath, data);\n\n\t\treturn true;\n\t}\n\n\tasync _uploadAssetData(remotePath, data) {\n\t\tawait this._call(this.api.DataPutFile, remotePath, data);\n\n\t\treturn true;\n\t}\n\n\tasync _deleteAsset(remotePath) {\n\t\tawait this._call(this.api.DataDeleteFile, remotePath);\n\n\t\treturn true;\n\t}\n\n\tasync _hasAsset(remotePath) {\n\t\tconst [, err] = await this._call(this.api.DataHasFile, remotePath);\n\t\tif (err !== null) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tasync _getAssetAsString(remotePath) {\n\t\tconst [val, err] = await this._call(this.api.DataGetFile, remotePath);\n\t\tif (err !== null) {\n\t\t\treturn '';\n\t\t}\n\n\t\treturn val;\n\t}\n\n\tasync _listAssets(remotePathPattern) {\n\t\tconst [val, err] = await this._call(this.api.DataListFiles, remotePathPattern);\n\t\tif (err !== null) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn val.map((f) => f.name);\n\t}\n\n\tasync _getAboutDebug() {\n\t\tconst about = await this.About();\n\n\t\tabout.auths = about.auths.map((a) => (a.startsWith('auth0 ') ? 'auth0' : a));\n\n\t\treturn about;\n\t}\n\n\tasync _getConfigDebug() {\n\t\tconst [data, err] = await this._call(this.api.Config);\n\t\tif (err !== null) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst config = data.config;\n\n\t\tconfig.host.name = config.host.name.map((e) => '[anonymized]');\n\n\t\tconfig.api.auth.username = '[anonymized]';\n\t\tconfig.api.auth.password = '[anonymized]';\n\t\tconfig.api.auth.jwt.secret = '[anonymized]';\n\n\t\tconfig.api.auth.auth0.tenants = config.host.name.map((e) => '[anonymized]');\n\n\t\tconfig.api.access.http.allow = config.api.access.http.allow.map((e) => '[anonymized]');\n\t\tconfig.api.access.http.block = config.api.access.http.block.map((e) => '[anonymized]');\n\t\tconfig.api.access.https.allow = config.api.access.https.allow.map((e) => '[anonymized]');\n\t\tconfig.api.access.https.block = config.api.access.https.block.map((e) => '[anonymized]');\n\n\t\tconfig.storage.memory.auth.username = '[anonymized]';\n\t\tconfig.storage.memory.auth.password = '[anonymized]';\n\n\t\tif (config.storage.cors.origins.length !== 1 || config.storage.cors.origins[0] !== '*') {\n\t\t\tconfig.storage.cors.origins = config.storage.cors.origins.map((e) => '[anonymized]');\n\t\t}\n\n\t\tconfig.rtmp.app = '[anonymized]';\n\t\tconfig.rtmp.token = '[anonymized]';\n\n\t\tconfig.service.token = '[anonymized]';\n\n\t\tconfig.sessions.ip_ignorelist = config.sessions.ip_ignorelist.map((e) => '[anonymized]');\n\n\t\treturn config;\n\t}\n\n\t_getProgressFromState(state) {\n\t\tconst progress = {\n\t\t\tvalid: false,\n\t\t\torder: 'stop',\n\t\t\tstate: 'disconnected',\n\t\t\terror: '',\n\t\t\treconnect: -1,\n\t\t\tbitrate: 0,\n\t\t\tfps: 0,\n\t\t\ttime: 0,\n\t\t\tspeed: 0,\n\t\t\tq: -1,\n\t\t\tframes: 0,\n\t\t\tdrop: 0,\n\t\t\tdup: 0,\n\t\t};\n\n\t\tif (state === null) {\n\t\t\treturn progress;\n\t\t}\n\n\t\tprogress.valid = true;\n\t\tprogress.order = state.order;\n\n\t\tconst fps = state.progress.fps || 0;\n\n\t\tif (state.exec === 'starting') {\n\t\t\tprogress.state = 'connecting';\n\t\t} else if (state.exec === 'running') {\n\t\t\tif (state.runtime_seconds >= 10 && fps !== 0) {\n\t\t\t\tprogress.state = 'connected';\n\t\t\t} else {\n\t\t\t\tprogress.state = 'connecting';\n\t\t\t}\n\t\t} else if (state.exec === 'finishing') {\n\t\t\tprogress.state = 'disconnecting';\n\t\t} else if (state.exec === 'finished') {\n\t\t\tprogress.state = 'disconnected';\n\t\t\tprogress.reconnect = state.reconnect_seconds === undefined ? -1 : state.reconnect_seconds;\n\t\t} else if (state.exec === 'killed' || state.exec === 'failed') {\n\t\t\tprogress.state = 'error';\n\t\t\tprogress.error = state.last_logline || '';\n\t\t\tprogress.reconnect = state.reconnect_seconds === undefined ? -1 : state.reconnect_seconds;\n\t\t}\n\n\t\tif (progress.state === 'connected') {\n\t\t\tprogress.bitrate = state.progress.bitrate_kbit || 0;\n\t\t\tprogress.fps = state.progress.fps || 0;\n\t\t\tprogress.time = state.runtime_seconds || 0;\n\t\t\tprogress.speed = state.progress.speed || 0;\n\t\t\tprogress.q = state.progress.quality === undefined ? -1 : state.progress.quality;\n\t\t\tprogress.frames = state.progress.frames || 0;\n\t\t\tprogress.drop = state.progress.drop || 0;\n\t\t\tprogress.dup = state.progress.dup || 0;\n\t\t}\n\n\t\treturn progress;\n\t}\n\n\tasync _getResources() {\n\t\tconst query = {\n\t\t\tmetrics: [\n\t\t\t\t{ name: 'uptime_uptime' },\n\t\t\t\t{ name: 'cpu_ncpu' },\n\t\t\t\t{ name: 'cpu_idle' },\n\t\t\t\t{ name: 'mem_total' },\n\t\t\t\t{ name: 'mem_free' },\n\t\t\t\t{ name: 'filesystem_limit' },\n\t\t\t\t{ name: 'filesystem_usage' },\n\t\t\t\t{ name: 'session_limit' },\n\t\t\t\t{ name: 'session_active' },\n\t\t\t\t{ name: 'session_txbitrate' },\n\t\t\t\t{ name: 'session_maxtxbitrate' },\n\t\t\t],\n\t\t};\n\t\tconst [data, err] = await this._call(this.api.Metrics, query);\n\t\tif (err !== null) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst getMetrics = (metrics, metric, labels) => {\n\t\t\tloop: for (const m of metrics) {\n\t\t\t\tif (m.name !== metric) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (labels !== null) {\n\t\t\t\t\tfor (const key in labels) {\n\t\t\t\t\t\tconst value = labels[key];\n\n\t\t\t\t\t\tif (!(key in m.labels)) {\n\t\t\t\t\t\t\tcontinue loop;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (m.labels[key] !== value) {\n\t\t\t\t\t\t\tcontinue loop;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn m;\n\t\t\t}\n\n\t\t\treturn null;\n\t\t};\n\n\t\tconst getValue = (metrics, metric, labels) => {\n\t\t\tconst m = getMetrics(metrics, metric, labels);\n\t\t\tif (m === null) {\n\t\t\t\treturn 0;\n\t\t\t}\n\n\t\t\treturn m.values[0][1];\n\t\t};\n\n\t\tconst metrics = data.metrics;\n\n\t\tconst resources = {\n\t\t\tuptime_seconds: getValue(metrics, 'uptime_uptime'),\n\t\t\tsystem: {\n\t\t\t\tcpu_used: 100 - getValue(metrics, 'cpu_idle'),\n\t\t\t\tcpu_ncores: getValue(metrics, 'cpu_ncpu'),\n\t\t\t\tmem_used_bytes: getValue(metrics, 'mem_total') - getValue(metrics, 'mem_free'),\n\t\t\t\tmem_total_bytes: getValue(metrics, 'mem_total'),\n\t\t\t},\n\t\t\tcore: {\n\t\t\t\tsession_used: getValue(metrics, 'session_active', { collector: 'hls' }),\n\t\t\t\tsession_limit: getValue(metrics, 'session_limit', { collector: 'hls' }),\n\t\t\t\tnet_used_kbit: getValue(metrics, 'session_txbitrate', { collector: 'hls' }) / 1024,\n\t\t\t\tnet_limit_kbit: getValue(metrics, 'session_maxtxbitrate', { collector: 'hls' }) / 1024,\n\t\t\t\tmemfs_used_bytes: getValue(metrics, 'filesystem_usage', { name: 'memfs' }),\n\t\t\t\tmemfs_limit_bytes: getValue(metrics, 'filesystem_limit', { name: 'memfs' }),\n\t\t\t\tdisk_used_bytes: getValue(metrics, 'filesystem_usage', { name: 'diskfs' }),\n\t\t\t\tdisk_limit_bytes: getValue(metrics, 'filesystem_limit', { name: 'diskfs' }),\n\t\t\t},\n\t\t};\n\n\t\treturn resources;\n\t}\n}\n\nconst dateRegex = /^(\\d{4})-(\\d{2})-(\\d{2})[T ](\\d{2}):(\\d{2}):(\\d{2})(?:\\.?(\\d+))?(?:(?:([+-]\\d{2}):?(\\d{2}))|Z)?$/;\n\nfunction parseRFC3339Date(d) {\n\tconst m = dateRegex.exec(d);\n\tif (m === null) {\n\t\treturn null;\n\t}\n\n\t// Milliseconds are optional.\n\tif (m[7] === undefined) {\n\t\tm[7] = 0;\n\t} else {\n\t\tm[7] = parseInt((1.0 / parseFloat(m[7])) * 100);\n\t}\n\n\t// If timezone is undefined, it must be Z or nothing (otherwise the group would have captured).\n\tif (m[8] === undefined && m[9] === undefined) {\n\t\t// Use UTC.\n\t\tm[8] = 0;\n\t\tm[9] = 0;\n\t}\n\n\tvar year = +m[1];\n\tvar month = +m[2];\n\tvar day = +m[3];\n\tvar hour = +m[4];\n\tvar minute = +m[5];\n\tvar second = +m[6];\n\tvar msec = +m[7];\n\tvar tzHour = +m[8];\n\tvar tzMin = +m[9];\n\tvar tzOffset = tzHour * 60 + tzMin;\n\n\treturn new Date(Date.UTC(year, month - 1, day, hour, minute - tzOffset, second, msec));\n}\n\nexport default Restreamer;\n","import * as Coders from '../../misc/coders/Encoders';\nimport * as M from '../../utils/metadata';\n\n/**\n * createSourcesFromStreams creates a sources array with\n * one fake empty input and the given streams.\n * @param {array} streams\n * @returns\n */\nexport function createSourcesFromStreams(streams) {\n\treturn [\n\t\t{\n\t\t\ttype: 'network',\n\t\t\tinputs: [\n\t\t\t\t{\n\t\t\t\t\taddress: '',\n\t\t\t\t\toptions: [],\n\t\t\t\t},\n\t\t\t],\n\t\t\tstreams: streams,\n\t\t},\n\t];\n}\n\n/**\n * createInputsOutputs creates the inputs and outputs based\n * on the sources, profiles, and outputs of the service.\n * the sources is constructed from the streams of the ingest.\n * the profiles are the encoding settings. the outputs from\n * the service only contain the output format options.\n *\n * @param {*} sources\n * @param {*} profiles encoding settings\n * @param {*} outputs service outputs (format options and address)\n * @returns\n */\nexport function createInputsOutputs(sources, profiles, outputs) {\n\tconst [inpts, outpts] = M.createInputsOutputs(sources, profiles);\n\n\tconst out = [];\n\n\t// iterate through all service outputs and copy its values\n\t// to a new object. if encoding is enabled, it will be done\n\t// for each output. this is not optimal. the \"tee\" output\n\t// should be considered.\n\t// https://ffmpeg.org/ffmpeg-formats.html#tee\n\t// https://stackoverflow.com/questions/67609510/ffmpeg-tee-muxer-failing-with-error-tag-avc1-incompatible-with-output-codec-id\n\t// and also consider the fifo and onfail option\n\t// https://ffmpeg.org/ffmpeg-formats.html#fifo\n\tfor (let i = 0; i < outputs.length; i++) {\n\t\tlet o = {\n\t\t\taddress: outputs[i].address,\n\t\t\toptions: [...outputs[i].options],\n\t\t};\n\n\t\to.options = [...outpts[0].options, ...o.options];\n\n\t\tout.push(o);\n\t}\n\n\treturn [inpts, out];\n}\n/**\n * validateRequirements validates the requirements object the each\n * service provides. Missing fields will be added.\n *\n * @param {*} requires requirement object\n * @returns validated requirement object\n */\nexport function validateRequirements(requires) {\n\tif (!requires) {\n\t\trequires = {};\n\t}\n\n\trequires = {\n\t\tprotocols: [],\n\t\tformats: [],\n\t\tdevices: [],\n\t\tcodecs: {},\n\t\t...requires,\n\t};\n\n\trequires.codecs = {\n\t\taudio: [],\n\t\tvideo: [],\n\t\t...requires.codecs,\n\t};\n\n\treturn requires;\n}\n\n/**\n *\n * @param {*} requires\n * @param {*} skills\n * @returns {boolean}\n */\nexport function checkServiceRequirements(requires, skills) {\n\tif (!skills) {\n\t\treturn false;\n\t}\n\n\trequires = validateRequirements(requires);\n\n\tif (requires.protocols.length !== 0) {\n\t\tlet hasOne = false;\n\t\tfor (let protocol of requires.protocols) {\n\t\t\tif (skills.protocols.output.includes(protocol) === true) {\n\t\t\t\thasOne = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif (hasOne === false) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tif (requires.formats.length !== 0) {\n\t\tlet hasOne = false;\n\t\tfor (let format of requires.formats) {\n\t\t\tif (skills.formats.muxers.includes(format) === true) {\n\t\t\t\thasOne = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif (hasOne === false) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tif (requires.devices.length !== 0) {\n\t\tlet hasOne = false;\n\t\tfor (let device of requires.devices) {\n\t\t\tif (device in skills.sinks) {\n\t\t\t\thasOne = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif (hasOne === false) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tif (requires.codecs.audio.length !== 0) {\n\t\tlet hasOne = false;\n\t\tfor (let codec of requires.codecs.audio) {\n\t\t\tif (codec in skills.codecs.audio) {\n\t\t\t\thasOne = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif (hasOne === false) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tif (requires.codecs.video.length !== 0) {\n\t\tlet hasOne = false;\n\t\tfor (let codec of requires.codecs.video) {\n\t\t\tif (codec in skills.codecs.video) {\n\t\t\t\thasOne = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tif (hasOne === false) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\treturn true;\n}\n\n/**\n *\n * @param {*} requires\n * @param {*} skills\n * @returns\n */\nexport function conflateServiceSkills(requires, skills) {\n\tif (!skills) {\n\t\treturn null;\n\t}\n\n\trequires = validateRequirements(requires);\n\n\tconst serviceSkills = {\n\t\tprotocols: [],\n\t\tformats: [],\n\t\tdevices: {},\n\t\tcodecs: {\n\t\t\taudio: ['copy'],\n\t\t\tvideo: ['copy'],\n\t\t},\n\t};\n\n\tfor (let protocol of requires.protocols) {\n\t\tif (skills.protocols.output.includes(protocol) === true) {\n\t\t\tserviceSkills.protocols.push(protocol);\n\t\t}\n\t}\n\n\tfor (let format of requires.formats) {\n\t\tif (skills.formats.muxers.includes(format) === true) {\n\t\t\tserviceSkills.formats.push(format);\n\t\t}\n\t}\n\n\tfor (let device of requires.devices) {\n\t\tif (device in skills.sinks) {\n\t\t\tserviceSkills.devices[device] = [...skills.sinks[device]];\n\t\t}\n\t}\n\n\tfor (let codec of requires.codecs.audio) {\n\t\tif (codec in skills.codecs.audio) {\n\t\t\tserviceSkills.codecs.audio.push(codec);\n\t\t}\n\t}\n\n\tfor (let codec of requires.codecs.video) {\n\t\tif (codec in skills.codecs.video) {\n\t\t\tserviceSkills.codecs.video.push(codec);\n\t\t}\n\t}\n\n\treturn serviceSkills;\n}\n\n/**\n * Preselects an encoder to a profile.\n * @param {*} profile A profile\n * @param {*} type Either 'audio' or 'video'\n * @param {*} streams List of available streams\n * @param {*} codecs List of target codecs\n * @param {*} encoders list of available (to ffmpeg) encoders\n * @returns {boolean} Whether the provided profile is valid\n */\nexport function preselectProfile(profile, type, streams, codecs, encoders) {\n\t/**\n\t * Checks if the given profile makes sense, i.e. matches to the available\n\t * streams and codecs.\n\t * @param {*} profile A profile\n\t * @param {*} type Either 'audio' or 'video'\n\t * @param {*} streams List of available streams\n\t * @param {*} codecs List of target codecs\n\t * @returns {boolean} Whether the provided profile is valid\n\t */\n\tconst isPlausible = (profile, type, streams, codecs) => {\n\t\tif (profile.stream < 0) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (profile.stream >= streams.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (streams[profile.stream].type !== type) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (!codecs.includes(streams[profile.stream].codec)) {\n\t\t\tif (profile.encoder.coder === 'copy') {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} else {\n\t\t\tif (profile.encoder.coder === 'copy') {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\tlet coder = null;\n\t\tif (type === 'audio') {\n\t\t\tcoder = Coders.Audio.Get(profile.encoder.coder);\n\t\t} else if (type === 'video') {\n\t\t\tcoder = Coders.Video.Get(profile.encoder.coder);\n\t\t}\n\n\t\tif (coder === null) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (!codecs.includes(coder.codec)) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t};\n\n\tif (isPlausible(profile, type, streams, codecs)) {\n\t\treturn profile;\n\t}\n\n\tprofile.source = 0;\n\tprofile.stream = -1;\n\tprofile.encoder.coder = 'none';\n\n\tfor (let i = 0; i < streams.length; i++) {\n\t\tif (streams[i].type !== type) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Select the first stream with matching type.\n\t\tprofile.stream = i;\n\n\t\tif (!codecs.includes(streams[i].codec)) {\n\t\t\t// The codec doesn't match. Select the first available coder for one of the target codecs.\n\t\t\tfor (let codec of codecs) {\n\t\t\t\tif (codec === 'copy') {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tlet coder = null;\n\n\t\t\t\tif (type === 'audio') {\n\t\t\t\t\tcoder = Coders.Audio.GetCoderForCodec(codec, encoders);\n\t\t\t\t} else if (type === 'video') {\n\t\t\t\t\tcoder = Coders.Video.GetCoderForCodec(codec, encoders);\n\t\t\t\t}\n\n\t\t\t\tif (coder === null) {\n\t\t\t\t\tprofile.encoder.coder = 'none';\n\t\t\t\t} else {\n\t\t\t\t\tconst defaults = coder.defaults();\n\t\t\t\t\tprofile.encoder.coder = coder.coder;\n\t\t\t\t\tprofile.encoder.settings = defaults.settings;\n\t\t\t\t\tprofile.encoder.mapping = defaults.mapping;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\t// The codec matches. Select the copy coder.\n\t\t\tprofile.encoder.coder = 'copy';\n\n\t\t\tlet coder = type === 'audio' ? Coders.Audio.Get('copy') : Coders.Video.Get('copy');\n\n\t\t\tconst defaults = coder.defaults();\n\n\t\t\tprofile.encoder.settings = defaults.settings;\n\t\t\tprofile.encoder.mapping = defaults.mapping;\n\t\t}\n\n\t\tbreak;\n\t}\n\n\treturn profile;\n}\n","import React from 'react';\n\nfunction init(initialState) {\n\tconst state = {\n\t\t...initialState,\n\t};\n\n\treturn state;\n}\n\nfunction createMapping(settings) {\n\tconst mapping = [];\n\n\treturn mapping;\n}\n\nfunction Coder(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings), automatic);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn null;\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nconst coder = 'default';\nconst name = 'Default';\nconst codecs = [];\nconst type = 'audio';\nconst hwaccel = false;\n\nfunction defaults() {\n\tconst settings = init({});\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings),\n\t};\n}\n\nexport { coder, name, codecs, type, hwaccel, defaults, Coder as component };\n","import React from 'react';\n\nfunction init(initialState) {\n\tconst state = {\n\t\t...initialState,\n\t};\n\n\treturn state;\n}\n\nfunction createMapping(settings) {\n\tconst mapping = ['-hwaccel', 'cuda'];\n\n\treturn mapping;\n}\n\nfunction Coder(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings), automatic);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn null;\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\n// -hwaccel cuda -hwaccel_output_format cuda\n\nconst coder = 'cuda';\nconst name = 'NVDEC (CUDA)';\nconst codecs = ['h264', 'hevc', 'mpeg1', 'mpeg2', 'mpeg4', 'vp8', 'vp9', 'vc1'];\nconst type = 'video';\nconst hwaccel = true;\n\nfunction defaults() {\n\tconst settings = init({});\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings),\n\t};\n}\n\nexport { coder, name, codecs, type, hwaccel, defaults, Coder as component };\n","import React from 'react';\n\nfunction init(initialState) {\n\tconst state = {\n\t\t...initialState,\n\t};\n\n\treturn state;\n}\n\nfunction createMapping(settings) {\n\tconst mapping = ['-c:v', 'h264_mmal'];\n\n\treturn mapping;\n}\n\nfunction Coder(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings), automatic);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn null;\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nconst coder = 'h264_mmal';\nconst name = 'H.264 (MMAL)';\nconst codecs = ['h264'];\nconst type = 'video';\nconst hwaccel = true;\n\nfunction defaults() {\n\tconst settings = init({});\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings),\n\t};\n}\n\nexport { coder, name, codecs, type, hwaccel, defaults, Coder as component };\n","import React from 'react';\n\nfunction init(initialState) {\n\tconst state = {\n\t\t...initialState,\n\t};\n\n\treturn state;\n}\n\nfunction createMapping(settings) {\n\tconst mapping = ['-c:v', 'h264_cuvid'];\n\n\treturn mapping;\n}\n\nfunction Coder(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings), automatic);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn null;\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\n// -c:v h264_cuvid -i ...\n\nconst coder = 'h264_cuvid';\nconst name = 'H.264 (CUVID)';\nconst codecs = ['h264'];\nconst type = 'video';\nconst hwaccel = true;\n\nfunction defaults() {\n\tconst settings = init({});\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings),\n\t};\n}\n\nexport { coder, name, codecs, type, hwaccel, defaults, Coder as component };\n","import React from 'react';\n\nfunction init(initialState) {\n\tconst state = {\n\t\t...initialState,\n\t};\n\n\treturn state;\n}\n\nfunction createMapping(settings) {\n\tconst mapping = ['-c:v', 'hevc_cuvid'];\n\n\treturn mapping;\n}\n\nfunction Coder(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings), automatic);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn null;\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nconst coder = 'hevc_cuvid';\nconst name = 'HEVC (CUVID)';\nconst codecs = ['hevc'];\nconst type = 'video';\nconst hwaccel = true;\n\nfunction defaults() {\n\tconst settings = init({});\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings),\n\t};\n}\n\nexport { coder, name, codecs, type, hwaccel, defaults, Coder as component };\n","import React from 'react';\n\nfunction init(initialState) {\n\tconst state = {\n\t\t...initialState,\n\t};\n\n\treturn state;\n}\n\nfunction createMapping(settings) {\n\tconst mapping = ['-c:v', 'mjpeg_cuvid'];\n\n\treturn mapping;\n}\n\nfunction Coder(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings), automatic);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn null;\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nconst coder = 'mjpeg_cuvid';\nconst name = 'MJPEG (CUVID)';\nconst codecs = ['mjpeg'];\nconst type = 'video';\nconst hwaccel = true;\n\nfunction defaults() {\n\tconst settings = init({});\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings),\n\t};\n}\n\nexport { coder, name, codecs, type, hwaccel, defaults, Coder as component };\n","import React from 'react';\n\nfunction init(initialState) {\n\tconst state = {\n\t\t...initialState,\n\t};\n\n\treturn state;\n}\n\nfunction createMapping(settings) {\n\tconst mapping = ['-c:v', 'mpeg1_cuvid'];\n\n\treturn mapping;\n}\n\nfunction Coder(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings), automatic);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn null;\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nconst coder = 'mpeg1_cuvid';\nconst name = 'MPEG1 (CUVID)';\nconst codecs = ['mpeg1'];\nconst type = 'video';\nconst hwaccel = true;\n\nfunction defaults() {\n\tconst settings = init({});\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings),\n\t};\n}\n\nexport { coder, name, codecs, type, hwaccel, defaults, Coder as component };\n","import React from 'react';\n\nfunction init(initialState) {\n\tconst state = {\n\t\t...initialState,\n\t};\n\n\treturn state;\n}\n\nfunction createMapping(settings) {\n\tconst mapping = ['-c:v', 'mpeg2_cuvid'];\n\n\treturn mapping;\n}\n\nfunction Coder(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings), automatic);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn null;\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nconst coder = 'mpeg2_cuvid';\nconst name = 'MPEG2 (CUVID)';\nconst codecs = ['mpeg2'];\nconst type = 'video';\nconst hwaccel = true;\n\nfunction defaults() {\n\tconst settings = init({});\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings),\n\t};\n}\n\nexport { coder, name, codecs, type, hwaccel, defaults, Coder as component };\n","import React from 'react';\n\nfunction init(initialState) {\n\tconst state = {\n\t\t...initialState,\n\t};\n\n\treturn state;\n}\n\nfunction createMapping(settings) {\n\tconst mapping = ['-c:v', 'mpeg2_mmal'];\n\n\treturn mapping;\n}\n\nfunction Coder(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings), automatic);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn null;\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nconst coder = 'mpeg2_mmal';\nconst name = 'MPEG2 (MMAL)';\nconst codecs = ['mpeg2'];\nconst type = 'video';\nconst hwaccel = true;\n\nfunction defaults() {\n\tconst settings = init({});\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings),\n\t};\n}\n\nexport { coder, name, codecs, type, hwaccel, defaults, Coder as component };\n","import React from 'react';\n\nfunction init(initialState) {\n\tconst state = {\n\t\t...initialState,\n\t};\n\n\treturn state;\n}\n\nfunction createMapping(settings) {\n\tconst mapping = ['-c:v', 'mpeg4_cuvid'];\n\n\treturn mapping;\n}\n\nfunction Coder(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings), automatic);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn null;\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nconst coder = 'mpeg4_cuvid';\nconst name = 'MPEG4 (CUVID)';\nconst codecs = ['mpeg4'];\nconst type = 'video';\nconst hwaccel = true;\n\nfunction defaults() {\n\tconst settings = init({});\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings),\n\t};\n}\n\nexport { coder, name, codecs, type, hwaccel, defaults, Coder as component };\n","import React from 'react';\n\nfunction init(initialState) {\n\tconst state = {\n\t\t...initialState,\n\t};\n\n\treturn state;\n}\n\nfunction createMapping(settings) {\n\tconst mapping = ['-c:v', 'mpeg4_mmal'];\n\n\treturn mapping;\n}\n\nfunction Coder(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings), automatic);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn null;\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nconst coder = 'mpeg4_mmal';\nconst name = 'MPEG4 (MMAL)';\nconst codecs = ['mpeg4'];\nconst type = 'video';\nconst hwaccel = true;\n\nfunction defaults() {\n\tconst settings = init({});\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings),\n\t};\n}\n\nexport { coder, name, codecs, type, hwaccel, defaults, Coder as component };\n","import React from 'react';\n\nfunction init(initialState) {\n\tconst state = {\n\t\t...initialState,\n\t};\n\n\treturn state;\n}\n\nfunction createMapping(settings) {\n\tconst mapping = ['-c:v', 'vc1_cuvid'];\n\n\treturn mapping;\n}\n\nfunction Coder(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings), automatic);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn null;\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nconst coder = 'vc1_cuvid';\nconst name = 'VC1 (CUVID)';\nconst codecs = ['vc1'];\nconst type = 'video';\nconst hwaccel = true;\n\nfunction defaults() {\n\tconst settings = init({});\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings),\n\t};\n}\n\nexport { coder, name, codecs, type, hwaccel, defaults, Coder as component };\n","import React from 'react';\n\nfunction init(initialState) {\n\tconst state = {\n\t\t...initialState,\n\t};\n\n\treturn state;\n}\n\nfunction createMapping(settings) {\n\tconst mapping = ['-c:v', 'vc1_mmal'];\n\n\treturn mapping;\n}\n\nfunction Coder(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings), automatic);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn null;\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nconst coder = 'vc1_mmal';\nconst name = 'VC1 (MMAL)';\nconst codecs = ['vc1'];\nconst type = 'video';\nconst hwaccel = true;\n\nfunction defaults() {\n\tconst settings = init({});\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings),\n\t};\n}\n\nexport { coder, name, codecs, type, hwaccel, defaults, Coder as component };\n","import React from 'react';\n\nfunction init(initialState) {\n\tconst state = {\n\t\t...initialState,\n\t};\n\n\treturn state;\n}\n\nfunction createMapping(settings) {\n\tconst mapping = [];\n\n\treturn mapping;\n}\n\nfunction Coder(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings), automatic);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn null;\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nconst coder = 'default';\nconst name = 'Default';\nconst codecs = [];\nconst type = 'video';\nconst hwaccel = false;\n\nfunction defaults() {\n\tconst settings = init({});\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings),\n\t};\n}\n\nexport { coder, name, codecs, type, hwaccel, defaults, Coder as component };\n","import React from 'react';\n\nfunction init(initialState) {\n\tconst state = {\n\t\t...initialState,\n\t};\n\n\treturn state;\n}\n\nfunction createMapping(settings) {\n\tconst mapping = ['-hwaccel', 'videotoolbox'];\n\n\treturn mapping;\n}\n\nfunction Coder(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings), automatic);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn null;\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nconst coder = 'videotoolbox';\nconst name = 'H264 (VideoToolbox)';\nconst codecs = ['h264'];\nconst type = 'video';\nconst hwaccel = true;\n\nfunction defaults() {\n\tconst settings = init({});\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings),\n\t};\n}\n\nexport { coder, name, codecs, type, hwaccel, defaults, Coder as component };\n","import React from 'react';\n\nfunction init(initialState) {\n\tconst state = {\n\t\t...initialState,\n\t};\n\n\treturn state;\n}\n\nfunction createMapping(settings) {\n\tconst mapping = ['-c:v', 'vp8_cuvid'];\n\n\treturn mapping;\n}\n\nfunction Coder(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings), automatic);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn null;\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nconst coder = 'vp8_cuvid';\nconst name = 'VP8 (CUVID)';\nconst codecs = ['vp8'];\nconst type = 'video';\nconst hwaccel = true;\n\nfunction defaults() {\n\tconst settings = init({});\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings),\n\t};\n}\n\nexport { coder, name, codecs, type, hwaccel, defaults, Coder as component };\n","import React from 'react';\n\nfunction init(initialState) {\n\tconst state = {\n\t\t...initialState,\n\t};\n\n\treturn state;\n}\n\nfunction createMapping(settings) {\n\tconst mapping = ['-c:v', 'vp9_cuvid'];\n\n\treturn mapping;\n}\n\nfunction Coder(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (newSettings) => {\n\t\tlet automatic = false;\n\t\tif (!newSettings) {\n\t\t\tnewSettings = settings;\n\t\t\tautomatic = true;\n\t\t}\n\n\t\tprops.onChange(newSettings, createMapping(newSettings), automatic);\n\t};\n\n\tReact.useEffect(() => {\n\t\thandleChange(null);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\treturn null;\n}\n\nCoder.defaultProps = {\n\tstream: {},\n\tsettings: {},\n\tonChange: function (settings, mapping) {},\n};\n\nconst coder = 'vp9_cuvid';\nconst name = 'VP9 (CUVID)';\nconst codecs = ['vp9'];\nconst type = 'video';\nconst hwaccel = true;\n\nfunction defaults() {\n\tconst settings = init({});\n\n\treturn {\n\t\tsettings: settings,\n\t\tmapping: createMapping(settings),\n\t};\n}\n\nexport { coder, name, codecs, type, hwaccel, defaults, Coder as component };\n","import * as AudioDefault from './audio/Default';\n\nimport * as NVDEC from './video/NVDEC';\nimport * as H264MMAL from './video/H264MMAL';\nimport * as H264CUVID from './video/H264CUVID';\nimport * as HEVCCUVID from './video/HEVCCUVID';\nimport * as MJPEGCUVID from './video/MJPEGCUVID';\nimport * as MPEG1CUVID from './video/MPEG1CUVID';\nimport * as MPEG2CUVID from './video/MPEG2CUVID';\nimport * as MPEG2MMAL from './video/MPEG2MMAL';\nimport * as MPEG4CUVID from './video/MPEG4CUVID';\nimport * as MPEG4MMAL from './video/MPEG4MMAL';\nimport * as VC1CUVID from './video/VC1CUVID';\nimport * as VC1MMAL from './video/VC1MMAL';\nimport * as VideoDefault from './video/Default';\nimport * as VideoToolbox from './video/VideoToolbox';\nimport * as VP8CUVID from './video/VP8CUVID';\nimport * as VP9CUVID from './video/VP9CUVID';\n\nclass Registry {\n\tconstructor(type) {\n\t\tthis.type = type;\n\t\tthis.services = new Map();\n\t}\n\n\tRegister(service) {\n\t\tif (service.type !== this.type) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.services.set(service.coder, service);\n\t}\n\n\tGet(coder) {\n\t\tconst service = this.services.get(coder);\n\t\tif (service) {\n\t\t\treturn service;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\t// Get the first coder for a codec that is in a\n\t// list of available coders.\n\tGetCoderForCodec(codec, availableCoders) {\n\t\tfor (let coder of this.services.values()) {\n\t\t\tif (!coder.codecs.includes(codec)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (!availableCoders.includes(coder.coder)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\treturn coder;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\t// Get a list of coders for a codec that is in a list of\n\t// availabled coders. The option for hwAcceleration can be\n\t// 'any', 'no', or 'yes'.\n\tGetCodersForCodec(codec, availableCoders, hwAcceleration) {\n\t\tconst coders = [];\n\n\t\tfor (let coder of this.services.values()) {\n\t\t\t// An empty codecs list is a catch-all\n\t\t\tif (coder.codecs.length !== 0) {\n\t\t\t\tif (!coder.codecs.includes(codec)) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (!availableCoders.includes(coder.coder)) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (hwAcceleration === 'any') {\n\t\t\t\tcoders.push(coder);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (hwAcceleration === 'no' && coder.hwaccel === false) {\n\t\t\t\tcoders.push(coder);\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (hwAcceleration === 'yes' && coder.hwaccel === true) {\n\t\t\t\tcoders.push(coder);\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t}\n\n\t\treturn coders;\n\t}\n\n\tCoders() {\n\t\treturn Array.from(this.services.keys());\n\t}\n\n\tList() {\n\t\treturn Array.from(this.services.values());\n\t}\n}\n\nconst audioRegistry = new Registry('audio');\n\naudioRegistry.Register(AudioDefault);\n\nconst videoRegistry = new Registry('video');\n\nvideoRegistry.Register(VideoDefault);\nvideoRegistry.Register(VideoToolbox);\nvideoRegistry.Register(NVDEC);\nvideoRegistry.Register(H264MMAL);\nvideoRegistry.Register(H264CUVID);\nvideoRegistry.Register(HEVCCUVID);\nvideoRegistry.Register(MJPEGCUVID);\nvideoRegistry.Register(MPEG1CUVID);\nvideoRegistry.Register(MPEG2CUVID);\nvideoRegistry.Register(MPEG2MMAL);\nvideoRegistry.Register(MPEG4CUVID);\nvideoRegistry.Register(MPEG4MMAL);\nvideoRegistry.Register(VC1CUVID);\nvideoRegistry.Register(VC1MMAL);\nvideoRegistry.Register(VP8CUVID);\nvideoRegistry.Register(VP9CUVID);\n\nexport { audioRegistry as Audio, videoRegistry as Video };\n","import { i18n } from '@lingui/core';\n\nconst topics = {\n\t'edit-general': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/edit-livestream/general',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/streameinstellungen/allgemeine-streameinstellungen',\n\t},\n\t'edit-control': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/edit-livestream/processing-and-control',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/streameinstellungen/verarbeitung-und-steuerung',\n\t},\n\t'edit-meta': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/edit-livestream/meta-information',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/streameinstellungen/metainformationen',\n\t},\n\t'edit-license': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/edit-livestream/license',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/streameinstellungen/lizenz',\n\t},\n\t'login': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/login',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/dashboard',\n\t},\n\t'main': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/main-screen',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/hauptbildschirm',\n\t},\n\t'player-embed': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/video-player-settings',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/videoplayer-einstellungen',\n\t},\n\t'player-colors': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/video-player-settings',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/videoplayer-einstellungen',\n\t},\n\t'player-logo': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/video-player-settings',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/videoplayer-einstellungen',\n\t},\n\t'player-statistic': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/video-player-settings',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/videoplayer-einstellungen',\n\t},\n\t'player-playback': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/video-player-settings',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/videoplayer-einstellungen',\n\t},\n\t'playersite-general': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/publication-website/general-settings',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/publication-webseite/allgemeine-einstellungen',\n\t},\n\t'playersite-template': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/publication-website/template',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/publication-webseite/template',\n\t},\n\t'playersite-design': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/publication-website/design',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/publication-webseite/design',\n\t},\n\t'playersite-notes': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/publication-website/notes',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/publication-webseite/notizen',\n\t},\n\t'playersite-code_injection': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/publication-website/code-injection',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/publication-webseite/code-injection',\n\t},\n\t'process-details': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/process-details',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/prozess-report',\n\t},\n\t'process-report': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/process-report',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/prozess-details',\n\t},\n\t'publication': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/publications',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/publication-services',\n\t},\n\t'publication-add': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/publications',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/publication-services',\n\t},\n\t'publication-general': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/publications',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/publication-services',\n\t},\n\t'publication-process': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/publications',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/publication-services',\n\t},\n\t'publication-encoding': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/publications',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/publication-services',\n\t},\n\t'settings-general': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/system-settings/general-system-settings',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/restreamer-einstellungen/allgemeine-systemeinstellungen',\n\t},\n\t'settings-update-link': {\n\t\ten: 'https://docs.datarhei.com/restreamer/installing/update',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/installation/aktualisieren',\n\t},\n\t'settings-service': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/system-settings/service',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/restreamer-einstellungen/service',\n\t},\n\t'settings-network': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/system-settings/network',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/restreamer-einstellungen/netzwerk',\n\t},\n\t'settings-auth': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/system-settings/authorization',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/restreamer-einstellungen/autorisierung',\n\t},\n\t'settings-playback': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/system-settings/playback',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/restreamer-einstellungen/wiedergabe',\n\t},\n\t'settings-storage': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/system-settings/disk-space',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/restreamer-einstellungen/speicherplatz',\n\t},\n\t'settings-rtmp': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/system-settings/rtmp\t',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/restreamer-einstellungen/rtmp',\n\t},\n\t'settings-logging': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/system-settings/logging',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/restreamer-einstellungen/protokollierung-and-fehlersuche',\n\t},\n\t'wizard-video-setup': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/wizard',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/assistent',\n\t},\n\t'wizard-video-settings': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/wizard',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/assistent',\n\t},\n\t'wizard-video-result': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/wizard',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/assistent',\n\t},\n\t'wizard-audio-settings': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/wizard',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/assistent',\n\t},\n\t'wizard-audio-result': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/wizard',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/assistent',\n\t},\n\t'wizard-license': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/wizard',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/assistent',\n\t},\n\t'wizard-error': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/wizard',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/assistent',\n\t},\n\t'wizard-abort': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/manual/wizard',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/user-guides/assistent',\n\t},\n\t'encoder-h264_omx': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/troubleshooting/encoding-compatibility-list#h264_omx',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/fehlersuche/kompatibilitaetsliste-fuer-encoder#h264_omx',\n\t},\n\t'encoder-h264_v4l2m2m': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/troubleshooting/encoding-compatibility-list#h264_v4l2m2m',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/fehlersuche/kompatibilitaetsliste-fuer-encoder#h264_v4l2m2m',\n\t},\n\t'encoder-h264_nvenc': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/troubleshooting/encoding-compatibility-list#h264_nvenc',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/fehlersuche/kompatibilitaetsliste-fuer-encoder#h264_nvenc',\n\t},\n\t'encoder-h264_vaapi': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/troubleshooting/encoding-compatibility-list#h264_vaapi',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/fehlersuche/kompatibilitaetsliste-fuer-encoder#h264_vaapi',\n\t},\n\t'encoder-h264_videotoolbox': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/troubleshooting/encoding-compatibility-list#h264_videotoolbox',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/fehlersuche/kompatibilitaetsliste-fuer-encoder#h264_videotoolbox',\n\t},\n\t'encoder-libx264': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/troubleshooting/encoding-compatibility-list#libx264',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/fehlersuche/kompatibilitaetsliste-fuer-encoder#libx264',\n\t},\n\t'encoder-libx265': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/troubleshooting/encoding-compatibility-list#libx265',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/fehlersuche/kompatibilitaetsliste-fuer-encoder#libx265',\n\t},\n\t'encoder-libvpx-vp9': {\n\t\ten: 'https://docs.datarhei.com/restreamer/knowledge-base/troubleshooting/encoding-compatibility-list#libvpx-vp9',\n\t\tde: 'https://docs.datarhei.com/restreamer/v/de/wissensdatenbank/fehlersuche/kompatibilitaetsliste-fuer-encoder#libvpx-vp9',\n\t},\n};\n\nfunction getTopicURL(topic, locale) {\n\tif (!(topic in topics)) {\n\t\tconsole.warn(`help topic \"${topic}\" not found`);\n\t\t// If topic doesn't exist, return default URL\n\t\treturn 'https://docs.datarhei.com/restreamer';\n\t}\n\n\tif (!(locale in topics[topic])) {\n\t\t// If locale doesn't exist, return default locale (en) URL\n\t\t// This requires that \"en\" exists for all topics.\n\t\treturn topic[topic].en;\n\t}\n\n\treturn topics[topic][locale];\n}\n\nexport default function Help(topic) {\n\tconst url = getTopicURL(topic, i18n.locale);\n\n\twindow.open(url);\n}\n","import React from 'react';\n\nimport { useLingui } from '@lingui/react';\nimport { Trans, t } from '@lingui/macro';\nimport Grid from '@mui/material/Grid';\nimport MenuItem from '@mui/material/MenuItem';\nimport Typography from '@mui/material/Typography';\nimport Link from '@mui/material/Link';\n\nimport * as Encoders from './coders/Encoders';\nimport * as Decoders from './coders/Decoders';\nimport Select from './Select';\nimport H from '../utils/help';\n\nexport default function EncodingSelect(props) {\n\tconst { i18n } = useLingui();\n\n\tconst profile = props.profile;\n\n\tconst handleDecoderChange = (event) => {\n\t\tconst decoder = profile.decoder;\n\t\tdecoder.coder = event.target.value;\n\n\t\t// If the coder changes, use the coder's default settings\n\t\tlet c = null;\n\t\tif (props.type === 'audio') {\n\t\t\tc = Decoders.Audio.Get(decoder.coder);\n\t\t} else if (props.type === 'video') {\n\t\t\tc = Decoders.Video.Get(decoder.coder);\n\t\t}\n\n\t\tif (c !== null) {\n\t\t\tconst defaults = c.defaults();\n\t\t\tdecoder.settings = defaults.settings;\n\t\t\tdecoder.mapping = defaults.mapping;\n\t\t}\n\n\t\tprops.onChange(profile.encoder, decoder, false);\n\t};\n\n\tconst handleDecoderSettingsChange = (settings, mapping, automatic) => {\n\t\tconst decoder = profile.decoder;\n\n\t\tdecoder.settings = settings;\n\t\tdecoder.mapping = mapping;\n\n\t\tprops.onChange(profile.encoder, decoder, automatic);\n\t};\n\n\tconst handleEncoderChange = (event) => {\n\t\tconst encoder = profile.encoder;\n\t\tencoder.coder = event.target.value;\n\n\t\t// If the coder changes, use the coder's default settings\n\t\tlet c = null;\n\t\tif (props.type === 'audio') {\n\t\t\tc = Encoders.Audio.Get(encoder.coder);\n\t\t} else if (props.type === 'video') {\n\t\t\tc = Encoders.Video.Get(encoder.coder);\n\t\t}\n\n\t\tif (c !== null) {\n\t\t\tconst defaults = c.defaults({});\n\t\t\tencoder.settings = defaults.settings;\n\t\t\tencoder.mapping = defaults.mapping;\n\t\t}\n\n\t\tprops.onChange(encoder, profile.decoder, false);\n\t};\n\n\tconst handleEncoderSettingsChange = (settings, mapping, automatic) => {\n\t\tconst encoder = profile.encoder;\n\n\t\tencoder.settings = settings;\n\t\tencoder.mapping = mapping;\n\n\t\tprops.onChange(encoder, profile.decoder, automatic);\n\t};\n\n\tconst handleEncoderHelp = (topic) => (event) => {\n\t\tevent.preventDefault();\n\t\tH('encoder-' + topic);\n\t};\n\n\tlet stream = null;\n\n\tif (profile.stream >= 0) {\n\t\tif (profile.stream < props.streams.length) {\n\t\t\tstream = props.streams[profile.stream];\n\t\t}\n\t}\n\n\tif (stream === null) {\n\t\treturn null;\n\t}\n\n\tif (stream.type !== props.type) {\n\t\treturn null;\n\t}\n\n\tlet allowCopy = props.codecs.includes(stream.codec);\n\tlet encoderRegistry = null;\n\tlet decoderRegistry = null;\n\n\tif (props.type === 'video') {\n\t\tencoderRegistry = Encoders.Video;\n\t\tdecoderRegistry = Decoders.Video;\n\t} else if (props.type === 'audio') {\n\t\tencoderRegistry = Encoders.Audio;\n\t\tdecoderRegistry = Decoders.Audio;\n\t} else {\n\t\treturn null;\n\t}\n\n\tlet encoderSettings = null;\n\tlet encoderSettingsHelp = null;\n\n\tlet coder = encoderRegistry.Get(profile.encoder.coder);\n\tif (coder !== null && props.availableEncoders.includes(coder.coder)) {\n\t\tconst Settings = coder.component;\n\n\t\tencoderSettings = ;\n\n\t\tif (props.type === 'video' && !['copy', 'none', 'rawvideo'].includes(coder.coder)) {\n\t\t\tencoderSettingsHelp = handleEncoderHelp(coder.coder);\n\t\t}\n\t}\n\n\tlet encoderList = [];\n\n\tfor (let c of encoderRegistry.List()) {\n\t\t// Does ffmpeg support the coder?\n\t\tif (!props.availableEncoders.includes(c.coder)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\t// Is the encoder in the list of codec we allow as target?\n\t\tif (!props.codecs.includes(c.codec)) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (c.coder === 'copy') {\n\t\t\tif (allowCopy === true) {\n\t\t\t\tencoderList.push(\n\t\t\t\t\t\n\t\t\t\t\t\t{c.name}\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\tencoderList.push(\n\t\t\t\t\n\t\t\t\t\t{c.name}\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t}\n\n\tif (encoderSettings === null || encoderList.length === 0) {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tNo suitable encoder found.\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n\n\tlet decoderSettings = null;\n\tlet decoderList = [];\n\n\tif (coder.coder !== 'copy' && coder.coder !== 'none') {\n\t\tlet c = decoderRegistry.Get(profile.decoder.coder);\n\t\tif (c !== null && props.availableDecoders.includes(c.coder)) {\n\t\t\tconst Settings = c.component;\n\n\t\t\tdecoderSettings = ;\n\t\t}\n\n\t\t// List all decoders for the codec of the stream\n\t\tfor (let c of decoderRegistry.GetCodersForCodec(stream.codec, props.availableDecoders, 'any')) {\n\t\t\tdecoderList.push(\n\t\t\t\t\n\t\t\t\t\t{c.name}\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tSelect your encoding setting:\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t{decoderList.length >= 2 && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{decoderSettings}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\t{encoderSettings}\n\t\t\t\n\t\t\t{encoderSettingsHelp !== null && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tCompatibility list\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n}\n\nEncodingSelect.defaultProps = {\n\ttype: '',\n\tstreams: [],\n\tprofile: {},\n\tcodecs: [],\n\tavailableEncoders: [],\n\tavailableDecoders: [],\n\tonChange: function (encoder, decoder) {},\n};\n","import React from 'react';\n\nimport makeStyles from '@mui/styles/makeStyles';\nimport Grid from '@mui/material/Grid';\nimport Paper from '@mui/material/Paper';\n\nconst useStyles = makeStyles((theme) => ({\n\tPaperM: {\n\t\tpadding: '3em 3.5em 3em 3.5em!important',\n\t},\n\tPaperL: {\n\t\tpadding: '4em 4.5em 4em 4.5em!important',\n\t},\n\tPaperService: {\n\t\tpadding: '4em 4.5em 4em 4.5em!important',\n\t\tborder: `1px solid ${theme.palette.background.light1}`,\n\t\tbackgroundColor: theme.palette.service.contrastText,\n\t},\n}));\n\nconst Component = React.forwardRef((props, ref) => {\n\tconst classes = useStyles();\n\tlet { marginBottom, xs, sm, md, ld, className, elevation, ...other } = props;\n\n\televation = 0;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{props.children}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n});\n\nexport default Component;\n\nComponent.defaultProps = {\n\tmarginBottom: '6em',\n\txs: 12,\n\tsm: undefined,\n\tmd: undefined,\n\tlg: undefined,\n\televation: 0,\n\tclassName: 'paper',\n};\n","import React from 'react';\n\nimport makeStyles from '@mui/styles/makeStyles';\nimport AddIcon from '@mui/icons-material/Add';\nimport CloseIcon from '@mui/icons-material/Close';\nimport EditIcon from '@mui/icons-material/Edit';\nimport Grid from '@mui/material/Grid';\nimport HelpIcon from '@mui/icons-material/HelpOutline';\nimport IconButton from '@mui/material/IconButton';\nimport Typography from '@mui/material/Typography';\n\nconst useStyles = makeStyles((theme) => ({\n\troot: {\n\t\tmarginBottom: '.3em',\n\t\t'& button': {\n\t\t\tfloat: 'right',\n\t\t\tmarginLeft: '.5em',\n\t\t},\n\t},\n}));\n\nconst Component = function (props) {\n\tconst classes = useStyles();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{typeof props.onAbort === 'function' && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{typeof props.onEdit === 'function' && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{typeof props.onAdd === 'function' && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{typeof props.onHelp === 'function' && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{props.title}\n\t\t\t\n\t\t\n\t);\n};\n\nexport default Component;\n\nComponent.defaultProps = {\n\tspacing: 0,\n\tpadding: null,\n\ttitle: '',\n\tvariant: 'pagetitle',\n\tonAbort: null,\n\tonHelp: null,\n\tonEdit: null,\n\tonAdd: null,\n};\n","import React from 'react';\n\nimport makeStyles from '@mui/styles/makeStyles';\nimport Grid from '@mui/material/Grid';\n\nconst useStyles = makeStyles((theme) => ({\n\troot: {\n\t\tmarginBottom: '.3em',\n\t\tmarginTop: '1.2em',\n\t\tminHeight: '38px',\n\t\t'& button': {\n\t\t\tmarginRight: '.5em',\n\t\t},\n\t\t'& div button': {\n\t\t\tfloat: 'right',\n\t\t\tmarginRight: '0',\n\t\t\tmarginLeft: '.5em',\n\t\t},\n\t},\n}));\n\nconst Component = function (props) {\n\tconst classes = useStyles();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t
{props.buttonsRight}
\n\t\t\t\t{props.buttonsLeft}\n\t\t\t
\n\t\t
\n\t);\n};\n\nexport default Component;\n\nComponent.defaultProps = {\n\tbuttonsLeft: null,\n\tbuttonsRight: null,\n};\n","import React from 'react';\n\nimport Checkbox from '@mui/material/Checkbox';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport makeStyles from '@mui/styles/makeStyles';\n\nconst useStyles = makeStyles((theme) => ({\n\troot: {\n\t\tcolor: theme.palette.text.pirmary,\n\t\t'&.Mui-checked': {\n\t\t\tcolor: theme.palette.text.primary,\n\t\t},\n\t\t'&.Mui-disabled': {\n\t\t\tcolor: theme.palette.text.disabled,\n\t\t},\n\t},\n\tchecked: {},\n\tdisabled: {},\n}));\n\nexport default function Component(props) {\n\tconst classes = useStyles();\n\n\treturn (\n\t\t}\n\t\t\tlabel={props.label}\n\t\t\tdisabled={props.disabled}\n\t\t/>\n\t);\n}\n\nComponent.defaultProps = {\n\tlabel: '',\n\tchecked: false,\n\tdisabled: false,\n\tonChange: function (event) {},\n};\n","import React from 'react';\n\nimport { Trans } from '@lingui/macro';\nimport Grid from '@mui/material/Grid';\nimport TextField from '@mui/material/TextField';\nimport Typography from '@mui/material/Typography';\n\nimport Checkbox from '../Checkbox';\n\nfunction init(settings) {\n\tconst initSettings = {\n\t\tautostart: false,\n\t\treconnect: true,\n\t\tdelay: 30,\n\t\tstaleTimeout: 30,\n\t\t...settings,\n\t};\n\n\treturn initSettings;\n}\n\nexport default function Control(props) {\n\tconst settings = init(props.settings);\n\n\t// Set the defaults\n\tReact.useEffect(() => {\n\t\tprops.onChange(settings, true);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\tconst handleChange = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tif (['autostart', 'reconnect', 'cleanup'].includes(what)) {\n\t\t\tsettings[what] = !settings[what];\n\t\t} else {\n\t\t\tsettings[what] = value;\n\t\t}\n\n\t\tprops.onChange(settings, false);\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\tReconnect} checked={settings.reconnect} onChange={handleChange('reconnect')} />\n\t\t\t\n\t\t\t\n\t\t\t\tReconnect delay (seconds)}\n\t\t\t\t\tdisabled={!settings.reconnect}\n\t\t\t\t\tvalue={settings.delay}\n\t\t\t\t\tonChange={handleChange('delay')}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\tSeconds until a process is restarted.\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\tStale timeout (seconds)}\n\t\t\t\t\tvalue={settings.staleTimeout}\n\t\t\t\t\tonChange={handleChange('staleTimeout')}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\tSeconds until a staled process is terminated.\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nControl.defaulProps = {\n\tsettings: {},\n\tonChange: function (settings, automatic) {},\n};\n","export default __webpack_public_path__ + \"static/media/akamai.3933a452.svg\";","import React from 'react';\n\nimport { Trans } from '@lingui/macro';\nimport Grid from '@mui/material/Grid';\nimport Link from '@mui/material/Link';\nimport TextField from '@mui/material/TextField';\n\nimport Logo from './logos/akamai.svg';\n\nimport Checkbox from '../../../misc/Checkbox';\n\nconst id = 'akamai';\nconst name = 'Akamai';\nconst version = '1.0';\nconst stream_key_link = '';\nconst description = (\n\t\n\t\tTransmit the main source to the Akamai (MSL) Media Services Live. More details about the MSL Encoder settings can be found on{' '}\n\t\t\n\t\t\there\n\t\t\n\t\t.\n\t\n);\nconst image_copyright = Please contact the operator of the service and check what happens.;\nconst author = {\n\tcreator: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n\tmaintainer: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n};\nconst category = 'platform';\nconst requires = {\n\tprotocols: ['rtmp'],\n\tformats: ['flv'],\n\tcodecs: {\n\t\taudio: ['aac', 'mp3'],\n\t\tvideo: ['h264'],\n\t},\n};\n\nfunction ServiceIcon(props) {\n\treturn \"Akamai;\n}\n\nfunction init(settings) {\n\tconst initSettings = {\n\t\tprotocol: 'rtmp://',\n\t\tstream_url: '',\n\t\tbackup_url: '',\n\t\taddress_extensions: {},\n\t\tenable_backup_stream: false,\n\t\t...settings,\n\t};\n\n\tinitSettings.address_extensions = {\n\t\tflashver: 'FMLE/3.020(compatible;20FMSc/1.0)',\n\t\tlive: 'true',\n\t\tpubUser: '',\n\t\tpubPasswd: '',\n\t\tplaypath: '',\n\t\t...initSettings.address_extensions,\n\t};\n\n\treturn initSettings;\n}\n\nfunction Service(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tif (what in settings.address_extensions) {\n\t\t\tsettings.address_extensions[what] = value;\n\t\t} else {\n\t\t\tif (what === 'enable_backup_stream') {\n\t\t\t\tsettings[what] = !settings[what];\n\t\t\t} else {\n\t\t\t\tsettings[what] = value;\n\t\t\t}\n\t\t}\n\n\t\tconst output = createOutput(settings);\n\n\t\tprops.onChange([output], settings);\n\t};\n\n\tconst createOutput = (settings) => {\n\t\tconst address_extensions = [];\n\n\t\tfor (let key in settings.address_extensions) {\n\t\t\tif (settings.address_extensions[key].length === 0) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\taddress_extensions.push(key + '=' + settings.address_extensions[key]);\n\t\t}\n\n\t\tconst options = ['-f', 'flv'];\n\n\t\tconst output = {\n\t\t\taddress: settings.protocol + settings.stream_url + ' ' + address_extensions.join(' '),\n\t\t\toptions: options,\n\t\t};\n\n\t\treturn output;\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\tLogin}\n\t\t\t\t\tvalue={settings.address_extensions.pubUser}\n\t\t\t\t\tonChange={handleChange('pubUser')}\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\tPassword}\n\t\t\t\t\tvalue={settings.address_extensions.pubPasswd}\n\t\t\t\t\tonChange={handleChange('pubPasswd')}\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\tProtocol}\n\t\t\t\t\tvalue={settings.protocol}\n\t\t\t\t\tonChange={handleChange('protocol')}\n\t\t\t\t\treadOnly\n\t\t\t\t\tdisabled\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\tStream URL}\n\t\t\t\t\tplaceholder=\"p.ab12345.i.akamaientrypoint.net/EntryPoint\"\n\t\t\t\t\tvalue={settings.stream_url}\n\t\t\t\t\tonChange={handleChange('stream_url')}\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\tStream names}\n\t\t\t\t\tplaceholder=\"abc_%i@12345\"\n\t\t\t\t\tvalue={settings.address_extensions.playpath}\n\t\t\t\t\tonChange={handleChange('playpath')}\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t{settings.enable_backup_stream && (\n\t\t\t\t\n\t\t\t\t\tProtocol}\n\t\t\t\t\t\tvalue={settings.protocol}\n\t\t\t\t\t\tonChange={handleChange('protocol')}\n\t\t\t\t\t\treadOnly\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t)}\n\t\t\t{settings.enable_backup_stream && (\n\t\t\t\t\n\t\t\t\t\tBackup URL}\n\t\t\t\t\t\tplaceholder=\"b.ab12345.i.akamaientrypoint.net/EntryPoint\"\n\t\t\t\t\t\tvalue={settings.backup_url}\n\t\t\t\t\t\tonChange={handleChange('backup_url')}\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n}\n\nService.defaultProps = {\n\tsettings: {},\n\tskills: {},\n\tmetadata: {},\n\tstreams: [],\n\tonChange: function (output, settings) {},\n};\n\nexport { id, name, version, stream_key_link, description, image_copyright, author, category, requires, ServiceIcon as icon, Service as component };\n","export default __webpack_public_path__ + \"static/media/brightcove.d988953e.svg\";","import React from 'react';\n\nimport { Trans } from '@lingui/macro';\nimport Grid from '@mui/material/Grid';\nimport Link from '@mui/material/Link';\nimport TextField from '@mui/material/TextField';\n\nimport Logo from './logos/brightcove.svg';\n\nconst id = 'brightcove';\nconst name = 'Brightcove Live';\nconst version = '1.0';\nconst stream_key_link = '';\nconst description = (\n\t\n\t\tTransmit the main source to a Brightcove Live Service. More details about the settings can be found{' '}\n\t\t\n\t\t\there\n\t\t\n\t\t.\n\t\n);\nconst image_copyright = Please contact the operator of the service and check what happens.;\nconst author = {\n\tcreator: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n\tmaintainer: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n};\nconst category = 'platform';\nconst requires = {\n\tprotocols: ['rtmp'],\n\tformats: ['flv'],\n\tcodecs: {\n\t\taudio: ['aac', 'mp3'],\n\t\tvideo: ['h264'],\n\t},\n};\n\nfunction ServiceIcon(props) {\n\treturn \"brightcove;\n}\n\nfunction init(settings) {\n\tconst initSettings = {\n\t\tprotocol: 'rtmp://',\n\t\taddress: '',\n\t\tstream_name: '',\n\t\t...settings,\n\t};\n\n\treturn initSettings;\n}\n\nfunction Service(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tsettings[what] = value;\n\n\t\tconst output = createOutput(settings);\n\n\t\tprops.onChange([output], settings);\n\t};\n\n\tconst createOutput = (settings) => {\n\t\tconst output = {\n\t\t\taddress: settings.protocol + settings.address + settings.stream_name,\n\t\t\toptions: ['-f', 'flv'],\n\t\t};\n\n\t\treturn output;\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\tProtocol}\n\t\t\t\t\tvalue={settings.protocol}\n\t\t\t\t\tonChange={handleChange('protocol')}\n\t\t\t\t\treadOnly\n\t\t\t\t\tdisabled\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\tAddress} value={settings.address} onChange={handleChange('address')} />\n\t\t\t\n\t\t\t\n\t\t\t\tStream name}\n\t\t\t\t\tvalue={settings.stream_name}\n\t\t\t\t\tonChange={handleChange('stream_name')}\n\t\t\t\t/>\n\t\t\t\n\t\t\n\t);\n}\n\nService.defaultProps = {\n\tsettings: {},\n\tskills: {},\n\tmetadata: {},\n\tstreams: [],\n\tonChange: function (output, settings) {},\n};\n\nexport { id, name, version, stream_key_link, description, image_copyright, author, category, requires, ServiceIcon as icon, Service as component };\n","export default __webpack_public_path__ + \"static/media/cdn77.e6ba8c17.svg\";","import React from 'react';\n\nimport { Trans } from '@lingui/macro';\nimport Grid from '@mui/material/Grid';\nimport Link from '@mui/material/Link';\nimport TextField from '@mui/material/TextField';\n\nimport Logo from './logos/cdn77.svg';\n\nconst id = 'cdn77';\nconst name = 'CDN77';\nconst version = '1.0';\nconst stream_key_link = '';\nconst description = (\n\t\n\t\tTransmit the main source to an CDN77 RTMP Service. More about the setup{' '}\n\t\t\n\t\t\there\n\t\t\n\t\t.\n\t\n);\nconst image_copyright = Please contact the operator of the service and check what happens.;\nconst author = {\n\tcreator: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n\tmaintainer: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n};\nconst category = 'platform';\nconst requires = {\n\tprotocols: ['rtmp'],\n\tformats: ['flv'],\n\tcodecs: {\n\t\taudio: ['aac', 'mp3'],\n\t\tvideo: ['h264'],\n\t},\n};\n\nfunction ServiceIcon(props) {\n\treturn \"DaCast;\n}\n\nfunction init(settings) {\n\tconst initSettings = {\n\t\tprotocol: 'rtmp://',\n\t\tstream_url: '',\n\t\tstream_key: '',\n\t\t...settings,\n\t};\n\n\treturn initSettings;\n}\n\nfunction Service(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tsettings[what] = value;\n\n\t\tconst output = createOutput(settings);\n\n\t\tprops.onChange([output], settings);\n\t};\n\n\tconst createOutput = (settings) => {\n\t\tconst options = ['-f', 'flv'];\n\n\t\tconst output = {\n\t\t\taddress: settings.protocol + settings.stream_url + settings.stream_key,\n\t\t\toptions: options,\n\t\t};\n\n\t\treturn output;\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\tProtocol}\n\t\t\t\t\tvalue={settings.protocol}\n\t\t\t\t\tonChange={handleChange('protocol')}\n\t\t\t\t\treadOnly\n\t\t\t\t\tdisabled\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\tStream URL}\n\t\t\t\t\tvalue={settings.stream_url}\n\t\t\t\t\tonChange={handleChange('stream_url')}\n\t\t\t\t\trequired\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\tStream key}\n\t\t\t\t\tvalue={settings.stream_key}\n\t\t\t\t\tonChange={handleChange('stream_key')}\n\t\t\t\t\trequired\n\t\t\t\t/>\n\t\t\t\n\t\t\n\t);\n}\n\nService.defaultProps = {\n\tsettings: {},\n\tskills: {},\n\tmetadata: {},\n\tstreams: [],\n\tonChange: function (output, settings) {},\n};\n\nexport { id, name, version, stream_key_link, description, image_copyright, author, category, requires, ServiceIcon as icon, Service as component };\n","import React from 'react';\n\nimport makeStyles from '@mui/styles/makeStyles';\nimport Button from '@mui/material/Button';\n\nconst useStyles = makeStyles((theme) => ({\n\tbutton: {\n\t\tfontSize: '.9rem!important',\n\t\theight: '56px!important',\n\t},\n}));\n\nexport default function Component(props) {\n\tconst classes = useStyles();\n\n\treturn (\n\t\t\n\t);\n}\n\nComponent.defaultProps = {};\n","export default __webpack_public_path__ + \"static/media/datarhei.9f3aa55f.svg\";","import React from 'react';\n\nimport { Trans } from '@lingui/macro';\nimport Grid from '@mui/material/Grid';\nimport Link from '@mui/material/Link';\nimport MenuItem from '@mui/material/MenuItem';\nimport TextField from '@mui/material/TextField';\n\nimport FormInlineButton from '../../../misc/FormInlineButton';\nimport Logo from './logos/datarhei.svg';\nimport Select from '../../../misc/Select';\n\nconst id = 'datarhei_core';\nconst name = 'datarhei Core';\nconst version = '1.0';\nconst stream_key_link = 'https://docs.datarhei.com/restreamer/knowledge-base/manual/system-settings/rtmp';\nconst description = (\n\t\n\t\tTransmit the main source to an datarhei Core Ressource. More details about the settings can be found{' '}\n\t\t\n\t\t\there\n\t\t\n\t\t.\n\t\n);\nconst image_copyright = Please contact the operator of the service and check what happens.;\nconst author = {\n\tcreator: {\n\t\tname: 'datarhei.com',\n\t\tlink: 'https://datarhei.com',\n\t},\n\tmaintainer: {\n\t\tname: 'datarhei.com',\n\t\tlink: 'https://datarhei.com',\n\t},\n};\nconst category = 'software';\nconst requires = {\n\tprotocols: ['rtmp', 'rtmps'],\n\tformats: ['flv'],\n\tcodecs: {\n\t\taudio: ['aac'],\n\t\tvideo: ['h264'],\n\t},\n};\n\nfunction ServiceIcon(props) {\n\treturn \"datarhei.com;\n}\n\nfunction init(settings) {\n\tconst initSettings = {\n\t\tprotocol: 'rtmp://',\n\t\tbase_url: '',\n\t\tapp_path: 'live',\n\t\tstream_name: '',\n\t\trtmp_token: '',\n\t\t...settings,\n\t};\n\n\treturn initSettings;\n}\n\nfunction Service(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tsettings[what] = value;\n\n\t\tconst output = createOutput(settings);\n\n\t\tprops.onChange([output], settings);\n\t};\n\n\tconst createOutput = (settings) => {\n\t\tconst options = ['-f', 'flv'];\n\n\t\tconst output = {\n\t\t\taddress: settings.protocol + settings.base_url + '/' + settings.app_path + '/' + settings.stream_name + '?token=' + settings.rtmp_token,\n\t\t\toptions: options,\n\t\t};\n\n\t\treturn output;\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\tAddress}\n\t\t\t\t\tplaceholder=\"core-address:port\"\n\t\t\t\t\tvalue={settings.base_url}\n\t\t\t\t\tonChange={handleChange('base_url')}\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\tApp} value={settings.app_path} onChange={handleChange('app_path')} />\n\t\t\t\n\t\t\t\n\t\t\t\tStream name}\n\t\t\t\t\tvalue={settings.stream_name}\n\t\t\t\t\tonChange={handleChange('stream_name')}\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\tSecurity token}\n\t\t\t\t\tvalue={settings.rtmp_token}\n\t\t\t\t\tonChange={handleChange('rtmp_token')}\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tGET\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nService.defaultProps = {\n\tsettings: {},\n\tskills: {},\n\tmetadata: {},\n\tstreams: [],\n\tonChange: function (output, settings) {},\n};\n\nexport { id, name, version, stream_key_link, description, image_copyright, author, category, requires, ServiceIcon as icon, Service as component };\n","export default __webpack_public_path__ + \"static/media/dacast.56a27f71.svg\";","import React from 'react';\n\nimport { Trans } from '@lingui/macro';\nimport Grid from '@mui/material/Grid';\nimport Link from '@mui/material/Link';\nimport MenuItem from '@mui/material/MenuItem';\nimport TextField from '@mui/material/TextField';\n\nimport Checkbox from '../../../misc/Checkbox';\nimport Logo from './logos/dacast.svg';\nimport Select from '../../../misc/Select';\n\nconst id = 'dacast';\nconst name = 'DaCast';\nconst version = '1.0';\nconst stream_key_link = '';\nconst description = (\n\t\n\t\tTransmit the main source to an DaCast RTMP Service. More about the setup{' '}\n\t\t\n\t\t\there\n\t\t\n\t\t.\n\t\n);\nconst image_copyright = Please contact the operator of the service and check what happens.;\nconst author = {\n\tcreator: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n\tmaintainer: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n};\nconst category = 'platform';\nconst requires = {\n\tprotocols: ['rtmp'],\n\tformats: ['flv'],\n\tcodecs: {\n\t\taudio: ['aac', 'mp3'],\n\t\tvideo: ['h264'],\n\t},\n};\n\nfunction ServiceIcon(props) {\n\treturn \"DaCast;\n}\n\nfunction init(settings) {\n\tconst initSettings = {\n\t\tprotocol: 'rtmp://',\n\t\tserver: '',\n\t\tbackup_server: '',\n\t\tenable_backup_server: false,\n\t\tusername: '',\n\t\tpassword: '',\n\t\tstream_key: '',\n\t\t...settings,\n\t};\n\n\treturn initSettings;\n}\n\nfunction Service(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tif (what === 'enable_backup_server') {\n\t\t\tsettings[what] = !settings[what];\n\t\t} else {\n\t\t\tsettings[what] = value;\n\t\t}\n\n\t\tconst output = createOutput(settings);\n\n\t\tprops.onChange(output, settings);\n\t};\n\n\tconst createOutput = (settings) => {\n\t\tconst outputs = [];\n\n\t\tconst options = ['-f', 'flv'];\n\n\t\tconst output_0 = {\n\t\t\taddress: settings.protocol + settings.username + ':' + settings.password + '@' + settings.server + '/' + settings.stream_key,\n\t\t\toptions: options,\n\t\t};\n\n\t\toutputs.push(output_0);\n\n\t\tif (settings.enable_backup_server) {\n\t\t\tconst output_1 = {\n\t\t\t\taddress: settings.protocol + settings.username + ':' + settings.password + '@' + settings.server + '/' + settings.stream_key,\n\t\t\t\toptions: options,\n\t\t\t};\n\n\t\t\toutputs.push(output_1);\n\t\t}\n\n\t\treturn outputs;\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\tServer}\n\t\t\t\t\tvalue={settings.server}\n\t\t\t\t\tonChange={handleChange('server')}\n\t\t\t\t\trequired\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\tUsername}\n\t\t\t\t\tvalue={settings.username}\n\t\t\t\t\tonChange={handleChange('username')}\n\t\t\t\t\trequired\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\tPassword}\n\t\t\t\t\tvalue={settings.password}\n\t\t\t\t\tonChange={handleChange('password')}\n\t\t\t\t\trequired\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\tStream key}\n\t\t\t\t\tvalue={settings.stream_key}\n\t\t\t\t\tonChange={handleChange('stream_key')}\n\t\t\t\t\trequired\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t{settings.enable_backup_server && (\n\t\t\t\t\n\t\t\t\t\tProtocol}\n\t\t\t\t\t\tvalue={settings.protocol}\n\t\t\t\t\t\tonChange={handleChange('protocol')}\n\t\t\t\t\t\treadOnly\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t)}\n\t\t\t{settings.enable_backup_server && (\n\t\t\t\t\n\t\t\t\t\tBackup server}\n\t\t\t\t\t\tvalue={settings.backup_server}\n\t\t\t\t\t\tonChange={handleChange('backup_server')}\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n}\n\nService.defaultProps = {\n\tsettings: {},\n\tskills: {},\n\tmetadata: {},\n\tstreams: [],\n\tonChange: function (output, settings) {},\n};\n\nexport { id, name, version, stream_key_link, description, image_copyright, author, category, requires, ServiceIcon as icon, Service as component };\n","import React from 'react';\n\nimport { Trans } from '@lingui/macro';\nimport makeStyles from '@mui/styles/makeStyles';\nimport withStyles from '@mui/styles/withStyles';\nimport Chip from '@mui/material/Chip';\nimport Tooltip from '@mui/material/Tooltip';\n\nconst useStyles = makeStyles((theme) => ({\n\troot: {\n\t\tcolor: theme.palette.text.primary,\n\t\tbackgroundColor: theme.palette.error.main,\n\t\tborderRadius: 4,\n\t\tfontWeight: 'bold',\n\t\theight: 20,\n\t},\n\tlabelSmall: {\n\t\tpaddingLeft: 6,\n\t\tpaddingRight: 6,\n\t},\n}));\n\nconst HtmlTooltip = withStyles((theme) => ({\n\ttooltip: {\n\t\tbackgroundColor: theme.palette.error.main,\n\t\tcolor: theme.palette.text.primary,\n\t\tmaxWidth: 100,\n\t\tfontSize: '.8rem',\n\t},\n\tarrow: {\n\t\tcolor: theme.palette.error.main,\n\t},\n}))(Tooltip);\n\nexport default function Component(props) {\n\tconst classes = useStyles();\n\treturn (\n\t\t\n\t\t\t\t\tAn environment variable sets this value.\n\t\t\t\t\n\t\t\t}\n\t\t\tplacement=\"right\"\n\t\t\tarrow\n\t\t>\n\t\t\t\n\t\t\n\t);\n}\n\nComponent.defaultProps = {};\n","import React from 'react';\n\nimport FormControl from '@mui/material/FormControl';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport IconButton from '@mui/material/IconButton';\nimport InputAdornment from '@mui/material/InputAdornment';\nimport InputLabel from '@mui/material/InputLabel';\nimport OutlinedInput from '@mui/material/OutlinedInput';\nimport Visibility from '@mui/icons-material/Visibility';\nimport VisibilityOff from '@mui/icons-material/VisibilityOff';\n\nimport Env from './Env';\n\nexport default function Password(props) {\n\tconst [$visible, setVisible] = React.useState(props.show);\n\n\tconst handleClickShowPassword = () => {\n\t\tsetVisible(!$visible);\n\t};\n\n\tconst handleMouseDownPassword = (event) => {\n\t\tevent.preventDefault();\n\t};\n\n\tlet adornment = (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t{props.env ? : null}\n\t\t\n\t);\n\n\tif (props.disabled === false) {\n\t\tadornment = (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{$visible ? : }\n\t\t\t\t\n\t\t\t\t{props.env ? : null}\n\t\t\t\n\t\t);\n\t}\n\n\treturn (\n\t\t\n\t\t\t{props.label}\n\t\t\t\n\t\t\t{props.helperText && {props.helperText}}\n\t\t\n\t);\n}\n\nPassword.defaultProps = {\n\tid: 'password',\n\tlabel: '',\n\tvalue: '',\n\tdisabled: false,\n\tautoComplete: 'current-password',\n\tenv: false,\n\tshow: false,\n\thelperText: null,\n\tonChange: function (value) {},\n};\n","import React from 'react';\nimport urlparser from 'url-parse';\n\nimport { faTools } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { Trans } from '@lingui/macro';\nimport Accordion from '@mui/material/Accordion';\nimport AccordionDetails from '@mui/material/AccordionDetails';\nimport AccordionSummary from '@mui/material/AccordionSummary';\nimport Divider from '@mui/material/Divider';\nimport ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown';\nimport Grid from '@mui/material/Grid';\nimport Link from '@mui/material/Link';\nimport MenuItem from '@mui/material/MenuItem';\nimport TextField from '@mui/material/TextField';\nimport Typography from '@mui/material/Typography';\n\nimport Checkbox from '../../../misc/Checkbox';\nimport Select from '../../../misc/Select';\nimport Password from '../../../misc/Password';\n\nconst id = 'dash';\nconst name = 'DASH';\nconst version = '1.0';\nconst stream_key_link = '';\nconst description = (\n\t\n\t\tTransmit the main source as MPEG-DASH to an HTTP/S Server. More details about the settings can be found{' '}\n\t\t\n\t\t\there\n\t\t\n\t\t.\n\t\n);\nconst image_copyright = Please contact the operator of the service and check what happens.;\nconst author = {\n\tcreator: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n\tmaintainer: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n};\nconst category = 'universal';\nconst requires = {\n\tprotocols: ['http', 'https'],\n\tformats: ['dash'],\n\tcodecs: {\n\t\taudio: ['none'],\n\t\tvideo: ['h264'],\n\t},\n};\n\nfunction ServiceIcon(props) {\n\treturn ;\n}\n\nfunction init(settings) {\n\tconst initSettings = {\n\t\tprotocol: 'https://',\n\t\taddress: '',\n\t\tusername: '',\n\t\tpassword: '',\n\t\toptions: {},\n\t\t...settings,\n\t};\n\n\tinitSettings.options = {\n\t\tseg_duration: '2',\n\t\tfrag_duration: '',\n\t\tfrag_type: '',\n\t\twindow_size: '6',\n\t\textra_window_size: '',\n\t\tremove_at_exit: false,\n\t\tuse_template: true,\n\t\tuse_timeline: true,\n\t\tsingle_file: false,\n\t\tsingle_file_name: '',\n\t\tinit_seg_name: 'init-stream$RepresentationID$.$ext$',\n\t\tmedia_seg_name: 'chunk-stream$RepresentationID$-$Number%05d$.$ext$',\n\t\tutc_timing_url: '',\n\t\tmethod: 'PUT',\n\t\thttp_user_agent: '',\n\t\thttp_persistent: false,\n\t\thls_playlist: false,\n\t\tstreaming: true,\n\t\tadaptation_sets: 'id=0,streams=v id=1,streams=a',\n\t\ttimeout: '',\n\t\tindex_correction: true,\n\t\tformat_options: '',\n\t\tglobal_sidx: '',\n\t\tdash_segment_type: 'auto',\n\t\tignore_io_errors: false,\n\t\tlhls: false,\n\t\tldash: false,\n\t\twrite_prft: '',\n\t\tmpd_profile: '',\n\t\thttp_opts: '',\n\t\ttarget_latency: '',\n\t\tmin_playback_rate: '',\n\t\tmax_playback_rate: '',\n\t\tupdate_period: '',\n\t\t...initSettings.options,\n\t};\n\n\treturn initSettings;\n}\n\nfunction Service(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tif (what in settings.options) {\n\t\t\tif (\n\t\t\t\t[\n\t\t\t\t\t'remove_at_exit',\n\t\t\t\t\t'use_template',\n\t\t\t\t\t'use_timeline',\n\t\t\t\t\t'single_file',\n\t\t\t\t\t'http_persistent',\n\t\t\t\t\t'hls_playlist',\n\t\t\t\t\t'streaming',\n\t\t\t\t\t'index_correction',\n\t\t\t\t\t'ignore_io_errors',\n\t\t\t\t\t'lhls',\n\t\t\t\t\t'ldash',\n\t\t\t\t].includes(what)\n\t\t\t) {\n\t\t\t\tsettings.options[what] = !settings.options[what];\n\t\t\t} else {\n\t\t\t\tsettings.options[what] = value;\n\t\t\t}\n\t\t} else {\n\t\t\tsettings[what] = value;\n\t\t}\n\n\t\tconst output = createOutput(settings);\n\n\t\tprops.onChange([output], settings);\n\t};\n\n\tconst createOutput = (settings) => {\n\t\tconst options = ['-strict', 'experimental', '-f', 'dash'];\n\n\t\tfor (let key in settings.options) {\n\t\t\tif (settings.options[key].length === 0) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (typeof settings.options[key] === 'boolean') {\n\t\t\t\toptions.push('-' + key, Number(settings.options[key]));\n\t\t\t} else {\n\t\t\t\toptions.push('-' + key, String(settings.options[key]));\n\t\t\t}\n\t\t}\n\n\t\tlet address = settings.protocol + settings.address;\n\t\tif (settings.username.length !== 0 || settings.password.length !== 0) {\n\t\t\tconst url = urlparser(address);\n\n\t\t\tif (settings.username.length !== 0) {\n\t\t\t\turl.set('username', encodeURIComponent(settings.username));\n\t\t\t}\n\n\t\t\tif (settings.password.length !== 0) {\n\t\t\t\turl.set('password', encodeURIComponent(settings.password));\n\t\t\t}\n\n\t\t\taddress = url.toString();\n\t\t}\n\n\t\tconst output = {\n\t\t\taddress: address,\n\t\t\toptions: options,\n\t\t};\n\n\t\treturn output;\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\tAddress} value={settings.address} onChange={handleChange('address')} />\n\t\t\t\n\t\t\t\n\t\t\t\tUsername} value={settings.username} onChange={handleChange('username')} />\n\t\t\t\n\t\t\t\n\t\t\t\tPassword} value={settings.password} onChange={handleChange('password')} />\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t}>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tAdvanced settings\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tGeneral\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tChunk\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tPlaylist\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{!settings.options.streaming && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{!settings.options.streaming && (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tSegmentation\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tauto\n\t\t\t\t\t\t\t\t\tmp4\n\t\t\t\t\t\t\t\t\twebm\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{settings.options.single_file && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tDocumentation{' '}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\thttps://ffmpeg.org/ffmpeg-all.html#dash\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nService.defaultProps = {\n\tsettings: {},\n\tskills: {},\n\tmetadata: {},\n\tstreams: [],\n\tonChange: function (output, settings) {},\n};\n\nexport { id, name, version, stream_key_link, description, image_copyright, author, category, requires, ServiceIcon as icon, Service as component };\n","import React from 'react';\n\nimport { faFacebook } from '@fortawesome/free-brands-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { Trans } from '@lingui/macro';\nimport Grid from '@mui/material/Grid';\nimport TextField from '@mui/material/TextField';\n\nimport Checkbox from '../../../misc/Checkbox';\nimport FormInlineButton from '../../../misc/FormInlineButton';\n\nconst id = 'facebook';\nconst name = 'Facebook Live';\nconst version = '1.0';\nconst stream_key_link = 'https://www.facebook.com/live/producer?ref=datarhei/restreamer';\nconst description = Live-Streaming to Facebook Live RTMP service;\nconst image_copyright = More about licenses here;\nconst author = {\n\tcreator: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n\tmaintainer: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n};\nconst category = 'platform';\nconst requires = {\n\tprotocols: ['rtmps'],\n\tformats: ['flv'],\n\tcodecs: {\n\t\taudio: ['aac'],\n\t\tvideo: ['h264'],\n\t},\n};\n\nfunction ServiceIcon(props) {\n\treturn ;\n}\n\nfunction init(settings) {\n\tconst initSettings = {\n\t\tstream_key_primary: '',\n\t\tstream_key_backup: '',\n\t\trtmp_primary: true,\n\t\trtmp_backup: false,\n\t\t...settings,\n\t};\n\n\treturn initSettings;\n}\n\nfunction Service(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tif (['rtmp_primary', 'rtmp_backup'].includes(what)) {\n\t\t\tsettings[what] = !settings[what];\n\t\t} else {\n\t\t\tsettings[what] = value;\n\t\t}\n\n\t\tconst output = createOutput(settings);\n\n\t\tprops.onChange(output, settings);\n\t};\n\n\tconst createOutput = (settings) => {\n\t\tconst outputs = [];\n\n\t\tconst output_primary = {\n\t\t\taddress: 'rtmps://live-api-s.facebook.com:443/rtmp/' + settings.stream_key_primary,\n\t\t\toptions: ['-f', 'flv'],\n\t\t};\n\n\t\tconst output_backup = {\n\t\t\taddress: 'rtmps://live-api-s.facebook.com:443/rtmp/' + settings.stream_key_backup,\n\t\t\toptions: ['-f', 'flv'],\n\t\t};\n\n\t\tif (settings.stream_key_primary.length !== 0) {\n\t\t\tif (settings.rtmp_primary) {\n\t\t\t\toutputs.push(output_primary);\n\t\t\t}\n\t\t}\n\n\t\tif (settings.stream_key_backup.length !== 0) {\n\t\t\tif (settings.rtmp_backup) {\n\t\t\t\toutputs.push(output_backup);\n\t\t\t}\n\t\t}\n\n\t\treturn outputs;\n\t};\n\n\treturn (\n\t\t\n\t\t\t{settings.rtmp_primary === true && (\n\t\t\t\t\n\t\t\t\t\tPrimary stream key}\n\t\t\t\t\t\tvalue={settings.stream_key_primary}\n\t\t\t\t\t\tonChange={handleChange('stream_key_primary')}\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t)}\n\t\t\t{settings.rtmp_primary === true && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tGET\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{settings.rtmp_backup === true && (\n\t\t\t\t\n\t\t\t\t\tBackup stream key}\n\t\t\t\t\t\tvalue={settings.stream_key_backup}\n\t\t\t\t\t\tonChange={handleChange('stream_key_backup')}\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t)}\n\t\t\t{settings.rtmp_backup === true && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tGET\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\tEnable primary stream} checked={settings.rtmp_primary} onChange={handleChange('rtmp_primary')} />\n\t\t\t\tEnable backup stream} checked={settings.rtmp_backup} onChange={handleChange('rtmp_backup')} />\n\t\t\t\n\t\t\n\t);\n}\n\nService.defaultProps = {\n\tsettings: {},\n\tskills: {},\n\tmetadata: {},\n\tstreams: [],\n\tonChange: function (output, settings) {},\n};\n\nexport { id, name, version, stream_key_link, description, image_copyright, author, category, requires, ServiceIcon as icon, Service as component };\n","import React from 'react';\n\nimport { faImages as icon } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { Trans } from '@lingui/macro';\nimport Grid from '@mui/material/Grid';\nimport MenuItem from '@mui/material/MenuItem';\n\nimport Select from '../../../misc/Select';\nimport SelectCustom from '../../../misc/SelectCustom';\n\nconst id = 'framebuffer';\nconst name = 'Framebuffer';\nconst version = '1.0';\nconst stream_key_link = '';\nconst description = Send video to Framebuffer;\nconst image_copyright = '';\n\nconst author = {\n\tcreator: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n\tmaintainer: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n};\n\nconst category = 'universal';\nconst requires = {\n\tcodecs: {\n\t\taudio: ['none'],\n\t\tvideo: ['rawvideo'],\n\t},\n\tformats: ['fbdev'],\n\tdevices: ['fbdev'],\n};\n\nfunction ServiceIcon(props) {\n\treturn ;\n}\n\nfunction init(settings) {\n\tconst initSettings = {\n\t\tdevice: 'none',\n\t\tpix_fmt: 'bgra',\n\t\t...settings,\n\t};\n\n\treturn initSettings;\n}\n\nfunction Service(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tsettings[what] = value;\n\n\t\tconst outputs = createOutput(settings);\n\n\t\tprops.onChange(outputs, settings);\n\t};\n\n\tconst createOutput = (settings) => {\n\t\tconst outputs = [];\n\n\t\toutputs.push({\n\t\t\taddress: settings.device,\n\t\t\toptions: ['-pix_fmt', settings.pix_fmt, '-f', 'fbdev'],\n\t\t});\n\n\t\treturn outputs;\n\t};\n\n\tconst filteredDevices = props.skills.devices.fbdev.filter((device) => device.extra !== '');\n\tconst options = filteredDevices.map((device) => {\n\t\treturn {\n\t\t\tvalue: device.id,\n\t\t\tlabel: device.name + ' (' + device.extra + ')',\n\t\t};\n\t});\n\n\toptions.unshift({\n\t\tvalue: 'none',\n\t\tlabel: `Choose an output device ...`,\n\t\tdisabled: true,\n\t});\n\n\tconst videoDevices = (\n\t\tDevice} value={settings.device} onChange={handleChange('device')} variant=\"outlined\" />\n\t);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{videoDevices}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nService.defaultProps = {\n\tsettings: {},\n\tskills: {},\n\tmetadata: {},\n\tstreams: [],\n\tonChange: function (output, settings) {},\n};\n\nexport { id, name, version, stream_key_link, description, image_copyright, author, category, requires, ServiceIcon as icon, Service as component };\n","import React from 'react';\n\nimport FormControl from '@mui/material/FormControl';\nimport InputLabel from '@mui/material/InputLabel';\nimport OutlinedInput from '@mui/material/OutlinedInput';\nimport Select from '@mui/material/Select';\n\nconst MenuProps = {\n\tPaperProps: {\n\t\tstyle: {\n\t\t\twidth: 250,\n\t\t},\n\t},\n};\n\nexport default function Component(props) {\n\treturn (\n\t\t\n\t\t\t{props.label}\n\t\t\t}\n\t\t\t\trenderValue={(selected) => selected.join(', ')}\n\t\t\t\tMenuProps={MenuProps}\n\t\t\t>\n\t\t\t\t{props.children}\n\t\t\t\n\t\t\n\t);\n}\n\nComponent.defaultProps = {\n\tlabel: '',\n\tvalue: [],\n\tonChange: function (event) {},\n};\n","import React from 'react';\n\nimport makeStyles from '@mui/styles/makeStyles';\nimport MenuItem from '@mui/material/MenuItem';\n\nconst useStyles = makeStyles((theme) => ({\n\troot: {\n\t\tfontWeight: 'bold',\n\t\tbackgroundColor: theme.palette.background.dark1,\n\t},\n}));\n\nconst Component = React.forwardRef((props, ref) => {\n\tconst classes = useStyles();\n\n\tconst { name, value, selected, ...other } = props;\n\n\treturn (\n\t\t\n\t\t\t{props.name}\n\t\t\n\t);\n});\n\nexport default Component;\n\nComponent.defaultProps = {\n\tname: '',\n\tvalue: '',\n\tselected: false,\n};\n","import React from 'react';\nimport urlparser from 'url-parse';\n\nimport { faTools } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { Trans } from '@lingui/macro';\nimport Accordion from '@mui/material/Accordion';\nimport AccordionDetails from '@mui/material/AccordionDetails';\nimport AccordionSummary from '@mui/material/AccordionSummary';\nimport Divider from '@mui/material/Divider';\nimport ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown';\nimport Grid from '@mui/material/Grid';\nimport Link from '@mui/material/Link';\nimport MenuItem from '@mui/material/MenuItem';\nimport TextField from '@mui/material/TextField';\nimport Typography from '@mui/material/Typography';\n\nimport Checkbox from '../../../misc/Checkbox';\nimport Select from '../../../misc/Select';\nimport MultiSelect from '../../../misc/MultiSelect';\nimport MultiSelectOption from '../../../misc/MultiSelectOption';\nimport Password from '../../../misc/Password';\n\nconst id = 'hls';\nconst name = 'HLS';\nconst version = '1.0';\nconst stream_key_link = '';\nconst description = (\n\t\n\t\tTransmit the main source as HTTP-Live-Streaming (HLS) to an HTTP/S Server. More details about the settings can be found{' '}\n\t\t\n\t\t\there\n\t\t\n\t\t.\n\t\n);\nconst image_copyright = Please contact the operator of the service and check what happens.;\nconst author = {\n\tcreator: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n\tmaintainer: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n};\nconst category = 'universal';\nconst requires = {\n\tprotocols: ['http', 'https'],\n\tformats: ['hls'],\n\tcodecs: {\n\t\taudio: ['aac', 'mp3'],\n\t\tvideo: ['h264'],\n\t},\n};\n\nfunction ServiceIcon(props) {\n\treturn ;\n}\n\nfunction init(settings) {\n\tconst initSettings = {\n\t\tprotocol: 'https://',\n\t\taddress: '',\n\t\tusername: '',\n\t\tpassword: '',\n\t\toptions: {},\n\t\t...settings,\n\t};\n\n\tinitSettings.options = {\n\t\thls_init_time: '0',\n\t\thls_time: '2',\n\t\thls_list_size: '5',\n\t\thls_delete_threshold: '1',\n\t\thls_ts_options: '',\n\t\thls_start_number_source: 'generic',\n\t\tstart_number: '0',\n\t\thls_allow_cache: false,\n\t\thls_base_url: '',\n\t\thls_segment_filename: '',\n\t\tstrftime_mkdir: '',\n\t\thls_key_info_file: '',\n\t\thls_enc: false,\n\t\thls_enc_key: '',\n\t\thls_enc_key_url: '',\n\t\thls_enc_iv: '',\n\t\thls_segment_type: 'mpegts',\n\t\thls_fmp4_init_filename: 'init.mp4',\n\t\thls_fmp4_init_resend: '0',\n\t\thls_flags: [],\n\t\thls_playlist_type: '',\n\t\tmethod: 'PUT',\n\t\thttp_user_agent: '',\n\t\tvar_stream_map: '',\n\t\tmaster_pl_name: '',\n\t\tmaster_pl_publish_rate: '',\n\t\thttp_persistent: false,\n\t\ttimeout: '',\n\t\tignore_io_errors: false,\n\t\theaders: '',\n\t\t...initSettings.options,\n\t};\n\n\treturn initSettings;\n}\n\nfunction Service(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (what) => (event) => {\n\t\tlet value = event.target.value;\n\n\t\tif (what in settings.options) {\n\t\t\tif (['hls_allow_cache', 'http_persistent', 'ignore_io_errors', 'hls_enc'].includes(what)) {\n\t\t\t\tsettings.options[what] = !settings.options[what];\n\t\t\t} else {\n\t\t\t\tsettings.options[what] = value;\n\t\t\t}\n\t\t} else {\n\t\t\tsettings[what] = value;\n\t\t}\n\n\t\tconst output = createOutput(settings);\n\n\t\tprops.onChange([output], settings);\n\t};\n\n\tconst createOutput = (settings) => {\n\t\tconst options = ['-f', 'hls'];\n\n\t\tfor (let key in settings.options) {\n\t\t\tif (settings.options[key].length === 0) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (typeof settings.options[key] === 'boolean') {\n\t\t\t\toptions.push('-' + key, settings.options[key] === true ? '1' : '0');\n\t\t\t} else {\n\t\t\t\tif (key === 'hls_flags') {\n\t\t\t\t\toptions.push('-' + key, settings.options[key].join('+'));\n\t\t\t\t} else {\n\t\t\t\t\toptions.push('-' + key, '' + settings.options[key]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tlet address = settings.protocol + settings.address;\n\t\tif (settings.username.length !== 0 || settings.password.length !== 0) {\n\t\t\tconst url = urlparser(address);\n\n\t\t\tif (settings.username.length !== 0) {\n\t\t\t\turl.set('username', encodeURIComponent(settings.username));\n\t\t\t}\n\n\t\t\tif (settings.password.length !== 0) {\n\t\t\t\turl.set('password', encodeURIComponent(settings.password));\n\t\t\t}\n\n\t\t\taddress = url.toString();\n\t\t}\n\n\t\tconst output = {\n\t\t\taddress: address,\n\t\t\toptions: options,\n\t\t};\n\n\t\treturn output;\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\tAddress} value={settings.address} onChange={handleChange('address')} />\n\t\t\t\n\t\t\t\n\t\t\t\tUsername} value={settings.username} onChange={handleChange('username')} />\n\t\t\t\n\t\t\t\n\t\t\t\tPassword} value={settings.password} onChange={handleChange('password')} />\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t}>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tAdvanced settings\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tGeneral\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tChunk\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tPlaylist\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tnone\n\t\t\t\t\t\t\t\t\tevent\n\t\t\t\t\t\t\t\t\tvod\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tSegmentation\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tmpegts\n\t\t\t\t\t\t\t\t\tfmp4\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{settings.options.hls_segment_type === 'fmp4' && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t{settings.options.hls_segment_type === 'fmp4' && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tgeneric\n\t\t\t\t\t\t\t\t\tepoch\n\t\t\t\t\t\t\t\t\tepoch_us\n\t\t\t\t\t\t\t\t\tdatetime\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tEncryption\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tDocumentation{' '}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\thttps://ffmpeg.org/ffmpeg-all.html#hls\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nService.defaultProps = {\n\tsettings: {},\n\tskills: {},\n\tmetadata: {},\n\tstreams: [],\n\tonChange: function (output, settings) {},\n};\n\nexport { id, name, version, stream_key_link, description, image_copyright, author, category, requires, ServiceIcon as icon, Service as component };\n","export default __webpack_public_path__ + \"static/media/icecast.381ff466.svg\";","import React from 'react';\n\nimport { Trans } from '@lingui/macro';\nimport Accordion from '@mui/material/Accordion';\nimport AccordionDetails from '@mui/material/AccordionDetails';\nimport AccordionSummary from '@mui/material/AccordionSummary';\nimport Divider from '@mui/material/Divider';\nimport ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown';\nimport Grid from '@mui/material/Grid';\nimport Link from '@mui/material/Link';\nimport TextField from '@mui/material/TextField';\nimport Typography from '@mui/material/Typography';\n\nimport Logo from './logos/icecast.svg';\n\nconst id = 'icecast';\nconst name = 'Icecast';\nconst version = '1.0';\nconst stream_key_link = '';\nconst description = (\n\t\n\t\tTransmit the audio channel of the main source to an Icecast Server. More details about the settings can be found{' '}\n\t\t\n\t\t\there\n\t\t\n\t\t.\n\t\n);\nconst image_copyright = Please contact the operator of the service and check what happens.;\nconst author = {\n\tcreator: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n\tmaintainer: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n};\nconst category = 'software';\nconst requires = {\n\tprotocols: ['icecast'],\n\tformats: ['adts', 'opus', 'mp3', 'ogg', 'webm'],\n\tcodecs: {\n\t\taudio: ['aac', 'opus', 'vorbis', 'mp3'],\n\t\tvideo: ['none', 'vp9'],\n\t},\n};\n\nfunction ServiceIcon(props) {\n\treturn \"Icecat;\n}\n\nfunction init(settings, metadata) {\n\tconst initSettings = {\n\t\tprotocol: 'icecast://',\n\t\taddress: '',\n\t\toptions: {},\n\t\tprofiles: {},\n\t\t...settings,\n\t};\n\n\tinitSettings.options = {\n\t\tice_genre: '',\n\t\tice_name: metadata.name,\n\t\tice_description: metadata.description,\n\t\tice_url: '',\n\t\tice_public: true,\n\t\tuser_agent: '',\n\t\tlegacy_icecast: false,\n\t\ttls: false,\n\t\t...initSettings.options,\n\t};\n\n\treturn initSettings;\n}\n\nfunction Service(props) {\n\tconst settings = init(props.settings, props.metadata);\n\n\tconst handleChange = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tif (what in settings.options) {\n\t\t\tif (['ice_public', 'legacy_icecast', 'tls'].includes(what)) {\n\t\t\t\tsettings.options[what] = !settings.options[what];\n\t\t\t} else {\n\t\t\t\tsettings.options[what] = value;\n\t\t\t}\n\t\t}\n\n\t\tconst output = createOutput(settings);\n\n\t\tprops.onChange([output], settings);\n\t};\n\n\tconst createOutput = (settings) => {\n\t\tlet hasVideo = false;\n\t\tlet audioCodec = '';\n\n\t\tfor (let i = 0; i < props.streams.length; i++) {\n\t\t\tif (props.streams[i].type === 'video') {\n\t\t\t\thasVideo = true;\n\t\t\t} else if (props.streams[i].type === 'audio') {\n\t\t\t\taudioCodec = props.streams[i].codec;\n\t\t\t}\n\t\t}\n\n\t\tconst options = [];\n\n\t\tfor (let key in settings.options) {\n\t\t\tif (settings.options[key].length === 0) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\toptions.push('-' + key, String(settings.options[key]));\n\t\t}\n\n\t\t// https://gist.github.com/keiya/c8a5cbd4fe2594ddbb3390d9cf7dcac9#file-readme-md\n\t\t// https://wiki.xiph.org/Icecast_Server/Streaming_WebM_to_Icecast_with_FFmpeg\n\n\t\tif (hasVideo === true) {\n\t\t\toptions.push('-f', 'webm', '-cluster_size_limit', '2', '-cluster_time_limit', '5100', '-content_type', 'video/webm');\n\t\t} else {\n\t\t\tswitch (audioCodec) {\n\t\t\t\tcase 'aac':\n\t\t\t\t\toptions.push('-content_type', 'audio/aac', '-f', 'adts');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'vorbis':\n\t\t\t\t\toptions.push('-content_type', 'audio/ogg', '-f', 'ogg');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'opus':\n\t\t\t\t\toptions.push('-content_type', 'audio/ogg', '-f', 'opus');\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'mp3':\n\t\t\t\t\toptions.push('-content_type', 'audio/mpeg', '-f', 'mp3');\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\tconst output = {\n\t\t\taddress: settings.protocol + settings.address,\n\t\t\toptions: options,\n\t\t};\n\n\t\treturn output;\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\tProtocol} value={settings.protocol} readOnly disabled />\n\t\t\t\n\t\t\t\n\t\t\t\tAddress}\n\t\t\t\t\tvalue={settings.address}\n\t\t\t\t\tplaceholder=\"username:password@server:port/mountpoint\"\n\t\t\t\t\tonChange={handleChange('address')}\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t}>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tAdvanced settings\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tGeneral\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tDocumentation{' '}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\thttp://ffmpeg.org/ffmpeg-all.html#Icecast\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nService.defaultProps = {\n\tsettings: {},\n\tskills: {},\n\tmetadata: {},\n\tstreams: [],\n\tonChange: function (output, settings) {},\n};\n\nexport { id, name, version, stream_key_link, description, image_copyright, author, category, requires, ServiceIcon as icon, Service as component };\n","import React from 'react';\n\nimport { faImages as icon } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { Trans } from '@lingui/macro';\nimport Accordion from '@mui/material/Accordion';\nimport AccordionDetails from '@mui/material/AccordionDetails';\nimport AccordionSummary from '@mui/material/AccordionSummary';\nimport Divider from '@mui/material/Divider';\nimport ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown';\nimport Grid from '@mui/material/Grid';\nimport Link from '@mui/material/Link';\nimport MenuItem from '@mui/material/MenuItem';\nimport TextField from '@mui/material/TextField';\nimport Typography from '@mui/material/Typography';\n\nimport Checkbox from '../../../misc/Checkbox';\nimport Select from '../../../misc/Select';\n\nconst id = 'image2';\nconst name = 'Image2';\nconst version = '1.0';\nconst stream_key_link = '';\nconst description = (\n\t\n\t\tTransmit snapshots of the main source to an HTTP/S Server. More details about the settings can be found{' '}\n\t\t\n\t\t\there\n\t\t\n\t\t.\n\t\n);\nconst image_copyright = Please contact the operator of the service and check what happens.;\nconst author = {\n\tcreator: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n\tmaintainer: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n};\nconst category = 'universal';\nconst requires = {\n\tprotocols: ['http', 'https'],\n\tformats: ['image2'],\n\tcodecs: {\n\t\taudio: ['none'],\n\t\tvideo: ['h264'],\n\t},\n};\n\nfunction ServiceIcon(props) {\n\treturn ;\n}\n\nfunction init(settings) {\n\tconst initSettings = {\n\t\tprotocol: 'https://',\n\t\taddress: '',\n\t\toptions: {},\n\t\t...settings,\n\t};\n\n\tinitSettings.options = {\n\t\tframe_pts: false,\n\t\tstart_number: '1',\n\t\tupdate: true,\n\t\tstrftime: false,\n\t\tmethod: 'PUT',\n\t\t...initSettings.options,\n\t};\n\n\treturn initSettings;\n}\n\nfunction Service(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tif (what in settings.options) {\n\t\t\tif (['frame_pts', 'update', 'strftime'].includes(what)) {\n\t\t\t\tsettings.options[what] = !settings.options[what];\n\t\t\t} else {\n\t\t\t\tsettings.options[what] = value;\n\t\t\t}\n\t\t} else {\n\t\t\tsettings[what] = value;\n\t\t}\n\n\t\tconst output = createOutput(settings);\n\n\t\tprops.onChange([output], settings);\n\t};\n\n\tconst createOutput = (settings) => {\n\t\tconst options = ['-f', 'image2'];\n\n\t\tfor (let key in settings.options) {\n\t\t\tif (settings.options[key].length === 0) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\toptions.push('-' + key, String(settings.options[key]));\n\t\t}\n\n\t\tconst output = {\n\t\t\taddress: settings.protocol + settings.address,\n\t\t\toptions: options,\n\t\t};\n\n\t\treturn output;\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\tAddress} value={settings.address} onChange={handleChange('address')} />\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t}>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tAdvanced settings\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tGeneral\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tDocumentation{' '}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\thttps://ffmpeg.org/ffmpeg-all.html#image2\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nService.defaultProps = {\n\tsettings: {},\n\tskills: {},\n\tmetadata: {},\n\tstreams: [],\n\tonChange: function (output, settings) {},\n};\n\nexport { id, name, version, stream_key_link, description, image_copyright, author, category, requires, ServiceIcon as icon, Service as component };\n","import React from 'react';\n\nimport { faInstagram } from '@fortawesome/free-brands-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { Trans } from '@lingui/macro';\nimport Grid from '@mui/material/Grid';\nimport Link from '@mui/material/Link';\nimport TextField from '@mui/material/TextField';\n\nimport FormInlineButton from '../../../misc/FormInlineButton';\n\nconst id = 'instagram';\nconst name = 'Instagram';\nconst version = '1.0';\nconst stream_key_link = 'https://yellowduck.tv/';\nconst description = (\n\t\n\t\tLive-Streaming to Instagram Live RTMP Service. The stream key requires a service such as{' '}\n\t\t\n\t\t\tYellow Duck\n\t\t\n\t\t.\n\t\n);\nconst image_copyright = '';\nconst author = {\n\tcreator: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n\tmaintainer: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n};\nconst category = 'platform';\nconst requires = {\n\tprotocols: ['rtmps'],\n\tformats: ['flv'],\n\tcodecs: {\n\t\taudio: ['aac', 'mp3'],\n\t\tvideo: ['h264'],\n\t},\n};\n\nfunction ServiceIcon(props) {\n\treturn ;\n}\n\nfunction init(settings) {\n\tconst initSettings = {\n\t\tkey: '',\n\t\t...settings,\n\t};\n\n\treturn initSettings;\n}\n\nfunction Service(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tsettings[what] = value;\n\n\t\tconst output = createOutput(settings);\n\n\t\tprops.onChange([output], settings);\n\t};\n\n\tconst createOutput = (settings) => {\n\t\tconst output = {\n\t\t\taddress: 'rtmps://live-upload.instagram.com:443/rtmp/' + settings.key,\n\t\t\toptions: ['-f', 'flv'],\n\t\t};\n\n\t\treturn output;\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\tStream key} value={settings.key} onChange={handleChange('key')} />\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tGET\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nService.defaultProps = {\n\tsettings: {},\n\tskills: {},\n\tmetadata: {},\n\tstreams: [],\n\tonChange: function (output, settings) {},\n};\n\nexport { id, name, version, stream_key_link, description, image_copyright, author, category, requires, ServiceIcon as icon, Service as component };\n","export default __webpack_public_path__ + \"static/media/livespotting.a4a3b5b3.svg\";","import React from 'react';\n\nimport { Trans } from '@lingui/macro';\nimport Grid from '@mui/material/Grid';\nimport Link from '@mui/material/Link';\nimport TextField from '@mui/material/TextField';\n\nimport Logo from './logos/livespotting.svg';\n\nconst id = 'livespotting';\nconst name = 'livespotting';\nconst version = '1.0';\nconst stream_key_link = '';\nconst description = (\n\t\n\t\tTransmit the main source to an livespotting.com Ressource. More details about the settings can be found{' '}\n\t\t\n\t\t\there\n\t\t\n\t\t.\n\t\n);\nconst image_copyright = Please contact the operator of the service and check what happens.;\nconst author = {\n\tcreator: {\n\t\tname: 'livespotting.com',\n\t\tlink: 'https://livespotting.com',\n\t},\n\tmaintainer: {\n\t\tname: 'livespotting.com',\n\t\tlink: 'https://livespotting.com',\n\t},\n};\nconst category = 'platform';\nconst requires = {\n\tprotocols: ['rtmp', 'rtmps'],\n\tformats: ['flv'],\n\tcodecs: {\n\t\taudio: ['aac'],\n\t\tvideo: ['h264'],\n\t},\n};\n\nfunction ServiceIcon(props) {\n\treturn \"livespotting.com;\n}\n\nfunction init(settings) {\n\tconst initSettings = {\n\t\tprotocol: 'rtmp://',\n\t\tbase_url: '-vpu.livespotting.com:1935/live/',\n\t\tvpu_id: '',\n\t\tlivesource_id: '',\n\t\trtmp_token: '',\n\t\t...settings,\n\t};\n\n\treturn initSettings;\n}\n\nfunction Service(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tsettings[what] = value;\n\n\t\tconst output = createOutput(settings);\n\n\t\tprops.onChange([output], settings);\n\t};\n\n\tconst createOutput = (settings) => {\n\t\tconst options = ['-f', 'flv'];\n\n\t\tconst output = {\n\t\t\taddress: settings.protocol + settings.vpu_id + settings.base_url + settings.livesource_id + '?token=' + settings.rtmp_token,\n\t\t\toptions: options,\n\t\t};\n\n\t\treturn output;\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\tVPU ID} value={settings.vpu_id} onChange={handleChange('vpu_id')} />\n\t\t\t\n\t\t\t\n\t\t\t\tLivesource ID}\n\t\t\t\t\tvalue={settings.livesource_id}\n\t\t\t\t\tonChange={handleChange('livesource_id')}\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\tSecurity token}\n\t\t\t\t\tvalue={settings.rtmp_token}\n\t\t\t\t\tonChange={handleChange('rtmp_token')}\n\t\t\t\t/>\n\t\t\t\n\t\t\n\t);\n}\n\nService.defaultProps = {\n\tsettings: {},\n\tskills: {},\n\tmetadata: {},\n\tstreams: [],\n\tonChange: function (output, settings) {},\n};\n\nexport { id, name, version, stream_key_link, description, image_copyright, author, category, requires, ServiceIcon as icon, Service as component };\n","import React from 'react';\n\nimport { faTools } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { Trans } from '@lingui/macro';\nimport Accordion from '@mui/material/Accordion';\nimport AccordionDetails from '@mui/material/AccordionDetails';\nimport AccordionSummary from '@mui/material/AccordionSummary';\nimport Divider from '@mui/material/Divider';\nimport ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown';\nimport Grid from '@mui/material/Grid';\nimport Link from '@mui/material/Link';\nimport MenuItem from '@mui/material/MenuItem';\nimport TextField from '@mui/material/TextField';\nimport Typography from '@mui/material/Typography';\n\nimport Checkbox from '../../../misc/Checkbox';\nimport Select from '../../../misc/Select';\nimport MultiSelect from '../../../misc/MultiSelect';\nimport MultiSelectOption from '../../../misc/MultiSelectOption';\n\nconst id = 'mpegts';\nconst name = 'MPEG-TS';\nconst version = '1.0';\nconst stream_key_link = '';\nconst description = (\n\t\n\t\tTransmit the main source to an MPEG-TS Service. More details about the settings can be found here{' '}\n\t\t\n\t\t\there\n\t\t\n\t\t.\n\t\n);\nconst image_copyright = Please contact the operator of the service and check what happens.;\nconst author = {\n\tcreator: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n\tmaintainer: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n};\nconst category = 'universal';\nconst requires = {\n\tprotocols: ['udp', 'tcp'],\n\tformats: ['mpegts'],\n\tcodecs: {\n\t\taudio: ['aac', 'mp3'],\n\t\tvideo: ['h264'],\n\t},\n};\n\nfunction ServiceIcon(props) {\n\treturn ;\n}\n\nfunction init(settings) {\n\tconst initSettings = {\n\t\tprotocol: 'udp://',\n\t\taddress: '',\n\t\toptions: {},\n\t\t...settings,\n\t};\n\n\tinitSettings.options = {\n\t\tservice_provider: 'ffmpeg',\n\t\tservice_name: 'Service01',\n\t\tmpegts_transport_stream_id: '0x0001',\n\t\tmpegts_original_network_id: '0x0001',\n\t\tmpegts_service_id: '0x0001',\n\t\tmpegts_service_type: 'digital_tv',\n\t\tmpegts_service_type_hex_value: '',\n\t\tmpegts_pmt_start_pid: '0x1000',\n\t\tmpegts_start_pid: '0x0100',\n\t\tmpegts_m2ts_mode: false,\n\t\tmuxrate: 'VBR',\n\t\tpes_payload_size: '2930',\n\t\tmpegts_flags: [],\n\t\tmpegts_copyts: false,\n\t\tomit_video_pes_length: true,\n\t\tpcr_period: '-1',\n\t\tpat_period: '0.1',\n\t\tsdt_period: '0.5',\n\t\ttables_version: '0',\n\t\t...initSettings.options,\n\t};\n\n\treturn initSettings;\n}\n\nfunction Service(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tif (what in settings.options) {\n\t\t\tif (['mpegts_m2ts_mode', 'mpegts_copyts', 'omit_video_pes_length'].includes(what)) {\n\t\t\t\tsettings.options[what] = !settings.options[what];\n\t\t\t} else {\n\t\t\t\tsettings.options[what] = value;\n\t\t\t}\n\t\t} else {\n\t\t\tsettings[what] = value;\n\t\t}\n\n\t\tconst output = createOutput(settings);\n\n\t\tprops.onChange([output], settings);\n\t};\n\n\tconst createOutput = (settings) => {\n\t\tconst options = ['-f', 'mpegts'];\n\n\t\tfor (let key in settings.options) {\n\t\t\tif (settings.options[key].length === 0) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tif (key === 'mpegts_service_type' && settings.options.mpegts_service_type === 'hex_value') {\n\t\t\t\tif (settings.options.mpegts_service_type_hex_value.length !== 0) {\n\t\t\t\t\toptions.push('-mpegts_service_type', String(settings.options.mpegts_service_type_hex_value));\n\t\t\t\t}\n\t\t\t} else if (key === 'mpegts_service_type_hex_value') {\n\t\t\t\tcontinue;\n\t\t\t} else if (['mpegts_m2ts_mode', 'mpegts_copyts', 'omit_video_pes_length'].includes(key)) {\n\t\t\t\tif (key) {\n\t\t\t\t\toptions.push('-' + key, '1');\n\t\t\t\t} else {\n\t\t\t\t\toptions.push('-' + key, '-1');\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toptions.push('-' + key, String(settings.options[key]));\n\t\t\t}\n\t\t}\n\n\t\tconst output = {\n\t\t\taddress: settings.protocol + settings.address,\n\t\t\toptions: options,\n\t\t};\n\n\t\treturn output;\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\tProtocol}\n\t\t\t\t\tvalue={settings.protocol}\n\t\t\t\t\tonChange={handleChange('protocol')}\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\tAddress} value={settings.address} onChange={handleChange('address')} />\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t}>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tAdvanced settings\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\thex_value\n\t\t\t\t\t\t\t\t\tdigital_tv\n\t\t\t\t\t\t\t\t\tdigital_radio\n\t\t\t\t\t\t\t\t\tteletext\n\t\t\t\t\t\t\t\t\tadvanced_codec_digital_radio\n\t\t\t\t\t\t\t\t\tmpeg2_digital_hdtv\n\t\t\t\t\t\t\t\t\tadvanced_codec_digital_sdtv\n\t\t\t\t\t\t\t\t\tadvanced_codec_digital_hdtv\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{settings.options.mpegts_service_type === 'hex_value' && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tDocumentation{' '}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\thttps://ffmpeg.org/ffmpeg-all.html#mpegts-1\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nService.defaultProps = {\n\tsettings: {},\n\tskills: {},\n\tmetadata: {},\n\tstreams: [],\n\tonChange: function (output, settings) {},\n};\n\nexport { id, name, version, stream_key_link, description, image_copyright, author, category, requires, ServiceIcon as icon, Service as component };\n","export default __webpack_public_path__ + \"static/media/red5.77374350.svg\";","import React from 'react';\n\nimport { Trans } from '@lingui/macro';\nimport Grid from '@mui/material/Grid';\nimport Link from '@mui/material/Link';\nimport MenuItem from '@mui/material/MenuItem';\nimport TextField from '@mui/material/TextField';\n\nimport Logo from './logos/red5.svg';\nimport Select from '../../../misc/Select';\n\nconst id = 'red5';\nconst name = 'Red5';\nconst version = '1.0';\nconst stream_key_link = '';\nconst description = (\n\t\n\t\tTransmit the main source to an Red5/Pro Server. More details about the settings can be found{' '}\n\t\t\n\t\t\there\n\t\t\n\t\t.\n\t\n);\nconst image_copyright = Please contact the operator of the service and check what happens.;\nconst author = {\n\tcreator: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n\tmaintainer: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n};\nconst category = 'software';\nconst requires = {\n\tprotocols: ['rtmp', 'rtp'],\n\tformats: ['flv', 'rtsp'],\n\tcodecs: {\n\t\taudio: ['aac', 'mp3'],\n\t\tvideo: ['h264'],\n\t},\n};\n\nfunction ServiceIcon(props) {\n\treturn \"Red5;\n}\n\nfunction init(settings) {\n\tconst initSettings = {\n\t\tprotocol: 'rtmp://',\n\t\tusername: '',\n\t\tpassword: '',\n\t\taddress: '',\n\t\tapplication: 'live',\n\t\tstream_name: 'myStream',\n\t\t...settings,\n\t};\n\n\treturn initSettings;\n}\n\nfunction Service(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tsettings[what] = value;\n\n\t\tconst output = createOutput(settings);\n\n\t\tprops.onChange([output], settings);\n\t};\n\n\tconst createOutput = (settings) => {\n\t\tconst options = [];\n\n\t\tif (settings.protocol === 'rtsp') {\n\t\t\toptions.push('-f', 'rtsp');\n\t\t} else {\n\t\t\toptions.push('-f', 'flv');\n\t\t}\n\n\t\tlet protocol = '';\n\n\t\tif (settings.username.length !== 0 && settings.password.length !== 0) {\n\t\t\tprotocol = settings.protocol + settings.username + ':' + settings.password + '@';\n\t\t} else {\n\t\t\tprotocol = settings.protocol;\n\t\t}\n\n\t\tconst output = {\n\t\t\taddress: protocol + settings.address + '/' + settings.application + '/' + settings.stream_name,\n\t\t\toptions: options,\n\t\t};\n\n\t\treturn output;\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\tAddress}\n\t\t\t\t\tplaceholder=\"red5-address:port\"\n\t\t\t\t\tvalue={settings.address}\n\t\t\t\t\tonChange={handleChange('address')}\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\tApplication}\n\t\t\t\t\tvalue={settings.application}\n\t\t\t\t\tonChange={handleChange('application')}\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\tStream name}\n\t\t\t\t\tvalue={settings.stream_name}\n\t\t\t\t\tonChange={handleChange('stream_name')}\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\tUsername}\n\t\t\t\t\tplaceholder=\"username\"\n\t\t\t\t\tvalue={settings.username}\n\t\t\t\t\tonChange={handleChange('username')}\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\tPassword}\n\t\t\t\t\tplaceholder=\"username\"\n\t\t\t\t\tvalue={settings.password}\n\t\t\t\t\tonChange={handleChange('password')}\n\t\t\t\t/>\n\t\t\t\n\t\t\n\t);\n}\n\nService.defaultProps = {\n\tsettings: {},\n\tskills: {},\n\tmetadata: {},\n\tstreams: [],\n\tonChange: function (output, settings) {},\n};\n\nexport { id, name, version, stream_key_link, description, image_copyright, author, category, requires, ServiceIcon as icon, Service as component };\n","export default __webpack_public_path__ + \"static/media/restream.da109720.svg\";","import React from 'react';\n\nimport { Trans } from '@lingui/macro';\nimport Grid from '@mui/material/Grid';\nimport Link from '@mui/material/Link';\nimport MenuItem from '@mui/material/MenuItem';\nimport TextField from '@mui/material/TextField';\n\nimport Logo from './logos/restream.svg';\nimport FormInlineButton from '../../../misc/FormInlineButton';\nimport Select from '../../../misc/Select';\n\nconst id = 'restream';\nconst name = 'Restream';\nconst version = '1.0';\nconst stream_key_link = 'https://restream.io/settings/streaming-setup?from=datarhei/restreamer';\nconst description = (\n\t\n\t\tTransmit the main source to the Restream RTMP Service. More details about the settings can be found{' '}\n\t\t\n\t\t\there\n\t\t\n\t\t.\n\t\n);\nconst image_copyright = Please contact the operator of the service and check what happens.;\nconst author = {\n\tcreator: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n\tmaintainer: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n};\nconst category = 'platform';\nconst requires = {\n\tprotocols: ['rtmps'],\n\tformats: ['flv'],\n\tcodecs: {\n\t\taudio: ['aac', 'mp3'],\n\t\tvideo: ['h264'],\n\t},\n};\n\nfunction ServiceIcon(props) {\n\treturn \"restream.io;\n}\n\nfunction init(settings) {\n\tconst initSettings = {\n\t\tregion: 'live',\n\t\tstream_key: '',\n\t\t...settings,\n\t};\n\n\treturn initSettings;\n}\n\nfunction Service(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tsettings[what] = value;\n\n\t\tconst output = createOutput(settings);\n\n\t\tprops.onChange([output], settings);\n\t};\n\n\tconst createOutput = (settings) => {\n\t\tconst output = {\n\t\t\taddress: 'rtmp://' + settings.region + '.restream.io/live/' + settings.stream_key,\n\t\t\toptions: ['-f', 'flv'],\n\t\t};\n\n\t\treturn output;\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\tStream key} value={settings.stream_key} onChange={handleChange('stream_key')} />\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tGET\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nService.defaultProps = {\n\tsettings: {},\n\tskills: {},\n\tmetadata: {},\n\tstreams: [],\n\tonChange: function (output, settings) {},\n};\n\nexport { id, name, version, stream_key_link, description, image_copyright, author, category, requires, ServiceIcon as icon, Service as component };\n","import React from 'react';\n\nimport { faTools } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { Trans } from '@lingui/macro';\nimport Accordion from '@mui/material/Accordion';\nimport AccordionDetails from '@mui/material/AccordionDetails';\nimport AccordionSummary from '@mui/material/AccordionSummary';\nimport Divider from '@mui/material/Divider';\nimport ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown';\nimport Grid from '@mui/material/Grid';\nimport Link from '@mui/material/Link';\nimport MenuItem from '@mui/material/MenuItem';\nimport TextField from '@mui/material/TextField';\nimport Typography from '@mui/material/Typography';\n\nimport Select from '../../../misc/Select';\n\nconst id = 'rtmp';\nconst name = 'RTMP';\nconst version = '1.0';\nconst stream_key_link = '';\nconst description = (\n\t\n\t\tTransmit the main source to an RTMP(e|s|t|te|ts) Server. More details about the settings can be found{' '}\n\t\t\n\t\t\there\n\t\t\n\t\t.\n\t\n);\nconst image_copyright = Please contact the operator of the service and check what happens.;\nconst author = {\n\tcreator: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n\tmaintainer: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n};\nconst category = 'universal';\nconst requires = {\n\tprotocols: ['rtmp', 'rtmps', 'rtmpt', 'rtmpts'],\n\tformats: ['flv'],\n\tcodecs: {\n\t\taudio: ['aac', 'mp3'],\n\t\tvideo: ['h264'],\n\t},\n};\n\nfunction ServiceIcon(props) {\n\treturn ;\n}\n\nfunction init(settings) {\n\tconst initSettings = {\n\t\tprotocol: 'rtmp://',\n\t\taddress: '',\n\t\toptions: {},\n\t\t...settings,\n\t};\n\n\tinitSettings.options = {\n\t\trtmp_app: '',\n\t\trtmp_playpath: '',\n\t\trtmp_pageurl: '',\n\t\trtmp_tcurl: '',\n\t\trtmp_conn: '',\n\t\trtmp_flashver: 'FMLE/3.0',\n\t\trtmp_flush_interval: '10',\n\t\trtmp_swfhash: '',\n\t\trtmp_swfsize: '',\n\t\t...initSettings.options,\n\t};\n\n\treturn initSettings;\n}\n\nfunction Service(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tif (what in settings.options) {\n\t\t\tsettings.options[what] = value;\n\t\t} else {\n\t\t\tsettings[what] = value;\n\t\t}\n\n\t\tconst output = createOutput(settings);\n\n\t\tprops.onChange([output], settings);\n\t};\n\n\tconst createOutput = (settings) => {\n\t\tconst options = ['-f', 'flv'];\n\n\t\tfor (let key in settings.options) {\n\t\t\tif (settings.options[key].length !== 0) {\n\t\t\t\tif (key !== 'rtmp_flush_interval') {\n\t\t\t\t\toptions.push('-' + key, settings.options[key]);\n\t\t\t\t} else if (settings.protocol.includes('rtmpt')) {\n\t\t\t\t\toptions.push('-' + key, settings.options[key]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst output = {\n\t\t\taddress: settings.protocol + settings.address,\n\t\t\toptions: options,\n\t\t};\n\n\t\treturn output;\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\tAddress} value={settings.address} onChange={handleChange('address')} />\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t}>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tAdvanced settings\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tGeneral\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{settings.protocol.includes('rtmpt') && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tEncryption\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tDocumentation{' '}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\thttps://ffmpeg.org/ffmpeg-all.html#rtmp\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nService.defaultProps = {\n\tsettings: {},\n\tskills: {},\n\tmetadata: {},\n\tstreams: [],\n\tonChange: function (output, settings) {},\n};\n\nexport { id, name, version, stream_key_link, description, image_copyright, author, category, requires, ServiceIcon as icon, Service as component };\n","import React from 'react';\nimport urlparser from 'url-parse';\n\nimport { faTools } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { Trans } from '@lingui/macro';\nimport Accordion from '@mui/material/Accordion';\nimport AccordionDetails from '@mui/material/AccordionDetails';\nimport AccordionSummary from '@mui/material/AccordionSummary';\nimport Divider from '@mui/material/Divider';\nimport ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown';\nimport Grid from '@mui/material/Grid';\nimport Link from '@mui/material/Link';\nimport MenuItem from '@mui/material/MenuItem';\nimport TextField from '@mui/material/TextField';\nimport Typography from '@mui/material/Typography';\n\nimport Select from '../../../misc/Select';\nimport MultiSelect from '../../../misc/MultiSelect';\nimport MultiSelectOption from '../../../misc/MultiSelectOption';\nimport Password from '../../../misc/Password';\n\nconst id = 'rtsp';\nconst name = 'RTSP';\nconst version = '1.0';\nconst stream_key_link = '';\nconst description = (\n\t\n\t\tTransmit the main source to an RTSP Server. More details about the settings can be found{' '}\n\t\t\n\t\t\there\n\t\t\n\t\t.\n\t\n);\nconst image_copyright = Please contact the operator of the service and check what happens.;\nconst author = {\n\tcreator: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n\tmaintainer: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n};\nconst category = 'universal';\nconst requires = {\n\tprotocols: ['rtp'],\n\tformats: ['rtsp'],\n\tcodecs: {\n\t\taudio: ['aac', 'mp3'],\n\t\tvideo: ['h264'],\n\t},\n};\n\nfunction ServiceIcon(props) {\n\treturn ;\n}\n\nfunction init(settings) {\n\tconst initSettings = {\n\t\tprotocol: 'rtsp://',\n\t\taddress: '',\n\t\tusername: '',\n\t\tpassword: '',\n\t\toptions: {},\n\t\t...settings,\n\t};\n\n\tinitSettings.options = {\n\t\trtsp_transport: '',\n\t\trtsp_flags: '',\n\t\tallowed_media_types: [],\n\t\treorder_queue_size: '',\n\t\tuser_agent: '',\n\t\tmuxdelay: '0.1',\n\t\t...initSettings.options,\n\t};\n\n\treturn initSettings;\n}\n\nfunction Service(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tif (what in settings.options) {\n\t\t\tsettings.options[what] = value;\n\t\t} else {\n\t\t\tsettings[what] = value;\n\t\t}\n\n\t\tconst output = createOutput(settings);\n\n\t\tprops.onChange([output], settings);\n\t};\n\n\tconst createOutput = (settings) => {\n\t\tconst options = ['-f', 'rtsp'];\n\n\t\tfor (let key in settings.options) {\n\t\t\tif (settings.options[key].length !== 0) {\n\t\t\t\tif (key !== 'user_agent') {\n\t\t\t\t\toptions.push('-' + key, settings.options[key]);\n\t\t\t\t} else {\n\t\t\t\t\toptions.push('-user-agent', settings.options.user_agent);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tlet address = settings.protocol + settings.address;\n\t\tif (settings.username.length !== 0 || settings.password.length !== 0) {\n\t\t\tconst url = urlparser(address);\n\n\t\t\tif (settings.username.length !== 0) {\n\t\t\t\turl.set('username', encodeURIComponent(settings.username));\n\t\t\t}\n\n\t\t\tif (settings.password.length !== 0) {\n\t\t\t\turl.set('password', encodeURIComponent(settings.password));\n\t\t\t}\n\n\t\t\taddress = url.toString();\n\t\t}\n\n\t\tconst output = {\n\t\t\taddress: address,\n\t\t\toptions: options,\n\t\t};\n\n\t\treturn output;\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\tProtocol}\n\t\t\t\t\tvalue={settings.protocol}\n\t\t\t\t\tonChange={handleChange('protocol')}\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\tAddress} value={settings.address} onChange={handleChange('address')} />\n\t\t\t\n\t\t\t\n\t\t\t\tUsername} value={settings.username} onChange={handleChange('username')} />\n\t\t\t\n\t\t\t\n\t\t\t\tPassword} value={settings.password} onChange={handleChange('password')} />\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t}>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tAdvanced settings\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tGeneral\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tDocumentation{' '}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\thttps://ffmpeg.org/ffmpeg-all.html#rtsp\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nService.defaultProps = {\n\tsettings: {},\n\tskills: {},\n\tmetadata: {},\n\tstreams: [],\n\tonChange: function (output, settings) {},\n};\n\nexport { id, name, version, stream_key_link, description, image_copyright, author, category, requires, ServiceIcon as icon, Service as component };\n","import React from 'react';\n\nimport { faTools } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { Trans } from '@lingui/macro';\nimport Accordion from '@mui/material/Accordion';\nimport AccordionDetails from '@mui/material/AccordionDetails';\nimport AccordionSummary from '@mui/material/AccordionSummary';\nimport Divider from '@mui/material/Divider';\nimport ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown';\nimport Grid from '@mui/material/Grid';\nimport Link from '@mui/material/Link';\nimport MenuItem from '@mui/material/MenuItem';\nimport TextField from '@mui/material/TextField';\nimport Typography from '@mui/material/Typography';\n\nimport Checkbox from '../../../misc/Checkbox';\nimport Select from '../../../misc/Select';\n\nconst id = 'srt';\nconst name = 'SRT';\nconst version = '1.0';\nconst stream_key_link = '';\nconst description = (\n\t\n\t\tTransmit the main source to an SRT Server. More details about the settings can be found{' '}\n\t\t\n\t\t\there\n\t\t\n\t\t.\n\t\n);\nconst image_copyright = Please contact the operator of the service and check what happens.;\nconst author = {\n\tcreator: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n\tmaintainer: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n};\nconst category = 'universal';\nconst requires = {\n\tprotocols: ['srt'],\n\tformats: ['mpegts'],\n\tcodecs: {\n\t\taudio: ['aac', 'mp3'],\n\t\tvideo: ['h264'],\n\t},\n};\n\nfunction ServiceIcon(props) {\n\treturn ;\n}\n\nconst defaults = {\n\tconnect_timeout: '3000',\n\tffs: '25600',\n\tinputbw: '0',\n\tiptos: '0xB8',\n\tipttl: '64',\n\tlatency: '120000',\n\tlisten_timeout: '0',\n\tmaxbw: '0',\n\tmode: 'caller',\n\tmss: '1500',\n\tnakreport: true,\n\toheadbw: '25',\n\tpayload_size: '-1',\n\tsend_buffer_size: '0',\n\ttimeout: '3000000',\n\ttlpktdrop: true,\n\tsndbuf: '0',\n\trcvbuf: '0',\n\tlossmaxttl: '0',\n\tsmoother: 'live',\n\tstreamid: '',\n\ttranstype: '',\n\tpassphrase: '',\n\tenforced_encryption: false,\n\tkmrefreshrate: '-1',\n\tkmpreannounce: '-1',\n\tpbkeylen: '16',\n};\n\nfunction init(settings) {\n\tconst initSettings = {\n\t\tprotocol: 'srt://',\n\t\taddress: '',\n\t\tparams: {},\n\t\t...settings,\n\t};\n\n\tinitSettings.params = {\n\t\t...defaults,\n\t\ttranstype: 'live',\n\t\t...initSettings.params,\n\t};\n\n\treturn initSettings;\n}\n\nfunction Service(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tif (what in settings.params) {\n\t\t\tif (['enforced_encryption', 'tlpktdrop', 'nakreport'].includes(what)) {\n\t\t\t\tsettings.params[what] = !settings.params[what];\n\t\t\t} else {\n\t\t\t\tsettings.params[what] = value;\n\t\t\t}\n\t\t} else {\n\t\t\tsettings[what] = value;\n\t\t}\n\n\t\tconst output = createOutput(settings);\n\n\t\tprops.onChange([output], settings);\n\t};\n\n\tconst createOutput = (settings) => {\n\t\tconst params = [];\n\n\t\tfor (let key in settings.params) {\n\t\t\tif (settings.params[key].length === 0) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (settings.params[key] === defaults[key]) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tif (typeof settings.params[key] === 'boolean') {\n\t\t\t\tparams.push(key + '=' + (settings.params[key] ? '1' : '0'));\n\t\t\t} else {\n\t\t\t\tparams.push(key + '=' + settings.params[key]);\n\t\t\t}\n\t\t}\n\n\t\tconst options = ['-bsf:v', 'dump_extra', '-f', 'mpegts'];\n\n\t\tconst output = {\n\t\t\taddress: settings.protocol + settings.address + '?' + params.join('&'),\n\t\t\toptions: options,\n\t\t};\n\n\t\treturn output;\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\tProtocol} value={settings.protocol} readOnly disabled />\n\t\t\t\n\t\t\t\n\t\t\t\tAddress} value={settings.address} onChange={handleChange('address')} />\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t} className=\"accordion-summary\">\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tAdvanced settings\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tGeneral\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tEncryption\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tDocumentation{' '}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\thttps://ffmpeg.org/ffmpeg-all.html#srt\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nService.defaultProps = {\n\tsettings: {},\n\tskills: {},\n\tmetadata: {},\n\tstreams: [],\n\tonChange: function (output, settings) {},\n};\n\nexport { id, name, version, stream_key_link, description, image_copyright, author, category, requires, ServiceIcon as icon, Service as component };\n","import React from 'react';\n\nimport { faTwitch } from '@fortawesome/free-brands-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { Trans } from '@lingui/macro';\nimport Grid from '@mui/material/Grid';\nimport MenuItem from '@mui/material/MenuItem';\nimport TextField from '@mui/material/TextField';\n\nimport FormInlineButton from '../../../misc/FormInlineButton';\nimport Select from '../../../misc/Select';\n\nconst id = 'twitch';\nconst name = 'Twitch';\nconst version = '1.0';\nconst stream_key_link = 'https://dashboard.twitch.tv/settings/stream';\nconst description = Live-Streaming to Twitch Live RTMP Service.;\nconst image_copyright = More about licenses here;\nconst author = {\n\tcreator: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n\tmaintainer: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n};\nconst category = 'platform';\nconst requires = {\n\tprotocols: ['rtmp'],\n\tformats: ['flv'],\n\tcodecs: {\n\t\taudio: ['aac', 'mp3'],\n\t\tvideo: ['h264'],\n\t},\n};\n\nfunction ServiceIcon(props) {\n\treturn ;\n}\n\nfunction init(settings) {\n\tconst initSettings = {\n\t\tregion: 'live',\n\t\tkey: '',\n\t\t...settings,\n\t};\n\n\treturn initSettings;\n}\n\nfunction Service(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tsettings[what] = value;\n\n\t\tconst output = createOutput(settings);\n\n\t\tprops.onChange([output], settings);\n\t};\n\n\tconst createOutput = (settings) => {\n\t\tconst output = {\n\t\t\taddress: 'rtmp://' + settings.region + '.twitch.tv/app/' + settings.key,\n\t\t\toptions: ['-f', 'flv'],\n\t\t};\n\n\t\treturn output;\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\tStream key} value={settings.key} onChange={handleChange('key')} />\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tGET\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nService.defaultProps = {\n\tsettings: {},\n\tskills: {},\n\tmetadata: {},\n\tstreams: [],\n\tonChange: function (output, settings) {},\n};\n\nexport { id, name, version, stream_key_link, description, image_copyright, author, category, requires, ServiceIcon as icon, Service as component };\n","import React from 'react';\n\nimport { faTwitter } from '@fortawesome/free-brands-svg-icons';\nimport { v4 as uuidv4 } from 'uuid';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { Trans } from '@lingui/macro';\nimport Grid from '@mui/material/Grid';\nimport Link from '@mui/material/Link';\nimport MenuItem from '@mui/material/MenuItem';\nimport TextField from '@mui/material/TextField';\n\nimport FormInlineButton from '../../../misc/FormInlineButton';\nimport Select from '../../../misc/Select';\n\nconst id = 'twitter';\nconst name = 'Twitter';\nconst version = '1.0';\nconst stream_key_link = 'https://studio.twitter.com/producer/sources';\nconst description = (\n\t\n\t\tTransmits your video stream with the required key, which was generated in Twitter Producer. You can find more information on seting up a live stream at\n\t\tTwitter's{' '}\n\t\t\n\t\t\tProducer\n\t\t\n\t\t.\n\t\n);\nconst image_copyright = (\n\t\n\t\tMore about Twitter's copyright{' '}\n\t\t\n\t\t\there\n\t\t\n\t\t.\n\t\n);\n\nconst author = {\n\tcreator: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n\tmaintainer: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n};\n\nconst category = 'platform';\nconst requires = {\n\tprotocols: ['rtmps', 'https'],\n\tformats: ['flv', 'hls'],\n\tcodecs: {\n\t\taudio: ['aac', 'mp3'],\n\t\tvideo: ['h264'],\n\t},\n};\n\nfunction ServiceIcon(props) {\n\treturn ;\n}\n\nfunction init(settings) {\n\tconst initSettings = {\n\t\tmode: 'rtmps',\n\t\tstream_key: '',\n\t\tregion: 'de',\n\t\t...settings,\n\t};\n\n\treturn initSettings;\n}\n\nfunction Service(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tsettings[what] = value;\n\n\t\tconst outputs = createOutput(settings);\n\n\t\tprops.onChange(outputs, settings);\n\t};\n\n\tconst createOutput = (settings) => {\n\t\tconst outputs = [];\n\n\t\tif (settings.stream_key.length === 0) {\n\t\t\treturn outputs;\n\t\t}\n\n\t\tif (settings.mode === 'rtmps') {\n\t\t\t// https://help.twitter.com/en/using-twitter/how-to-use-live-producer#RTMP\n\t\t\toutputs.push({\n\t\t\t\taddress: 'rtmps://' + settings.region + '.pscp.tv:443/x/' + settings.stream_key,\n\t\t\t\toptions: ['-f', 'flv'],\n\t\t\t});\n\t\t} else if (settings.mode === 'hls') {\n\t\t\t// https://help.twitter.com/en/using-twitter/how-to-use-live-producer#HLS\n\t\t\tconst name = uuidv4();\n\t\t\tconst options = [\n\t\t\t\t'-f',\n\t\t\t\t'hls',\n\t\t\t\t'-start_number',\n\t\t\t\t'0',\n\t\t\t\t'-hls_time',\n\t\t\t\t'2',\n\t\t\t\t'-hls_delete_threshold',\n\t\t\t\t'3',\n\t\t\t\t'-hls_list_size',\n\t\t\t\t'5',\n\t\t\t\t'-hls_flags',\n\t\t\t\t'append_list',\n\t\t\t\t'-hls_segment_type',\n\t\t\t\t'mpegts',\n\t\t\t\t'-http_persistent',\n\t\t\t\t'1',\n\t\t\t\t'-y',\n\t\t\t\t'-method',\n\t\t\t\t'PUT',\n\t\t\t];\n\n\t\t\tconst base = 'https://' + settings.region + '.pscp.tv:443/x/' + settings.stream_key;\n\t\t\toutputs.push({\n\t\t\t\taddress: base + name + '.m3u8',\n\t\t\t\toptions: [...options, '-hls_segment_filename', base + name + '_%d.ts'],\n\t\t\t});\n\t\t}\n\n\t\treturn outputs;\n\t};\n\n\tconst allowRTMPS = props.skills.protocols.includes('rtmps') && props.skills.formats.includes('flv');\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t{settings.mode === 'rtmps' && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{settings.mode === 'hls' && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t\t\n\t\t\t\tStream key} value={settings.stream_key} onChange={handleChange('stream_key')} />\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tGET\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nService.defaultProps = {\n\tsettings: {},\n\tskills: {},\n\tmetadata: {},\n\tstreams: [],\n\tonChange: function (output, settings) {},\n};\n\nexport { id, name, version, stream_key_link, description, image_copyright, author, category, requires, ServiceIcon as icon, Service as component };\n","import React from 'react';\n\nimport { faTools } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { Trans } from '@lingui/macro';\nimport Accordion from '@mui/material/Accordion';\nimport AccordionDetails from '@mui/material/AccordionDetails';\nimport AccordionSummary from '@mui/material/AccordionSummary';\nimport Divider from '@mui/material/Divider';\nimport ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown';\nimport Grid from '@mui/material/Grid';\nimport Link from '@mui/material/Link';\nimport TextField from '@mui/material/TextField';\nimport Typography from '@mui/material/Typography';\n\nimport Checkbox from '../../../misc/Checkbox';\n\nconst id = 'udp';\nconst name = 'UDP';\nconst version = '1.0';\nconst stream_key_link = '';\nconst description = (\n\t\n\t\tTransmit the main source to an UDP Server. More details about the settings can be found{' '}\n\t\t\n\t\t\there\n\t\t\n\t\t.\n\t\n);\nconst image_copyright = Please contact the operator of the service and check what happens.;\nconst author = {\n\tcreator: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n\tmaintainer: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n};\nconst category = 'universal';\nconst requires = {\n\tprotocols: ['udp'],\n\tformats: ['mpegts'],\n\tcodecs: {\n\t\taudio: ['aac', 'mp3'],\n\t\tvideo: ['h264'],\n\t},\n};\n\nfunction ServiceIcon(props) {\n\treturn ;\n}\n\n// init merges the given settings with the default settings\nfunction init(settings) {\n\tconst initSettings = {\n\t\tprotocol: 'udp://',\n\t\taddress: '',\n\t\tparams: {},\n\t\t...settings,\n\t};\n\n\tinitSettings.params = {\n\t\tbuffer_size: '32',\n\t\tbitrate: '',\n\t\tburst_bits: '',\n\t\tlocalport: '',\n\t\tlocaladdr: '',\n\t\tpkt_size: '',\n\t\tttl: '',\n\t\tfifo_size: '',\n\t\toverrun_nonfatal: false,\n\t\tbroadcast: false,\n\t\t...initSettings.params,\n\t};\n\n\treturn initSettings;\n}\n\nfunction Service(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tif (what in settings.params) {\n\t\t\tif (['overrun_nonfatal', 'broadcast'].includes(what)) {\n\t\t\t\tsettings.params[what] = !settings.params[what];\n\t\t\t} else {\n\t\t\t\tsettings.params[what] = value;\n\t\t\t}\n\t\t} else {\n\t\t\tsettings[what] = value;\n\t\t}\n\n\t\tconst output = createOutput(settings);\n\n\t\tprops.onChange([output], settings);\n\t};\n\n\tconst createOutput = (settings) => {\n\t\tconst params = [];\n\n\t\tfor (let key in settings.params) {\n\t\t\tif (settings.params[key].length === 0) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tparams.push(key + '=' + settings.params[key]);\n\t\t}\n\n\t\tconst output = {\n\t\t\taddress: settings.protocol + settings.address + '?' + params.join('&'),\n\t\t\toptions: ['-f', 'mpegts'],\n\t\t};\n\n\t\treturn output;\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\tProtocol} value={settings.protocol} readOnly disabled />\n\t\t\t\n\t\t\t\n\t\t\t\tAddress} value={settings.address} onChange={handleChange('address')} />\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t} className=\"accordion-summary\">\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tAdvanced settings\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tDocumentation{' '}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\thttps://ffmpeg.org/ffmpeg-all.html#udp\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nService.defaultProps = {\n\tsettings: {},\n\tskills: {},\n\tmetadata: {},\n\tstreams: [],\n\tonChange: function (output, settings) {},\n};\n\nexport { id, name, version, stream_key_link, description, image_copyright, author, category, requires, ServiceIcon as icon, Service as component };\n","import React from 'react';\n\nimport { faVimeoV } from '@fortawesome/free-brands-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { Trans } from '@lingui/macro';\nimport Grid from '@mui/material/Grid';\nimport TextField from '@mui/material/TextField';\n\nconst id = 'vimeo';\nconst name = 'Vimeo';\nconst version = '1.0';\nconst description = Live-Streaming to Vimeo Live RTMP Service;\nconst stream_key_link = '';\nconst image_copyright = More about licenses here;\nconst author = {\n\tcreator: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n\tmaintainer: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n};\nconst category = 'platform';\nconst requires = {\n\tprotocols: ['rtmp'],\n\tformats: ['flv'],\n\tcodecs: {\n\t\taudio: ['aac', 'mp3'],\n\t\tvideo: ['h264'],\n\t},\n};\n\nfunction ServiceIcon(props) {\n\treturn ;\n}\n\nfunction init(settings) {\n\tconst initSettings = {\n\t\tkey: '',\n\t\t...settings,\n\t};\n\n\treturn initSettings;\n}\n\nfunction Service(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tsettings[what] = value;\n\n\t\tconst output = createOutput(settings);\n\n\t\tprops.onChange([output], settings);\n\t};\n\n\tconst createOutput = (settings) => {\n\t\tconst output = {\n\t\t\taddress: 'rtmp://rtmp-global.cloud.vimeo.com/live/' + settings.key,\n\t\t\toptions: ['-f', 'flv'],\n\t\t};\n\n\t\treturn output;\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\tStream key} value={settings.key} onChange={handleChange('key')} />\n\t\t\t\n\t\t\n\t);\n}\n\nService.defaultProps = {\n\tsettings: {},\n\tskills: {},\n\tmetadata: {},\n\tstreams: [],\n\tonChange: function (output, settings) {},\n};\n\nexport { id, name, version, stream_key_link, description, image_copyright, author, category, requires, ServiceIcon as icon, Service as component };\n","export default __webpack_public_path__ + \"static/media/wowza.9c5dbf0d.svg\";","import React from 'react';\n\nimport { Trans } from '@lingui/macro';\nimport urlparser from 'url-parse';\nimport Grid from '@mui/material/Grid';\nimport Link from '@mui/material/Link';\nimport MenuItem from '@mui/material/MenuItem';\nimport TextField from '@mui/material/TextField';\n\nimport Checkbox from '../../../misc/Checkbox';\nimport Logo from './logos/wowza.svg';\nimport Select from '../../../misc/Select';\nimport Password from '../../../misc/Password';\n\nconst id = 'wowza';\nconst name = 'WOWZA';\nconst version = '1.0';\nconst stream_key_link = '';\nconst description = (\n\t\n\t\tTransmit the main source to an WOWZA Server. More details about the settings can be found{' '}\n\t\t\n\t\t\there\n\t\t\n\t\t.\n\t\n);\nconst image_copyright = Please contact the operator of the service and check what happens.;\nconst author = {\n\tcreator: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n\tmaintainer: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n};\nconst category = 'software';\nconst requires = {\n\tprotocols: ['rtmp', 'rtp'],\n\tformats: ['flv', 'rtsp'],\n\tcodecs: {\n\t\taudio: ['aac', 'mp3'],\n\t\tvideo: ['h264'],\n\t},\n};\n\nfunction ServiceIcon(props) {\n\treturn \"wowza.com;\n}\n\nfunction init(settings) {\n\tconst initSettings = {\n\t\tprotocol: 'rtmp://',\n\t\trtsp_over_udp: false,\n\t\tusername: '',\n\t\tpassword: '',\n\t\taddress: '',\n\t\tapplication: 'live',\n\t\tstream_name: 'myStream',\n\t\t...settings,\n\t};\n\n\treturn initSettings;\n}\n\nfunction Service(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tif (['rtsp_over_udp'].includes(what)) {\n\t\t\tsettings[what] = !settings[what];\n\t\t} else {\n\t\t\tsettings[what] = value;\n\t\t}\n\t\tconst output = createOutput(settings);\n\n\t\tprops.onChange([output], settings);\n\t};\n\n\tconst createOutput = (settings) => {\n\t\tconst options = [];\n\n\t\tif (settings.protocol === 'rtsp') {\n\t\t\tif (settings.rtsp_over_udp) {\n\t\t\t\toptions.push('-rtsp_transport', 'tcp');\n\t\t\t}\n\t\t\toptions.push('-f', 'rtsp');\n\t\t} else {\n\t\t\toptions.push('-f', 'flv');\n\t\t}\n\n\t\tlet address = settings.protocol + settings.address + '/' + settings.application + '/' + settings.stream_name;\n\t\tif (settings.username.length !== 0 || settings.password.length !== 0) {\n\t\t\tconst url = urlparser(address);\n\n\t\t\tif (settings.username.length !== 0) {\n\t\t\t\turl.set('username', encodeURIComponent(settings.username));\n\t\t\t}\n\n\t\t\tif (settings.password.length !== 0) {\n\t\t\t\turl.set('password', encodeURIComponent(settings.password));\n\t\t\t}\n\n\t\t\taddress = url.toString();\n\t\t}\n\n\t\tconst output = {\n\t\t\taddress: address,\n\t\t\toptions: options,\n\t\t};\n\n\t\treturn output;\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\tAddress}\n\t\t\t\t\tplaceholder=\"wowza-address:port\"\n\t\t\t\t\tvalue={settings.address}\n\t\t\t\t\tonChange={handleChange('address')}\n\t\t\t\t/>\n\t\t\t\n\t\t\t{settings.protocol === 'rtsp://' && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\tApplication}\n\t\t\t\t\tvalue={settings.application}\n\t\t\t\t\tonChange={handleChange('application')}\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\tStream name}\n\t\t\t\t\tvalue={settings.stream_name}\n\t\t\t\t\tonChange={handleChange('stream_name')}\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\tUsername}\n\t\t\t\t\tvalue={settings.username}\n\t\t\t\t\tonChange={handleChange('username')}\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t\tPassword}\n\t\t\t\t\tvalue={settings.password}\n\t\t\t\t\tonChange={handleChange('password')}\n\t\t\t\t/>\n\t\t\t\n\t\t\n\t);\n}\n\nService.defaultProps = {\n\tsettings: {},\n\tskills: {},\n\tmetadata: {},\n\tstreams: [],\n\tonChange: function (output, settings) {},\n};\n\nexport { id, name, version, stream_key_link, description, image_copyright, author, category, requires, ServiceIcon as icon, Service as component };\n","import React from 'react';\n\nimport { faYoutube } from '@fortawesome/free-brands-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { Trans } from '@lingui/macro';\nimport { v4 as uuidv4 } from 'uuid';\nimport Grid from '@mui/material/Grid';\nimport Link from '@mui/material/Link';\nimport MenuItem from '@mui/material/MenuItem';\nimport TextField from '@mui/material/TextField';\n\nimport Checkbox from '../../../misc/Checkbox';\nimport FormInlineButton from '../../../misc/FormInlineButton';\nimport Select from '../../../misc/Select';\n\nconst id = 'youtube';\nconst name = 'YouTube Live';\nconst version = '1.0';\nconst stream_key_link = 'https://www.youtube.com/live_dashboard';\nconst description = (\n\t\n\t\tTransmits your video as an RTMP stream with the required key generated in YouTube Studio. You can find more information on setting up a live stream at\n\t\tYouTube's{' '}\n\t\t\n\t\t\tCreator Academy\n\t\t\n\t\t.\n\t\n);\nconst image_copyright = (\n\t\n\t\tMore about YouTube's copyright{' '}\n\t\t\n\t\t\there\n\t\t\n\t\t.\n\t\n);\n\nconst author = {\n\tcreator: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n\tmaintainer: {\n\t\tname: 'datarhei',\n\t\tlink: 'https://github.com/datarhei',\n\t},\n};\n\nconst category = 'platform';\nconst requires = {\n\tprotocols: ['rtmps', 'https'],\n\tformats: ['flv', 'hls'],\n\tcodecs: {\n\t\taudio: ['aac', 'mp3'],\n\t\tvideo: ['h264'],\n\t},\n};\n\nfunction ServiceIcon(props) {\n\treturn ;\n}\n\nfunction init(settings) {\n\tconst initSettings = {\n\t\tmode: 'rtmps',\n\t\tstream_key: '',\n\t\tprimary: true,\n\t\tbackup: false,\n\t\t...settings,\n\t};\n\n\treturn initSettings;\n}\n\nfunction Service(props) {\n\tconst settings = init(props.settings);\n\n\tconst handleChange = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tif (['primary', 'backup'].includes(what)) {\n\t\t\tsettings[what] = !settings[what];\n\t\t} else {\n\t\t\tsettings[what] = value;\n\t\t}\n\n\t\tconst outputs = createOutput(settings);\n\n\t\tprops.onChange(outputs, settings);\n\t};\n\n\tconst createOutput = (settings) => {\n\t\tconst outputs = [];\n\n\t\tif (settings.stream_key.length === 0) {\n\t\t\treturn outputs;\n\t\t}\n\n\t\tif (settings.mode === 'rtmps') {\n\t\t\t// https://developers.google.com/youtube/v3/live/guides/rtmps-ingestion\n\t\t\tif (settings.primary === true) {\n\t\t\t\toutputs.push({\n\t\t\t\t\taddress: 'rtmps://a.rtmp.youtube.com/live2/' + settings.stream_key,\n\t\t\t\t\toptions: ['-f', 'flv'],\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (settings.backup === true) {\n\t\t\t\toutputs.push({\n\t\t\t\t\taddress: 'rtmps://b.rtmp.youtube.com/live2?backup=1/' + settings.stream_key,\n\t\t\t\t\toptions: ['-f', 'flv'],\n\t\t\t\t});\n\t\t\t}\n\t\t} else if (settings.mode === 'hls') {\n\t\t\t// https://developers.google.com/youtube/v3/live/guides/hls-ingestion\n\t\t\tconst name = uuidv4();\n\t\t\tconst options = [\n\t\t\t\t'-f',\n\t\t\t\t'hls',\n\t\t\t\t'-start_number',\n\t\t\t\t'0',\n\t\t\t\t'-hls_time',\n\t\t\t\t'2',\n\t\t\t\t'-hls_delete_threshold',\n\t\t\t\t'3',\n\t\t\t\t'-hls_list_size',\n\t\t\t\t'5',\n\t\t\t\t'-hls_flags',\n\t\t\t\t'append_list',\n\t\t\t\t'-hls_segment_type',\n\t\t\t\t'mpegts',\n\t\t\t\t'-http_persistent',\n\t\t\t\t'1',\n\t\t\t\t'-y',\n\t\t\t\t'-method',\n\t\t\t\t'PUT',\n\t\t\t];\n\n\t\t\tif (settings.primary === true) {\n\t\t\t\tconst base = `https://a.upload.youtube.com/http_upload_hls?cid=${settings.stream_key}©=0&file=`;\n\t\t\t\toutputs.push({\n\t\t\t\t\taddress: base + name + '.m3u8',\n\t\t\t\t\toptions: [...options, '-hls_segment_filename', base + name + '_%d.ts'],\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (settings.backup === true) {\n\t\t\t\tconst base = `https://b.upload.youtube.com/http_upload_hls?cid=${settings.stream_key}©=1&file=`;\n\t\t\t\toutputs.push({\n\t\t\t\t\taddress: base + name + '.m3u8',\n\t\t\t\t\toptions: [...options, '-hls_segment_filename', base + name + '_%d.ts'],\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn outputs;\n\t};\n\n\tconst allowRTMPS = props.skills.protocols.includes('rtmps') && props.skills.formats.includes('flv');\n\tconst allowHLS = props.skills.protocols.includes('https') && props.skills.formats.includes('hls');\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\tStream key} value={settings.stream_key} onChange={handleChange('stream_key')} />\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tGET\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\tPrimary stream} checked={settings.primary} onChange={handleChange('primary')} />\n\t\t\t\tBackup stream} checked={settings.backup} onChange={handleChange('backup')} />\n\t\t\t\n\t\t\n\t);\n}\n\nService.defaultProps = {\n\tsettings: {},\n\tskills: {},\n\tmetadata: {},\n\tstreams: [],\n\tonChange: function (output, settings) {},\n};\n\nexport { id, name, version, stream_key_link, description, image_copyright, author, category, requires, ServiceIcon as icon, Service as component };\n","import * as Akamai from './Akamai';\nimport * as Brightcove from './Brightcove';\nimport * as CDN77 from './CDN77';\nimport * as Core from './Core';\nimport * as DaCast from './DaCast';\nimport * as DASH from './DASH';\nimport * as Facebook from './Facebook';\nimport * as Framebuffer from './Framebuffer';\nimport * as HLS from './HLS';\nimport * as Icecast from './Icecast';\nimport * as Image2 from './Image2';\nimport * as Instagram from './Instagram';\nimport * as Livespotting from './Livespotting';\nimport * as MPEGTS from './MPEGTS';\nimport * as Red5 from './Red5';\nimport * as Restream from './Restream';\nimport * as RTMP from './RTMP';\nimport * as RTSP from './RTSP';\nimport * as SRT from './SRT';\nimport * as Twitch from './Twitch';\nimport * as Twitter from './Twitter';\nimport * as UDP from './UDP';\nimport * as Vimeo from './Vimeo';\nimport * as WOWZA from './WOWZA';\nimport * as Youtube from './Youtube';\n\nclass Registry {\n\tconstructor() {\n\t\tthis.services = new Map();\n\t}\n\n\tRegister(service) {\n\t\tthis.services.set(service.id, service);\n\t}\n\n\tGet(id) {\n\t\tconst service = this.services.get(id);\n\t\tif (service) {\n\t\t\treturn service;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tIDs() {\n\t\treturn Array.from(this.services.keys());\n\t}\n\n\tList() {\n\t\treturn Array.from(this.services.values());\n\t}\n}\n\nconst registry = new Registry();\n\n// The order the services are registered is relevant, i.e. on\n// the \"add service\" screen they appear in this order.\nregistry.Register(Facebook);\nregistry.Register(Youtube);\nregistry.Register(Twitter);\nregistry.Register(Twitch);\nregistry.Register(Instagram);\nregistry.Register(Vimeo);\nregistry.Register(Restream);\nregistry.Register(Livespotting);\nregistry.Register(Brightcove);\nregistry.Register(Akamai);\nregistry.Register(DaCast);\nregistry.Register(CDN77);\nregistry.Register(Core);\nregistry.Register(WOWZA);\nregistry.Register(Red5);\nregistry.Register(Icecast);\nregistry.Register(Image2);\nregistry.Register(RTSP);\nregistry.Register(RTMP);\nregistry.Register(HLS);\nregistry.Register(DASH);\nregistry.Register(SRT);\nregistry.Register(UDP);\nregistry.Register(MPEGTS);\nregistry.Register(Framebuffer);\n\nexport default registry;\n","import React from 'react';\n\nimport makeStyles from '@mui/styles/makeStyles';\nimport Box from '@mui/material/Box';\nimport PropTypes from 'prop-types';\n\nconst useStyles = makeStyles((theme) => ({\n\troot: {\n\t\tpadding: 0,\n\t},\n\t'& .MuiBox-root': {\n\t\tpadding: 0,\n\t},\n}));\n\nexport default function TabPanel(props) {\n\tconst classes = useStyles();\n\tconst { children, value, index, ...other } = props;\n\n\treturn (\n\t\t\n\t);\n}\n\nTabPanel.propTypes = {\n\tchildren: PropTypes.node,\n\tindex: PropTypes.any.isRequired,\n\tvalue: PropTypes.any.isRequired,\n};\n","import React from 'react';\n\nimport makeStyles from '@mui/styles/makeStyles';\nimport Grid from '@mui/material/Grid';\n\nconst useStyles = makeStyles((theme) => ({\n\tgrid: {\n\t\tflexGrow: '1',\n\t\tdisplay: 'flex',\n\t\theight: '100%',\n\t},\n}));\n\nexport default function Component(props) {\n\tconst classes = useStyles();\n\n\treturn (\n\t\t\n\t\t\t{props.children}\n\t\t\n\t);\n}\n\nComponent.defaultProps = {\n\tchildren: null,\n};\n","import React from 'react';\nimport { useNavigate, useParams } from 'react-router-dom';\nimport PropTypes from 'prop-types';\n\nimport { useLingui } from '@lingui/react';\nimport { useTheme } from '@mui/material/styles';\nimport { Trans, t } from '@lingui/macro';\nimport makeStyles from '@mui/styles/makeStyles';\nimport useMediaQuery from '@mui/material/useMediaQuery';\nimport Backdrop from '@mui/material/Backdrop';\nimport Button from '@mui/material/Button';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport Divider from '@mui/material/Divider';\nimport Grid from '@mui/material/Grid';\nimport Link from '@mui/material/Link';\nimport Tab from '@mui/material/Tab';\nimport Tabs from '@mui/material/Tabs';\nimport TextField from '@mui/material/TextField';\nimport ToggleButton from '@mui/material/ToggleButton';\nimport ToggleButtonGroup from '@mui/material/ToggleButtonGroup';\nimport Tooltip from '@mui/material/Tooltip';\nimport Typography from '@mui/material/Typography';\n\nimport * as helper from './helper';\nimport * as M from '../../utils/metadata';\nimport EncodingSelect from '../../misc/EncodingSelect';\nimport H from '../../utils/help';\nimport NotifyContext from '../../contexts/Notify';\nimport Paper from '../../misc/Paper';\nimport PaperHeader from '../../misc/PaperHeader';\nimport PaperFooter from '../../misc/PaperFooter';\nimport ProcessControl from '../../misc/controls/Process';\nimport Services from './Services';\nimport TabPanel from '../../misc/TabPanel';\nimport TabsVerticalGrid from '../../misc/TabsVerticalGrid';\n\nconst useStyles = makeStyles((theme) => ({\n\tbuttonAbort: {\n\t\tmarginBottom: '0.3em',\n\t},\n\tgridContainer: {\n\t\tmarginTop: '0.5em',\n\t},\n\tserviceDescription: {\n\t\tmargin: '1em 0em 1em 0em',\n\t},\n\tserviceIcon: {\n\t\tfontSize: '4rem!important',\n\t\tmaxHeight: 64,\n\t\tmarginTop: '-0.065em',\n\t},\n\tbuttonGroup: {\n\t\tmarginTop: '0.5em',\n\t\tmarginBottom: '-0.5em',\n\t},\n}));\n\nexport default function Add(props) {\n\tconst theme = useTheme();\n\tconst breakpointUpSm = useMediaQuery(theme.breakpoints.up('sm'));\n\tconst classes = useStyles();\n\tconst { i18n } = useLingui();\n\tconst navigate = useNavigate();\n\tconst { channelid: _channelid } = useParams();\n\tconst notify = React.useContext(NotifyContext);\n\tconst [$service, setService] = React.useState('');\n\tconst [$settings, setSettings] = React.useState(M.initEgressMetadata({}));\n\tconst [$sources, setSources] = React.useState([]);\n\tconst [$filter, setFilter] = React.useState('all');\n\tconst [$tab, setTab] = React.useState('general');\n\tconst [$skills, setSkills] = React.useState(null);\n\tconst [$metadata, setMetadata] = React.useState({\n\t\tname: '',\n\t\tdescription: '',\n\t\tlicense: '',\n\t});\n\tconst [$saving, setSaving] = React.useState(false);\n\n\tReact.useEffect(() => {\n\t\t(async () => {\n\t\t\tawait load();\n\t\t})();\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\tconst load = async () => {\n\t\tconst channelid = props.restreamer.SelectChannel(_channelid);\n\t\tif (channelid === '' || channelid !== _channelid) {\n\t\t\tnavigate('/', { replace: true });\n\t\t\treturn;\n\t\t}\n\n\t\tconst skills = await props.restreamer.Skills();\n\t\tsetSkills(skills);\n\n\t\tlet ingest = await props.restreamer.GetIngestMetadata(_channelid);\n\t\tsetMetadata({\n\t\t\t...$metadata,\n\t\t\tname: ingest.meta.name,\n\t\t\tdescription: ingest.meta.description,\n\t\t\tlicense: ingest.license,\n\t\t});\n\n\t\tsetSources(helper.createSourcesFromStreams(ingest.streams));\n\t};\n\n\tconst handleFilterChange = (event, value) => {\n\t\tif (!value) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetFilter(value);\n\t};\n\n\tconst handleServiceSelect = (service) => () => {\n\t\tif (service.length !== 0) {\n\t\t\tconst s = Services.Get(service);\n\t\t\tif (s === null) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst serviceSkills = helper.conflateServiceSkills(s.requires, $skills);\n\n\t\t\tconst profiles = $settings.profiles;\n\t\t\tprofiles[0].video = helper.preselectProfile(profiles[0].video, 'video', $sources[0].streams, serviceSkills.codecs.video, $skills.encoders.video);\n\t\t\tprofiles[0].audio = helper.preselectProfile(profiles[0].audio, 'audio', $sources[0].streams, serviceSkills.codecs.audio, $skills.encoders.audio);\n\n\t\t\tsetSettings({\n\t\t\t\t...$settings,\n\t\t\t\tname: s.name,\n\t\t\t\tprofiles: profiles,\n\t\t\t\tstreams: M.createOutputStreams($sources, profiles),\n\t\t\t});\n\n\t\t\tsetTab('general');\n\t\t} else {\n\t\t\t// Reset the service outputs and settings\n\t\t\tsetSettings({\n\t\t\t\t...$settings,\n\t\t\t\t...M.initEgressMetadata({}),\n\t\t\t});\n\t\t}\n\n\t\tsetService(service);\n\t};\n\n\tconst handleServiceChange = (outputs, settings) => {\n\t\tif (!Array.isArray(outputs)) {\n\t\t\toutputs = [outputs];\n\t\t}\n\n\t\tsetSettings({\n\t\t\t...$settings,\n\t\t\toutputs: outputs,\n\t\t\tsettings: settings,\n\t\t});\n\t};\n\n\tconst handleProcessing = (type) => (encoder, decoder) => {\n\t\tconst profiles = $settings.profiles;\n\n\t\tprofiles[0][type].encoder = encoder;\n\t\tprofiles[0][type].decoder = decoder;\n\n\t\tsetSettings({\n\t\t\t...$settings,\n\t\t\tprofiles: profiles,\n\t\t\tstreams: M.createOutputStreams($sources, profiles),\n\t\t});\n\t};\n\n\tconst handleServiceDone = async () => {\n\t\tsetSaving(true);\n\n\t\tconst [inputs, outputs] = helper.createInputsOutputs($sources, $settings.profiles, $settings.outputs);\n\n\t\tconst [id, err] = await props.restreamer.CreateEgress(_channelid, $service, inputs, outputs, $settings.control);\n\t\tif (err !== null) {\n\t\t\tsetSaving(false);\n\t\t\tnotify.Dispatch('error', 'save:egress:' + $service, i18n._(t`Failed to create publication service (${err.message})`));\n\t\t\treturn;\n\t\t}\n\n\t\tawait props.restreamer.SetEgressMetadata(_channelid, id, $settings);\n\n\t\tlet message = i18n._(t`The publication service has been created`);\n\t\tif ($settings.name.length !== 0) {\n\t\t\tmessage = i18n._(t`The publication service \"${$settings.name}\" has been created`);\n\t\t}\n\n\t\tsetSaving(false);\n\n\t\tnotify.Dispatch('success', 'save:egress:' + $service, message);\n\n\t\tnavigate(`/${_channelid}/`);\n\t};\n\n\tconst handleServiceName = (event) => {\n\t\tconst name = event.target.value;\n\n\t\tsetSettings({\n\t\t\t...$settings,\n\t\t\tname: name,\n\t\t});\n\t};\n\n\tconst handleProcessControlChange = (control) => {\n\t\tsetSettings({\n\t\t\t...$settings,\n\t\t\tcontrol: {\n\t\t\t\t...$settings.control,\n\t\t\t\tprocess: control,\n\t\t\t},\n\t\t});\n\t};\n\n\tconst handleAbort = () => {\n\t\tnavigate(`/${_channelid}`);\n\t};\n\n\tconst handleChangeTab = (event, value) => {\n\t\tsetTab(value);\n\t};\n\n\tconst handleHelp = () => {\n\t\tlet topic = 'publication-add';\n\n\t\tif ($service !== '') {\n\t\t\ttopic = 'publication-' + $tab;\n\t\t}\n\n\t\tH(topic);\n\t};\n\n\tconst channelid = props.restreamer.SelectChannel(_channelid);\n\tif (channelid === '' || channelid !== _channelid) {\n\t\tnavigate('/', { replace: true });\n\t\treturn null;\n\t}\n\n\tlet serviceList = [];\n\n\tlet ServiceControl = null;\n\tlet ServiceIcon = null;\n\tlet serviceSkills = null;\n\n\tlet service = {};\n\n\tconst enableProcessing = true;\n\n\tif ($service === '') {\n\t\tfor (let s of Services.List()) {\n\t\t\tif ($filter !== 'all') {\n\t\t\t\tif (s.category !== $filter) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst Icon = s.icon;\n\n\t\t\t// TODO: Style Tooltip + Fix Tooltip + Disabled\n\t\t\tif (helper.checkServiceRequirements(s.requires, $skills) === false) {\n\t\t\t\tserviceList.push(\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tIncompatible\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tCheck the requirements\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tplacement=\"left\"\n\t\t\t\t\t\t\tarrow\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tserviceList.push(\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t} else {\n\t\tservice = Services.Get($service);\n\t\tif (service === null) {\n\t\t\treturn null;\n\t\t}\n\n\t\tServiceControl = service.component;\n\t\tServiceIcon = service.icon;\n\n\t\tserviceSkills = helper.conflateServiceSkills(service.requires, $skills);\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t{$service === '' && Add Publication}\n\t\t\t\t\t\t\t{$service !== '' && (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tAdd: {service.name}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\tonAbort={handleAbort}\n\t\t\t\t\tonHelp={handleHelp}\n\t\t\t\t/>\n\t\t\t\t{$service === '' ? (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tAll\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tPlatforms\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tSoftware\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tProtocols\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{serviceList}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tGeneral} value=\"general\" />\n\t\t\t\t\t\t\t\t\tProcess control} value=\"process\" />\n\t\t\t\t\t\t\t\t\t{enableProcessing && Encoding} value=\"encoding\" />}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{service.name}\n\t\t\t\t\t\t\t\t\t\t\tv{service.version}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{service.description}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\tService name}\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={$settings.name}\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={handleServiceName}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tMaintainer:{' '}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{service.author.maintainer.name}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{service.name}\n\t\t\t\t\t\t\t\t\t\t\tv{service.version}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tProcess\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tMaintainer:{' '}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{service.author.maintainer.name}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{service.name}\n\t\t\t\t\t\t\t\t\t\t\tv{service.version}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tEncoding\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tPlease use \"Passthrough (copy)\" if possible. Encoding requires additional CPU/GPU resources.\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tVideo\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tAudio\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tMaintainer:{' '}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{service.author.maintainer.name}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tbuttonsRight={\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nAdd.defaultProps = {\n\trestreamer: null,\n};\n\nAdd.propTypes = {\n\trestreamer: PropTypes.object.isRequired,\n};\n","export default __webpack_public_path__ + \"static/media/livesource.5497621a.png\";","import React from 'react';\n\nimport { Trans } from '@lingui/macro';\nimport Grid from '@mui/material/Grid';\nimport TextField from '@mui/material/TextField';\nimport Typography from '@mui/material/Typography';\n\nimport Checkbox from '../Checkbox';\n\nfunction init(settings) {\n\tconst initSettings = {\n\t\tlhls: false,\n\t\tsegmentDuration: 2,\n\t\tlistSize: 6,\n\t\tcleanup: true,\n\t\t...settings,\n\t};\n\n\treturn initSettings;\n}\n\nexport default function Control(props) {\n\tconst settings = init(props.settings);\n\n\t// Set the defaults\n\tReact.useEffect(() => {\n\t\tprops.onChange(settings, true);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\tconst handleChange = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tif (['lhls', 'cleanup'].includes(what)) {\n\t\t\tsettings[what] = !settings[what];\n\t\t} else {\n\t\t\tsettings[what] = value;\n\t\t}\n\n\t\tprops.onChange(settings, false);\n\t};\n\treturn (\n\t\t\n\t\t\t{/*\n\t\t\t\tlhls problems:\n\t\t\t\t- naming of the manifests and media files does not work\n\t\t\t\t- segmentation of audio and video creates a playback error\n\t\t\t\t- hls inputs requires encoding\n\t\t\t\t- have to wait for the final integration in hls.js\n\n\t\t\t\t\n\t\t\t\t\tLow latency Mode (LHLS/CMAF)} checked={settings.lhls} onChange={handleChange('lhls')} />\n\t\t\t\t\t\n\t\t\t\t\t\tExperimental function. Older browsers and clients may not be supported.\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t*/}\n\t\t\t\n\t\t\t\tSegment length (seconds)}\n\t\t\t\t\tvalue={settings.segmentDuration}\n\t\t\t\t\tonChange={handleChange('segmentDuration')}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\tSegment will be cut on the following keyframe after this time has passed. 2 is recommended.\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\tList size (segments)}\n\t\t\t\t\tvalue={settings.listSize}\n\t\t\t\t\tonChange={handleChange('listSize')}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t\tThe maximum number of playlist segments. 0 will contain all the segments. 6 is recommended.\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\tAutomatic cleanup of all media data} checked={settings.cleanup} onChange={handleChange('cleanup')} />\n\t\t\t\n\t\t\n\t);\n}\n\nControl.defaulProps = {\n\tsettings: {},\n\tonChange: function (settings, automatic) {},\n};\n","export default __webpack_public_path__ + \"static/media/cc-zero.871ab7c3.svg\";","export default __webpack_public_path__ + \"static/media/by.d48d4b75.svg\";","export default __webpack_public_path__ + \"static/media/by-sa.a960dfca.svg\";","export default __webpack_public_path__ + \"static/media/by-nc.9e3cfd3d.svg\";","export default __webpack_public_path__ + \"static/media/by-nc-sa.35157979.svg\";","export default __webpack_public_path__ + \"static/media/by-nd.b1260888.svg\";","export default __webpack_public_path__ + \"static/media/by-nc-nd.a7359790.svg\";","import React from 'react';\n\nimport { useLingui } from '@lingui/react';\nimport { Trans, t } from '@lingui/macro';\nimport makeStyles from '@mui/styles/makeStyles';\nimport Grid from '@mui/material/Grid';\nimport Link from '@mui/material/Link';\nimport MenuItem from '@mui/material/MenuItem';\nimport Typography from '@mui/material/Typography';\n\nimport cc_zero from './images/cc-zero.svg';\nimport cc_by from './images/by.svg';\nimport cc_by_sa from './images/by-sa.svg';\nimport cc_by_nc from './images/by-nc.svg';\nimport cc_by_nc_sa from './images/by-nc-sa.svg';\nimport cc_by_nd from './images/by-nd.svg';\nimport cc_by_nc_nd from './images/by-nc-nd.svg';\nimport Select from '../../Select';\n\nconst useStyles = makeStyles((theme) => ({\n\tboxGray: {\n\t\tmarginBottom: '.5em',\n\t\tmarginTop: '.5em',\n\t},\n\tlink: {\n\t\tmarginTop: '.5em',\n\t\twordBreak: 'break-word',\n\t},\n}));\n\nexport default function License(props) {\n\tconst classes = useStyles();\n\n\tconst { i18n } = useLingui();\n\n\tconst handleLicenseChange = (event) => {\n\t\tprops.onChange(event.target.value);\n\t};\n\n\tlet image = null;\n\tlet link = '';\n\tlet description = '';\n\n\t// eslint-disable-next-line no-useless-escape\n\tconst reVersion = new RegExp('[0-9]+.[0-9]+$');\n\n\tlet version = '4.0';\n\tconst matches = props.license.match(reVersion);\n\tif (matches !== null) {\n\t\tversion = matches[0];\n\t}\n\n\tconst which = props.license.replace(reVersion, '').trim();\n\n\tswitch (which) {\n\t\tcase 'CC0':\n\t\t\timage = cc_zero;\n\t\t\tlink = 'https://creativecommons.org/licenses/zero/1.0/';\n\t\t\tdescription = i18n._(\n\t\t\t\tt`The person who associated a work with this deed has dedicated the work to the public domain by waiving all of his or her rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law. You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.`\n\t\t\t);\n\t\t\tbreak;\n\t\tcase 'CC BY':\n\t\t\timage = cc_by;\n\t\t\tlink = `https://creativecommons.org/licenses/by/${version}/`;\n\t\t\tdescription = i18n._(\n\t\t\t\tt`This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format, so long as attribution is given to the creator. The license allows for commercial use.`\n\t\t\t);\n\t\t\tbreak;\n\t\tcase 'CC BY-SA':\n\t\t\timage = cc_by_sa;\n\t\t\tlink = `https://creativecommons.org/licenses/by-sa/${version}/`;\n\t\t\tdescription = i18n._(\n\t\t\t\tt`This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format, so long as attribution is given to the creator. The license allows for commercial use. If you remix, adapt, or build upon the material, you must license the modified material under identical terms.`\n\t\t\t);\n\t\t\tbreak;\n\t\tcase 'CC BY-NC':\n\t\t\timage = cc_by_nc;\n\t\t\tlink = `https://creativecommons.org/licenses/by-nc/${version}/`;\n\t\t\tdescription = i18n._(\n\t\t\t\tt`This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format for noncommercial purposes only, and only so long as attribution is given to the creator.`\n\t\t\t);\n\t\t\tbreak;\n\t\tcase 'CC BY-NC-SA':\n\t\t\timage = cc_by_nc_sa;\n\t\t\tlink = `https://creativecommons.org/licenses/by-nc-sa/${version}/`;\n\t\t\tdescription = i18n._(\n\t\t\t\tt`This license allows reusers to distribute, remix, adapt, and build upon the material in any medium or format for noncommercial purposes only, and only so long as attribution is given to the creator. If you remix, adapt, or build upon the material, you must license the modified material under identical terms.`\n\t\t\t);\n\t\t\tbreak;\n\t\tcase 'CC BY-ND':\n\t\t\timage = cc_by_nd;\n\t\t\tlink = `https://creativecommons.org/licenses/by-nd/${version}/`;\n\t\t\tdescription = i18n._(\n\t\t\t\tt`This license allows reusers to copy and distribute the material in any medium or format in unadapted form only, and only so long as attribution is given to the creator. The license allows for commercial use.`\n\t\t\t);\n\t\t\tbreak;\n\t\tcase 'CC BY-NC-ND':\n\t\t\timage = cc_by_nc_nd;\n\t\t\tlink = `https://creativecommons.org/licenses/by-nc-nd/${version}/`;\n\t\t\tdescription = i18n._(\n\t\t\t\tt`This license allows reusers to copy and distribute the material in any medium or format in unadapted form only, for noncommercial purposes only, and only so long as attribution is given to the creator.`\n\t\t\t);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t{description.length !== 0 && (\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t{description}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{link}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t)}\n\t\t\t{image !== null && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{props.license}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t
\n\t);\n}\n\nLicense.defaultProps = {\n\tlicense: 'none',\n\tonChange: function (license) {},\n};\n","import React from 'react';\n\nimport makeStyles from '@mui/styles/makeStyles';\nimport Box from '@mui/material/Box';\nimport Tabs from '@mui/material/Tabs';\n\nconst useStyles = makeStyles((theme) => ({\n\tbox: {\n\t\tborderBottom: `2px solid ${theme.palette.background.light1}`,\n\t\tpadding: '0em',\n\t\tmarginBottom: '1em',\n\t\tmarginTop: '-1.7em',\n\t},\n\ttabs: {\n\t\t'& .tab': {\n\t\t\tminWidth: '0px',\n\t\t\tmargin: 'unset',\n\t\t\tcolor: theme.palette.text.primary,\n\t\t\tborderRadius: '4px 4px 0px 0px',\n\t\t},\n\t\t'@media (max-width: 415px)': {\n\t\t\t'& .tab': {\n\t\t\t\tpadding: '10px 6px!important',\n\t\t\t},\n\t\t},\n\t},\n}));\n\nexport default function Component(props) {\n\tconst classes = useStyles();\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{props.children}\n\t\t\t\n\t\t\n\t);\n}\n\nComponent.defaultProps = {\n\tvalue: '',\n\tchildren: null,\n\tonChange: function (event) {},\n};\n","import React from 'react';\n\nimport { Trans } from '@lingui/macro';\nimport makeStyles from '@mui/styles/makeStyles';\nimport Grid from '@mui/material/Grid';\nimport Tab from '@mui/material/Tab';\nimport TextField from '@mui/material/TextField';\n\nimport TabPanel from '../TabPanel';\nimport TabsHorizontal from '../TabsHorizontal';\n\nconst useStyles = makeStyles((theme) => ({\n\troot: {\n\t\t'& .MuiOutlinedInput-input': {\n\t\t\twhiteSpace: 'pre-line',\n\t\t},\n\t},\n}));\n\nfunction init(settings) {\n\tconst initSettings = {\n\t\tname: 'Livestream',\n\t\tdescription: 'Live from earth. Powered by datarhei Restreamer.',\n\t\tauthor: {},\n\t\t...settings,\n\t};\n\n\tinitSettings.author = {\n\t\tname: '',\n\t\tdescription: '',\n\t\t...initSettings.author,\n\t};\n\n\treturn initSettings;\n}\n\nexport default function Control(props) {\n\tconst classes = useStyles();\n\tconst [$tab, setTab] = React.useState('content');\n\tconst settings = init(props.settings);\n\n\t// Set the defaults\n\tReact.useEffect(() => {\n\t\tprops.onChange(settings, true);\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, []);\n\n\tconst handleChange = (what) => (event) => {\n\t\tconst value = event.target.value;\n\n\t\tif (what === 'author.name') {\n\t\t\tsettings.author.name = value;\n\t\t} else if (what === 'author.description') {\n\t\t\tsettings.author.description = value;\n\t\t} else {\n\t\t\tsettings[what] = value;\n\t\t}\n\n\t\tprops.onChange(settings, false);\n\t};\n\n\tconst handleChangeTab = (event, value) => {\n\t\tsetTab(value);\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tContent} value=\"content\" />\n\t\t\t\t\tAuthor} value=\"author\" />\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tName} value={settings.name} onChange={handleChange('name')} />\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tDescription}\n\t\t\t\t\t\t\t\tvalue={settings.description}\n\t\t\t\t\t\t\t\tonChange={handleChange('description')}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tName}\n\t\t\t\t\t\t\t\tvalue={settings.author.name}\n\t\t\t\t\t\t\t\tonChange={handleChange('author.name')}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tDescription}\n\t\t\t\t\t\t\t\tvalue={settings.author.description}\n\t\t\t\t\t\t\t\tonChange={handleChange('author.description')}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nControl.defaultProps = {\n\tsettings: {},\n\tonChange: function (metadata) {},\n};\n","import React from 'react';\n\nimport makeStyles from '@mui/styles/makeStyles';\nimport Stack from '@mui/material/Stack';\n\nconst useStyles = makeStyles((theme) => ({\n\tlight: {\n\t\tbackgroundColor: theme.palette.background.light1,\n\t\tborderRadius: 5,\n\t\tpadding: '10px 15px 10px 15px!important',\n\t\twordWrap: 'break-word',\n\t\twordBreak: 'break-word',\n\t\toverflowWrap: 'break-word',\n\t},\n\tdark: {\n\t\tbackgroundColor: theme.palette.background.dark2,\n\t\tborderRadius: 5,\n\t\tpadding: '10px 15px 10px 15px!important',\n\t\twordWrap: 'break-word',\n\t\twordBreak: 'break-word',\n\t\toverflowWrap: 'break-word',\n\t},\n\tsuccess: {\n\t\tcolor: theme.palette.background.paper,\n\t\tfontWeight: 500,\n\t\tbackgroundColor: theme.palette.secondary.main,\n\t\tborderRadius: 5,\n\t\tpadding: '10px 15px 10px 15px!important',\n\t\twordWrap: 'break-word',\n\t\twordBreak: 'break-word',\n\t\toverflowWrap: 'break-word',\n\t},\n\tdanger: {\n\t\tbackgroundColor: theme.palette.error.main,\n\t\ttextAlign: 'center',\n\t\tborderRadius: 4,\n\t\tpadding: '.5em .5em .3em .5em',\n\t\twordWrap: 'break-word',\n\t\twordBreak: 'break-word',\n\t\toverflowWrap: 'break-word',\n\t},\n}));\n\nexport default function Component(props) {\n\tconst classes = useStyles();\n\n\treturn (\n\t\t\n\t\t\t{props.children}\n\t\t\n\t);\n}\n\nComponent.defaultProps = {\n\tcolor: 'light',\n};\n","import React, { useContext } from 'react';\n\nimport { useLingui } from '@lingui/react';\nimport { t } from '@lingui/macro';\nimport DownloadIcon from '@mui/icons-material/Download';\nimport FileCopyIcon from '@mui/icons-material/FileCopy';\nimport IconButton from '@mui/material/IconButton';\nimport OpenInNewIcon from '@mui/icons-material/OpenInNew';\nimport Stack from '@mui/material/Stack';\n\nimport NotifyContext from '../contexts/Notify';\nimport Palette from '../theme/base/palette';\nimport TextareaModal from './modals/Textarea';\n\nexport default function Component(props) {\n\tconst { i18n } = useLingui();\n\n\tconst [$modal, setModal] = React.useState(false);\n\n\tconst notify = useContext(NotifyContext);\n\tconst textAreaRef = React.createRef();\n\n\tconst { content } = props;\n\n\tReact.useEffect(() => {\n\t\tscrollTo();\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [content]);\n\n\tconst handleCopy = async () => {\n\t\tlet success = false;\n\n\t\tif (!navigator.clipboard) {\n\t\t\ttextAreaRef.current.select();\n\n\t\t\ttry {\n\t\t\t\tsuccess = document.execCommand('copy');\n\t\t\t} catch (err) {}\n\n\t\t\ttextAreaRef.current.setSelectionRange(0, 0);\n\t\t} else {\n\t\t\tsuccess = await writeText(navigator.clipboard.writeText(textAreaRef.current.value));\n\t\t}\n\n\t\tif (success === true) {\n\t\t\tnotify.Dispatch('success', 'clipboard', i18n._(t`Data copied to clipboard`));\n\t\t} else {\n\t\t\tnotify.Dispatch('error', 'clipboard', i18n._(t`Error while copying data to clipboard`));\n\t\t}\n\t};\n\n\tconst handleModal = () => {\n\t\tsetModal(!$modal);\n\t};\n\n\tconst writeText = (promise) => {\n\t\treturn promise\n\t\t\t.then(() => true)\n\t\t\t.catch((err) => {\n\t\t\t\tconsole.warn(err);\n\t\t\t\treturn false;\n\t\t\t});\n\t};\n\n\tconst scrollTo = () => {\n\t\tif (props.scrollTo === 'bottom') {\n\t\t\ttextAreaRef.current.scrollTop = textAreaRef.current.scrollHeight;\n\t\t}\n\n\t\treturn;\n\t};\n\n\tconst handleDownload = () => {\n\t\tvar element = document.createElement('a');\n\t\telement.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(props.value));\n\t\telement.setAttribute('download', props.downloadName);\n\n\t\telement.style.display = 'none';\n\t\tdocument.body.appendChild(element);\n\n\t\telement.click();\n\n\t\tdocument.body.removeChild(element);\n\t};\n\n\tlet allowCopy = props.allowCopy;\n\tif (props.value.length === 0 || props.disabled === true) {\n\t\tallowCopy = false;\n\t}\n\n\tlet allowModal = props.allowModal;\n\tif (props.value.length === 0 || props.disabled === true) {\n\t\tallowModal = false;\n\t}\n\n\tlet allowDownload = props.allowDownload;\n\tif (props.value.length === 0 || props.disabled === true || props.downloadName.length === 0) {\n\t\tallowDownload = false;\n\t}\n\n\tlet textAreaDivStyle = {\n\t\twidth: '100%',\n\t};\n\tlet textAreaStyle = {\n\t\tlineHeight: 1.3,\n\t\tfontSize: 14,\n\t};\n\tlet actionButton = {\n\t\tfloat: 'right',\n\t\tpadding: '0.5em',\n\t\tbackgroundColor: Palette.background.footer1,\n\t\t'&:hover': {\n\t\t\tbackgroundColor: Palette.background.footer2,\n\t\t},\n\t};\n\tif (props.rows === 1) {\n\t\ttextAreaStyle = {\n\t\t\t...textAreaStyle,\n\t\t\theight: 18 * props.rows + 9.5 + 'px',\n\t\t\toverflowY: 'hidden',\n\t\t\tmarginBottom: '0em',\n\t\t\tmarginTop: '0em',\n\t\t};\n\t\ttextAreaDivStyle = {\n\t\t\t...textAreaDivStyle,\n\t\t\tpadding: '1em 0em 1em 0em',\n\t\t};\n\t\tactionButton = {\n\t\t\t...actionButton,\n\t\t\tbottom: '-1.8em',\n\t\t\tmarginRight: '.3em',\n\t\t\tmarginTop: '-2em',\n\t\t};\n\t} else {\n\t\ttextAreaStyle = {\n\t\t\t...textAreaStyle,\n\t\t\theight: 18 * props.rows + 8 + 'px',\n\t\t};\n\t\ttextAreaDivStyle = {\n\t\t\t...textAreaDivStyle,\n\t\t};\n\t\tactionButton = {\n\t\t\t...actionButton,\n\t\t\tbottom: '-3em',\n\t\t\tmarginRight: '.8em',\n\t\t\tmarginTop: '-2em',\n\t\t};\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{allowCopy && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t{allowDownload && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t{allowModal && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nComponent.defaultProps = {\n\ttitle: '',\n\trows: 20,\n\tvalue: '',\n\treadOnly: true,\n\tallowCopy: true,\n\tallowModal: false,\n\tallowDownload: false,\n\tdownloadName: '',\n\tdisabled: false,\n\tscrollTo: 'top',\n\tonChange: function (value) {},\n\tonHelp: null,\n};\n","import React from 'react';\n\nimport makeStyles from '@mui/styles/makeStyles';\nimport Grid from '@mui/material/Grid';\nimport Modal from '@mui/material/Modal';\nimport Stack from '@mui/material/Stack';\n\nimport ModalContent from '../ModalContent';\nimport Textarea from '../Textarea';\n\nconst useStyles = makeStyles((theme) => ({\n\tbox: {\n\t\tbackgroundColor: theme.palette.background.modalbox,\n\t\tborderRadius: 4,\n\t\tpadding: '0em 1em 1em 1em',\n\t},\n}));\n\nconst Component = function (props) {\n\tconst classes = useStyles();\n\n\tconst { open, title, onClose, onHelp, ...other } = props;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t