Forum

Config: Geo-location database update

Yury Udovichenko 2014-10-30 03:46:06 UTC in Nimble Streamer

A lot of Nimble Streamer customers use its geo-location balancing or WMSAuth geo-location restriction. This requires having accurate database of IP to geo-location mapping. WMSPanel team uses MaxMind GeoIP database and it's periodically updated by our team for further use within our products.

You may set up your Nimble instance to automatically update geo-location database. Put this parameter into your Nimble config:
update_geoip_database = true
and re-start Nimble

Read this config description for configuration details:
http://blog.wmspanel.com/2013/07/nimble-configs-explained.html

Nimble will be checking the geo base once a day and updating it right away.

Joël 2015-04-03 10:01:41 UTC 

I'm trying to setup geo loadbalacing, and try to redirect viewers from Nimble-Origin to Nimble-Edge server. The stream apllication name and stream name are the same by both nimble servers origin en Edge. In JWplayer the stream url points to origin. I made a geo policy in wmspanel, that people from germany will redirect from origin to the edge for the "live" application. Till now this is not working. I tried a second policy with a specific IP, that must be redirect to the edge, but get the same result. JWplayer still plays the stream from the origin.
Only when I use a different streamname on the edge, in the rtmp pulling settings, the viewer will redirect from origin to edge.
I tried geo restriction too, but than the viewer is blocked by origin, and will not be redirected to edge neither.
Must I use dns fallback too, with geo restriction and geo redirect policy, to redirect viewers from origin to edge?
update_geoip_database = true is added in the config file.

Yury Udovichenko 2015-04-03 13:01:07 UTC 

Hi Joel,

As we discovered, not all players honor the 302 redirection header so we recommend using other techniques like the one described in this article: http://blog.wmspanel.com/2015/02/hls-dash-media-streaming-load-balancing.html
As example we made reference code for geo-balancing: https://github.com/WMSPanel/http-load-balancing/tree/master/geo-balancing

Later on we'll release reference code for balancing based on each instance load via Nimble API.

Joël 2015-04-03 15:53:34 UTC 

Hi Yury, I see. We have to wait, if I still want to use jwplayer

in the maintime I found something interesting on a support page of jwplayer, about 303 redirect. They say, jwplayer don't support 303. (what you said)
instead, use dns loadbalacing, or dynamic m3u8 manifest.

Question:
Is it possible to make a ABR smil file for livestreaming, with links to Nimble origin and edge, with Geo restiction?

see link to support page JWplayer:
http support.jwplayer.com/customer/portal/articles/1430189-about-hls-streaming

An additional limitation to keep in mind is that JW Player does not support 302 redirects on the M3U8 manifest/playlist files, since the Adobe Flash player does not support the combination of crossdomain loading and redirects. We advise to instead use DNS load-balancing or serve up a dynamic M3U8 manifest, containing direct links to the M3U8 playlists on the target servers.

Alex Pokotilo 2015-04-04 01:10:04 UTC 

