Forum

Geo balance by ping to server

Paul 2016-03-14 01:13:20 UTC in Nimble Streamer

Is there any plans for this?

It seems like a LOT of work to add all the 2 digit country codes to create load balance for each individual country.
Then what about Asia, very big continent. If I create lists manually and force user in West Asia (Iran etc) to connect to server in Singapore, maybe they will not have a good connection and would be better connected to server in Europe.
But I wont know this.
Would be great if ping test to servers and connect to best ping...maybe?

Alex Pokotilo 2016-03-14 01:49:30 UTC 

But if you ping server from client side what exactly you expect to implement from server ?
If you expect serve to ping client you should understand that it's not possible

Paul 2016-03-14 12:59:56 UTC 

So client connects to the closest server based on ping times.

It seems a very large amount of work to manually add 2 digit ISO code for every country in the world to the php script.
Then to also go through every sub-region for the big countries, another few hundred codes to add.

How do other CDN / streaming providers manage this?

Paul 2016-03-14 13:08:05 UTC 

I guess it is done by DNS load balancing by a 3rd party provider such as one of these:

https://www.maxcdn.com/blog/dns-load-balancing-comparison-4-services/

Maybe something that could be implemented in the future.

For now I will have user select their (closest) location and go to different video player pages based on where my edge servers are located, UK, USA, Australia. Or maybe I can find a geo based plugin for wordpress to rewrite links automatically based on continent or sub-continent (eg South Europe). This would save loads of work having to add every country 2 digit code etc.

Paul 2017-05-08 11:16:19 UTC 

Maybe one day you can work on adding something such as "anycast", or some better DNS balancing to get users to nearest video server?

