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 StreamerFAQHLSnimble streamerDVRRTMPhlsABRcacheNimbleSRTsrtrtmpwmsauthdvrAPIapitranscoderffmpegVODfailoverudpDASHsldpstreamingrtspRTSPwmspanellivevodUDPmp4paywallabrsubtitlesDispersaSLDPmulticastvideoyoutubelivestreamingWMSAuthMPEG-DASHpay-per-viewgeoaudiodashstreameredgeWMSPanelbandwidththumbnailWindowsencryptionhttpswhite labelconfigplaylistsmilsslFFMPEGMPEG-TSCORSre-streamingmpeg-dashchunksraspberry pipublish controlperformancecorscloudfrontDRMRepublishingadvertizerrepublishingvlcS3user agentandroidLarixNDIrules.confadvertisingipv6MPEGTSFastSpringRAMFMLEVATcrossdomainSMILmpegtsRecordingaespushakamaiwowzamobileserversPullcodecbalanceerrorTranscodem3u8SSLchromecastplaylist_dvrWowzaconfigurationIDbugreportingdownloadsnapshotLarix BroadcasterAndroidnimblestreamerdomainmpeg-tsloopraspianwms panelchunkAWSVidillionHttpsoriginawsCDNroutesipupdatescte35amazonIPUInimble webcam html5Registration Issuedirect link32-bit Windowstwitchcache_controlitworkmelive abr support mpeg-dashwmspanelapiresumertmp abrbeirutWWDCdubaideep statsCentOS v6.4hls to multicast udpnooblogRemote StorageWowza AgentIIS Smooth StreamingcloudmediaAbrHTTPSHot-linking protectionHDSvaddioalertsjwplayer websitewhmcsbaselinetimelinenginx rtmp nimbledurationAV BridgeVaddioAuthentication in HLSPI3 UbuntuPi4view timepriceresourceNimble Streamer APIlimitOld logsscte-35screencastinterfacesDVRRecordingloadbalancingmod_rewritemetadataattaching domainsprofileAxisgbpsID3 tagscontainerwmsauthsignhighhds streamlocalciscodatmessageWMSCONFIG_HOMErestreamcost.net hotlinkgentoo install server nimblePublic Iptranscoding using NvidiaPaywall Authhls restreamingofflinedocumentationNimble streamer upgradeVLCTrancoderconcurrent-connectionsfileniblerServer-sideVideo Playertransocding republishingdecoderstoppedNimble Streamer versionAliasmainlost trafficlebanonlocationmanifesticecast urlMP4 not playedspacepay per viewrulehot linkingdvr_archivesmpeg dashchangeseekingwildcardobsTCORaspian BusterexportopensslamfLarix GrovenginxPlayReadyamazon web servicelimuxdvr stream twicesdpshoutcastrepublishonSteam stopped workinghot-linkAXVVGExpression EncoderHLS vodblocknvencHLS Playeranalyticspaywalapplication7DASH Playerbrandingtrialmicrosoft streamMP4errorsjpegrocksoftlog traffic statsdebianscreen freezecan't registernimblesessionidFFmpegmultiple originsprivate networkLarge DVR fileslive video on demandABR DASHprogressive downloadbandwithno WMSPanelserverlive videoheaderinterleavingSLDP PLayermac osx installlog nimble analysertmp playbackvideojswotermarksourcevimeohelp errorbitrate#restreamload balanceadaptiveAV1 codecJWPLAYERNGINX-RTMPcache expiryvideo stopcdnvsomlive streamViewer Statsstreams4Kcrossdomain more then 1 domainattachmentDelaympeg2tscpuServer-Side-Task-Controlvod no soundconcurrent connectiondisk migrationdvr streamconnectivityUbuntu 20 ARM - AWSunique visitordvr on wmspanelscreen capturestereo to monobuttAWS 3drmaes encryptionWidevinesubscriptionControl APIFairplayTranscoderLive streamingWMSPanel settingslive pull settingsABR HLS Bitratessecurityrtmp for YouTubenot foundCPU Loadpulladd_chunk failedPost processingfake extensionAS3udp streamingoutrateinstall players setup ready to goDVRSettingstwitch larix broadcaster androidAppleDelete recordsicecastnimble streamer vod hls transmuxinglogginglearnerinsert logovideo loopstarttime duration seekpointrebootAVCaptureMovieFileOutputblock downloadmonitordvr streamsnimble.confrtmp republishing transcodeIIS Media Servicstracknimble streamer web server php script pageautomationlivestreamapi accessDeep statsloadbalancerNimble CapacityABR DVR probleminvalidMPEG DASHUbuntu artful 17.10Transcoder MPEG DASHweb playerLive Switchercontent-dispositionnot to stealLive Broadcaststatus:errortranscodingdownFFMPEG;RTMP;I/O errorNimble ServerMPEG-Dashlarix broadcasterfacebookStreaming routeHotlinking ProtectionRTMP republishbroadcasterOSXpaymentstatsreloadadvp9contentRTMP RepublishdemandssaiDVR Setting limitpremium featureserver incorrect timeThumbnailsIOSLiveLIVErmtpno internetHLS StreamingLoad-Balancingnimble streamer mpeg-ts multiple inputswmsAuthSignHow to do live stream with multiple audio tracksoundHLS Meta Tag editing.Progressivenimble aliasesavoid refreshraspberrythumbnail dvr-thumbnailPaywalltranscoder nimblereportscredentialstranscodevbv-maxrateSecureJetson NanoFailoverVR-360ABR bitratesPacketizingbuildpublish streamStream Delaytraffichd25AArch64S3 AWSVideo cant be playeduser_agentautomatedelaympeg4.movalias routestoragedomain lockVOD HLS streaming on public IPoutputUsers limitcloudflarelivestream bitratedockeranalisysscteInvalid frame headerno soundincoming streamHTML5 playerGopLL-HLS DVRav1 codecNimbleStreamerfastspringNimble streamermp2 audiodata slicesaliasplayer sldpdistributionwirecasta recordhttp serverqataritworkscdnvideo.jsRAM Load*VP9abr fallbackNimble connectionsissuepricinggoogle cloud storagelatencybuffering videoSO_RCVBUFbufferCentos 8dissapointmentpay-per-minutelivestreamintransocderspeedup my videoiOSmultiplexcompatibility protocolsdiskstorage space available3.6.1-1server ip21SSL requestMax connectionUDP Multicastsha265md5multi-viewerincomingDVR SettingPORTanalyseStreamIDnimble dvrrtpBandwidthportsrulesError when installinghow-tomanage_dvrDVRStreamsaws amazonRIST BondingplayoutMPEG2 Videologo in streammultiple audio udphotlink protectionRaspberryPi4ultra low latencynimble on cloudrtmp sldp nimbleprerollwebhookdvr to liveprogressivebroadcast videoQuickTimevideo streamingartifactsrtsp push androidtuningCross DomainSRT protocolvideo audio4GwebrtcNimble_CrushTeradek Decoderubuntu 18restarthelpFallbackPIDurlLinuxRTMP to SRTTLSV 1.2 Certificatedynamic linksSnapshotsfallbackthumbnailsLarix broadcastervideo and audio not matchdvbNetworkBroadcastRaspberrytasks-control{stream}gpuactionscript 3server ssl errorCSSRistmultiplefairplayNginxOBSadjustsoftware versionSRT RTMPre-publishingmultiple 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.