we support absolute path to follow JW recommendations:
http://blog.wmspanel.com/p/nimble-streamer-configuration.html find absolute_path description there.
But problems will be even with such recommendations as player periodically request playlist and get another server from dns pool. in this case it will fail session security checks or as different servers will not have exact the same playlist players will stop working.
Simplest case is to implement load balancing manually: just point users between servers based on server load. You can get server load based on wmspanel api or Nimble API(http://blog.wmspanel.com/2014/11/nimble-streamer-status-api.html) and Nimble API is more preferable way. it's nothing hard to implement - you just get current server load periodically and based on server list and load info decide to what server point users. DNS failover and 302 + absolute path is not 100% working solution unfortunately. But manual load balancing based on servers load will work

joël 2015-04-04 20:53:40 UTC 

Hi Alex, than I will try manual loabalacing with Nimble API.
The Api page you point to, does not exist.
But if I'm correct, i have to setup a seperate server/Arbiter, who will check the connections/load of the nimble servers by nimble API, and do the loadbalacing between the Nimble streamers.
Not something out of the box. It looks hard to make something like that.

Yury Udovichenko 2015-04-05 01:04:44 UTC 

Hi Joel,

Sorry, our forum engine got incorrect link highlight, this is the correct one: http://blog.wmspanel.com/2014/11/nimble-streamer-status-api.html

As for arbiter etc. - yes, it requires custom development and we plan releasing reference source code for it soon.

Joel 2015-04-05 08:59:09 UTC 

Hi Yury, thanks for the right link. I'm very basic programmer. I can read the connection status of the nimble streamers now, but I will wait for the referentie source code, I think. I can't see the next step.

Yury Udovichenko 2015-04-05 10:48:36 UTC 

OK then, we'll keep you posted about updates.

Support Team 2015-04-05 13:51:58 UTC 

Perfect!

Paul 2016-09-15 18:24:11 UTC 

update_geoip_database = true

Does this still work, as this post is 2 years old and a few months ago I asked about geo update and was told we have to update the geo database manually. (But maybe that was for GeoIP Legacy)

Thanks

Yury Udovichenko 2016-09-16 01:10:09 UTC 

Hello,

This should work, of course. You might have faced some un-usual system problem - this is when you should contact us via https://wmspanel.com/help so we could follow up to resolve it.

Alex Pokotilo 2016-09-16 01:13:38 UTC 

update_geoip_database = true still works.
I cannot say why it's recommended to upgrade geo db in your case and if you have supported ticket please reply it so we can discuss there. In general this recommendation is still actual

Post a reply


Post a new question

Categories:

Tags:

nimbleNimble StreamerFAQHLSnimble streamerDVRRTMPhlsSRTsrtABRrtmpcacheNimblewmsauthAPItranscoderdvrffmpegapisldpudpVODaudioRTSPfailoverrtspDASHwmspanelUDPvodpaywallstreamingabrSLDPyoutubemp4DispersastreamerandroidsslmulticastLarixsubtitlesliveNDIvideolivestreamingplaylistWMSAuthMPEG-DASHpay-per-viewerrorgeoMPEG-TSre-streamingdashcorsWMSPaneledgebandwidththumbnaillarix broadcasterWindowshttpswhite labelconfigsmilFFMPEGencryptionCORSperformancechunksraspberry pimpeg-dashpublish controlcloudfrontDRMRepublishingvlcAWSS3advertisinguser agentadvertizerristrepublishingrules.confipv6MPEGTSFastSpringRecordingRAMwms panelfileFMLEVATcrossdomainSMILmpegtsaespushakamaimobilewowzaPullserverscodecmanifestSSLchromecastbalancedrmTranscodem3u8TranscoderbugWowzaIDreportingconfigurationsnapshotdownloadawsAndroidnimblestreamerdomaintranscoderaspianloopscte35streamroutesamazonupdateipVidillionHttpsmpeg-tsBroadcastplaylist_dvrVLCPIDerrorsEncoderoriginscte-35issuechunklimitsecurityLarix BroadcasterIPCDNthumbnailsUIRegistration Issuedirect link32-bit Windowstwitchcache_controlitworkmecudalive abr support mpeg-dashwmspanelapibeirutreloadWWDCdubaideep statsCentOS v6.4logIIS Smooth StreamingcloudmediaIPTVprofilelarix abrTSReaderAbrHTTPSHot-linking protectionHDSvaddioalertsMuxjwplayer websitewhmcsbaselinetimelineVaddioAV BridgePI3 Ubuntuview timeAuthentication in HLSNimble Streamer APIPi4streamsinterfacesHLS Meta Tag editing.encrytpionloadbalancingwmsattachmentHEVCmetadatamod_rewritewmsauthsignpricehighresourcehds streamOld logsciscolocalscreencastID3 tagsgbpsAxis.net hotlinkRTMP republishattaching domainssdpshoutcastno internetInterlacedocumentationofflinecontainerNimble streamer upgradeMulticast*concurrent-connectionsTrancoderrecordingrtmp abranalisysresumeniblerhls restreamingServer-siderestreamstoppedMPEG2TSNimble Streamer versionmainWMSCONFIG_HOMEdissapointmentdatmessagegentoo install server nimbletranscoding using NvidiaPublic IpPaywall AuthwildcardobsTCOno WMSPanelVideo Playertransocding republishingdecoderAliaspay per viewlost trafficdvr_archivesmpeg dashnginx rtmp nimbleRaspian Bustericecast urlexportopensslchangelimuxamazon web servicenginxPlayReadydvr stream twiceLarix GroveamfIOSAXVVGhot-linkExpression EncoderblocknvenconSteam stopped workingadaptiveAV1 codecHLS PlayerJWPLAYERNGINX-RTMPDASH PlayerHLS voddvr export to mp47analyticsapplicationpaywalbrandingtrialCablemicrosoft streamMP4rocksoftlog traffic statsjpegscreen freezecan't registeraccuracyprivate networkLarge DVR fileslive videodebianTelegraminterleavingSLDP PLayerseekingmac osx installwotermarklive video on demandbandwithnimblesessionidFFmpegmultiple originsvimeohelp errorserverload balancezabbixheadercache expirycdnvsomlog nimble analysertmp playbacklive streamsourceViewer StatsAdsvideojsLive Streamingbitrate#restreamMP4 not playedspaceServer-Side-Task-Controlvideo stopaes encryptionsubscriptionvod no soundconcurrent connectionlebanonlocationdvr streamconnectivityUbuntu 20 ARM - AWSunique visitorstereo to monoscreen capturelive pull settingsWMSPanel settingsABR HLS Bitratesrtmp for YouTube4Kcrossdomain more then 1 domainWidevineFairplaycpunot foundCPU LoadpullAS3loggingnimble streamer vod hls transmuxingbuttAWS 3Cross Domaininsert logoinstall players setup ready to goDVRSettingstwitch larix broadcaster androidicecast metadataDVRStreamsAppleDelete recordspremium featureControl APIProgressivenimble streamer web server php script pageautomationLive streamingvideo loopUbuntu artful 17.10Transcoder MPEG DASHinvalidMPEG DASHstarttime duration seekpointadd_chunk failedPost processingfake extensionstatus:errorrebootdroppingmobile app live streamingmonitoroutrateudp streamingapi accessDeep statsicecastMPEG-Dashloadbalancerweb playercontent-dispositionpaymentstatsNimble ServerAVCaptureMovieFileOutputblock downloadrestartdvr streamsavoid refreshlivestreamABR DVR problemNimble CapacityHotlinking ProtectionStreaming routehotlinkfacebookcontentRTMP RepublishSecurityLive Switcherdemandnot to stealLive BroadcastMultiple Audio trackssecure streaminglow_bandwidthwmsAuthSignnimble streamer mpeg-ts multiple inputsLoad-Balancingvp9adsounddisk migrationThumbnailsserver incorrect timeLIVELivelearnernimble webcam html5ssaiDVR Setting limitpausemosaicHow to do live stream with multiple audio trackrmtptranscoder nimblereportsdvr on wmspanelfpsVideo cant be playedS3 AWSraspberryPaywalllivestreamintransocderstorage space availablediskcredentialsdvr to livewebhookautomateuser_agentvbv-maxratedomain lockUsers limitoutputcloudflareVOD HLS streaming on public IPlarixscteInvalid frame headerno soundincoming streamSubtitleslivestream bitratedockerDVRRecordingAuthGopDVR SettingPORTdelaympeg4storagealias route.movartifactsrtsp push androidmultiviewRAM Loadhttp serverLatencywirecasta recordruleshow-tomanage_dvrError when installingVP9server ip21Nimble connectionsabr fallbackno audiolatencyaliasdata slicesplayer sldpmp2 audioNimble streamerfastspringsoftware versionadjustSO_RCVBUFbuffering videodistributionbufferqataritworkscdnvideo.jsmultiplexcompatibility protocolsCentos 8pay-per-minuteTeradek Decoderubuntu 183.6.1-1UDP MulticastMax connectionincomingmulti-viewerFallbackhelpmultiple audio udphotlink protectionRaspberryPi4ultra low latencyaws amazonhls to multicast udpnoobSSL requestsha265broadcasterOSXmd5analyseStreamIDprerollnimble on cloudrtmp sldp nimblepluginfallbacktasks-controlRaspberryRTMP to SRTLinuxgpu{stream}Connections count limitNimble_Crushwebrtc4GRIST Bondingplayoutsrt-live-transmitWowza AgentRemote StorageSSAItuningAmazonTVfireOBSvideo and audio not matchLarix broadcasterNetworkspeedup my videoiOSPerformanceSnapshotsSRT RTMPre-publishingletsencryptTonydowntranscodingFFMPEG;RTMP;I/O errorLL-HLSHTML5 playerAddendaABR DASHprogressive downloadeventLL-HLS DVRav1 codecconnectionsNimbleStreamernimble aliasesNimble StreambuildABR bitratesPacketizingcountrist set fecmultiple audioOBS StudioWMSAUTHIVSDelaympeg2tsIIS Media Servicsrtmp republishing transcodenimble.confinterfacetrackbindprogressivebroadcast videovideo audioSRT protocoldvbduplicatingpcdynamic linksTLSV 1.2 CertificatesubfolderbrowserurlGoogle DriveHLS Streamingrtmpscostnimble abr hlsthumbnail dvr-thumbnailaudio languageVR-360Failovergoogle cloud storagepricingoverlayhot linkingTRANSCODErtpnimble dvrBandwidthdurationYadifportsRokuContinuitywordpressJetson NanoSecureLarix PlayerramfairplayNginxpublish streamStream Delayhd25trafficAArch64video streamingQuickTimeCloud StorageRistmultistreamingmultipleserver ssl erroractionscript 3dropped framesCSSMPEG2 VideoPCRlogo in streammultipointrulerepublishconcurrent

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.