Seems to be easier than complicated geo balance and load balance setup where I have to enter every single country 2 digit code, and then even, sub continents ISO code...hundreds and hundreds of them :(

https://en.wikipedia.org/wiki/Anycast
https://aws.amazon.com/route53/
https://medium.com/netflix-techblog/netflix-shares-cloud-load-balancing-and-failover-tool-eureka-c10647ef95e5

Mārcis Pauls 2017-05-10 08:14:45 UTC 

We use route53 for GEO balancing, works not 100% accurate, but is enough for us.

Paul 2017-05-12 12:11:59 UTC 

Excellent, thank for your reply - I will look in to it. Glad to know another Nimble user has had success with it.

Regards

Post a reply


Post a new question

Categories:

Tags:

nimbleNimble StreamerHLSFAQDVRnimble streamerhlsRTMPSRTABRcacheAPIrtmpwmsauthNimbletranscodersrtapidvrffmpegVODudpRTSPsldpfailoverDASHwmspanelyoutubevodstreamingrtspSLDPUDPmp4paywallabrDispersavideoaudiosslandroidmulticastLarixsubtitleslivelivestreamingWMSAuthMPEG-DASHpay-per-viewgeoMPEG-TSdashstreameredgebandwidthWMSPanelthumbnailWindowsencryptionhttpsplaylistwhite labelconfigsmilFFMPEGerrorCORSperformancechunksraspberry pire-streamingmpeg-dashpublish controlcorscloudfrontDRMrepublishingRepublishingvlcS3advertisinguser agentNDIadvertizerristrules.confipv6MPEGTSFastSpringRAMwms panelRecordingFMLEfileVATcrossdomainSMILmpegtsaespushakamaiPullserverswowzamobilecodecSSLbalancedrmchromecastTranscodem3u8TranscoderWowzaIDbugreportingconfigurationdownloadsnapshotawsAndroidnimblestreamerdomainLarix BroadcasterraspianloopAWSscte35originCDNamazonstreamroutesupdateipplaylist_dvrVidillionHttpslarix broadcasterissuechunkmpeg-tsEncoderIPsecurityVLCscte-35UInimble webcam html5Registration Issuedirect link32-bit Windowstwitchcache_controlitworkmecudalive abr support mpeg-dashwmspanelapibeirutreloadWWDCdubaideep statsCentOS v6.4logIIS Smooth StreamingcloudmediaAbrHTTPSHot-linking protectionHDSvaddioeventalertsjwplayer websitewhmcsbaselinetimelineVaddioAV BridgePI3 UbuntuAuthentication in HLSPi4view timeNimble Streamer APIpriceresourcelimitOld logsCloud Storageinterfacesscreencastencrytpionloadbalancingmetadatamod_rewriteprofilelarix abrattaching domainsgbpsAxisID3 tagscontainerwmsauthsignhigh*hds streamsdpshoutcastciscolocalWMSCONFIG_HOMEdatmessage.net hotlinkcostrestreamRTMP republishresumertmp abranalisysgentoo install server nimblehls restreamingtranscoding using NvidiaPublic IpPaywall AuthdocumentationofflineNimble streamer upgradeniblerconcurrent-connectionsTrancoderVideo Playertransocding republishingdecoderServer-sideAliaslost trafficstoppedNimble Streamer versionicecast urlpay per viewchangedvr_archivesmpeg dashamfLarix Grovenginx rtmp nimbleTCOobswildcardRaspian BusterexportopenssllebanonlocationmanifestMP4 not playedspaceonSteam stopped workingHLS vodseekingExpression Encoderanalyticsapplicationpaywallimuxamazon web servicenginxPlayReadyHLS Playerdvr stream twiceDASH PlayerrepublishjpegAXVVGhot-linkblocknvencdebian7brandingscreen freezecan't registerlive video on demandtrialbandwithmicrosoft streamMP4servererrorsrocksoftlog traffic statsno WMSPanelLarge DVR filesprivate networkaccuracylive videoTelegraminterleavingSLDP PLayersourcemac osx installwotermarkLive StreamingnimblesessionidFFmpegmultiple originsABR DASHprogressive downloadvimeohelp errorvideo stopload balancezabbixheaderstreamscache expirylog nimble analysertmp playbackcdnvsomlive streamAdsvideojsViewer StatswmsattachmentHEVCrecordingbitrate#restreamvod no soundconcurrent connectionDelaympeg2tsdvr streamconnectivityUbuntu 20 ARM - AWSunique visitoradaptiveAV1 codecServer-Side-Task-ControlJWPLAYERNGINX-RTMPdisk migrationdvr on wmspanelscreen capturestereo to monoWidevineaes encryptionFairplay4Kcrossdomain more then 1 domainsubscriptionnot foundCPU LoadcpuWMSPanel settingslive pull settingsABR HLS Bitratespullrtmp for YouTubeAS3install players setup ready to goDVRSettingstwitch larix broadcaster androidbuttAWS 3AppleDelete recordsicecast metadatanimble streamer web server php script pageautomationControl APIloggingnimble streamer vod hls transmuxingvideo loopLive streaminglearnerstarttime duration seekpointCross Domainrebootinsert logoadd_chunk failedPost processingfake extensionDVRStreamspremium featuremonitordroppingmobile app live streamingProgressiveapi accessDeep statsoutrateudp streamingloadbalancericecastweb playerUbuntu artful 17.10Transcoder MPEG DASHinvalidMPEG DASHstatus:errorcontent-dispositionAVCaptureMovieFileOutputblock downloadNimble Serverdvr streamslivestreamStreaming routeHotlinking ProtectionfacebookSecurityNimble CapacityABR DVR problempaymentLive Switcherstatsnot to stealLive BroadcastMultiple Audio trackslow_bandwidthsecure streamingcontentRTMP Republishvp9addemandIOSThumbnailsserver incorrect timeLiveLIVEwmsAuthSignnimble streamer mpeg-ts multiple inputsLoad-BalancingsoundHLS Meta Tag editing.How to do live stream with multiple audio trackssaiDVR Setting limitthumbnail dvr-thumbnailreportsrmtpInterlaceno internettranscoder nimbleVideo cant be playedS3 AWSavoid refreshraspberrylivestreamintransocderPaywallstorage space availablediskautomateuser_agentcredentialspublish streamStream Delayhd25trafficAArch64dvr to livewebhooktranscodevbv-maxratedomain lockUsers limitoutputcloudflareVOD HLS streaming on public IPFailoverVR-360larixsctelivestream bitratedockerDVRRecordingAuthInvalid frame headerno soundincoming streamSubtitlesDVR SettingPORTGopdelaympeg4storagealias route.movhttp serverLatencya recordwirecastVP9buffering videoSO_RCVBUFfastspringNimble streamermp2 audioaliasdata slicesplayer sldplatencyno audiobufferdistributionQuickTimevideo streamingqataritworkscdnvideo.jscompatibility protocolsmultiplexCSSactionscript 3server ssl error3.6.1-1Centos 8dissapointmentpay-per-minuteTeradek Decoderubuntu 18Max connectionUDP Multicastincomingmulti-viewerrulesmanage_dvrhow-toError when installingaws amazonrestartFallbackhelpRIST BondingplayoutMPEG2 Videologo in streammultiple audio udphotlink protectionRaspberryPi4ultra low latencyserver ip21hls to multicast udpnoobSSL requestprogressivebroadcast videovideo audioSRT protocolsha265fallbackanalyseStreamIDprerollrtmp sldp nimblenimble on cloudRaspberrytasks-controlRTMP to SRTLinux4GNimble_Crushwebrtcartifactsrtsp push androidtuningWowza AgentRemote StorageSSAIvideo and audio not matchLarix broadcastergpu{stream}NetworkOBSfairplayNginxGoogle DriveHLS StreamingPIDurlnimble.confrtmp republishing transcodeIIS Media Servicstrackspeedup my videoiOSthumbnailsmultipointruleAmazonTVfiresubfolderTLSV 1.2 Certificatedynamic linksSnapshotsMPEG-Dashrtpnimble dvrBandwidthdurationYadifportsRokubroadcasterOSXmd5Nimble connectionsabr fallbackletsencryptnimble aliasesNimble StreamRAM LoadtranscodingdownTonyFFMPEG;RTMP;I/O errorhot linkingTRANSCODEgoogle cloud storagepricingHTML5 playerAddendaLL-HLSWMSAUTHLL-HLS DVRav1 codecconnectionsNimbleStreamermainmultistreamingmultipleRistbuildABR bitratesPacketizingcountrist set fecBroadcastSecureJetson NanoLarix Playerramdvbduplicatingadjustsoftware versionre-publishingSRT RTMPmultiple audio

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the Privacy Policy. If you want to know more or withdraw your consent to all or some of the cookies, please refer to the Privacy Policy.
By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to the use of cookies.