Forum

PPV Multiple edge servers reporting

Jacques 2015-08-20 19:34:22 UTC in Paywall: WMSAuth and beyond

I've gotten PPv working with one edge that reports to the PPV handler. I need to track when a connection ends, so I look at what connections are missing from the ppv handler incoming request and thus derive what connections have been closed.

This works great if it is only 1 server, however, when there is more edge servers, the logic breaks down because a connection is only made to one server, thus, the connection is missing from others and the "connection ended" logic is triggered.

How can I handle this situation nicely?

Andrey Goncharov 2015-08-20 22:57:02 UTC 

Hello Jacques,

You can track each server's connections by the ID parameter in request. It's unique for each server.

Jacques 2015-08-24 15:29:55 UTC 

Great. Thanks.

Another question. In the request '{"id":"f4343d48-2b63-4d42-8a2e-98f25ace0688","ip":"196.210.32.75","sessionid":"368388965","delta":10405}', I'm seeing a sessionid. Can that be passed to kill a specific session?

The reason for the question is... We only want to limit a viewer to one stream, but if they take the generated rtmp url and opens it using something like VLC within the specified timeframe, I just want to kill the new session, but it has the same id, so if I kill using the id (and not sessionid) I'll kill both streams.

Andrey Goncharov 2015-08-25 03:03:15 UTC 

Jaques,

Blocking specific session isn't an effective approach and therefore isn't implemented. Your viewer can use your RTMP url accompanied with existing session number and your PPV handler can only detect that by increased amount of traffic consumed by that viewer.
Also, you don't have a reliable way to identify, whether session is initiated by web player or VLC, you can only guess that by requests order.

I would suggest you to enirely block suspicious viewer in order to guarantee that particular viewer can open your stream only with single player instance.

Post a reply


Post a new question

Categories:

Tags:

nimbleNimble StreamerFAQHLSDVRnimble streamerRTMPhlsSRTABRcacheAPIrtmpwmsauthNimbletranscodersrtapidvrffmpegVODudpRTSPsldpfailoverDASHvodstreamingrtspwmspanelSLDPliveyoutubeUDPmp4paywallabrsubtitlesDispersavideoLarixaudiomulticastandroidlivestreamingWMSAuthMPEG-DASHpay-per-viewgeoMPEG-TSdashstreameredgebandwidthWMSPanelsslthumbnailWindowsencryptionhttpsplaylistwhite labelconfigsmilFFMPEGCORSperformancechunksraspberry pire-streamingmpeg-dashpublish controlcorsadvertizercloudfrontDRMrepublishingRepublishingvlcS3user agentNDIristrules.confadvertisingipv6MPEGTSFastSpringRAMwms panelRecordingfileFMLEVATcrossdomainSMILmpegtsaespushakamaiPullserversmobilewowzacodecerrorSSLbalancechromecastTranscodem3u8TranscoderWowzaIDbugreportingconfigurationdownloadsnapshotawsLarix BroadcasterAndroidnimblestreamerdomainraspianloopAWSscte35originCDNroutesamazonupdateipplaylist_dvrVidillionHttpslarix broadcastersecuritychunkmpeg-tsEncoderIPUInimble webcam html5Registration Issuedirect link32-bit Windowstwitchcache_controlitworkmecudalive abr support mpeg-dashwmspanelapibeirutreloadWWDCdubaideep statsCentOS v6.4hls to multicast udpnooblogIIS Smooth StreamingcloudmediaAbrHTTPSHot-linking protectionHDSvaddioeventalertsjwplayer websitewhmcsbaselinetimelineVaddioAV BridgePI3 Ubuntuview timeAuthentication in HLSPi4Nimble Streamer APIpriceresourceinterfaceslimitOld logsCloud Storageencrytpionscte-35screencastloadbalancingmetadatamod_rewriteprofilelarix abrgbpsAxisID3 tagswmsauthsignattaching domainshighhds streamcontainer*sdpshoutcastciscolocal.net hotlinkWMSCONFIG_HOMERTMP republishdatmessagecostresumerestreamrtmp abrgentoo install server nimblePublic Iptranscoding using NvidiaPaywall Authhls restreamingofflinedocumentationNimble streamer upgradeTrancoderconcurrent-connectionsVLCniblerServer-sideVideo Playertransocding republishingdecoderstoppedNimble Streamer versionAliaslost trafficpay per viewicecast urldvr_archivesmpeg dashnginx rtmp nimblechangeTCOobswildcardRaspian BusterexportopensslamfLarix GrovelebanonlocationmanifestMP4 not playedspaceonSteam stopped workingExpression EncoderseekingHLS vodHLS Playeranalyticsapplicationpaywallimuxamazon web servicenginxPlayReadyDASH Playerdvr stream twicerepublishAXVVGhot-linkjpegblocknvencdebianscreen freezecan't register7brandingtriallive video on demandbandwithmicrosoft streamMP4errorsserverrocksoftlog traffic statsno WMSPanellive videoLarge DVR filesprivate networkinterleavingSLDP PLayerTelegrammac osx installwotermarksourcenimblesessionidFFmpegmultiple originsvimeohelp errorABR DASHprogressive downloadLive Streamingload balancezabbixheadercache expiryvideo stopcdnvsomstreamslog nimble analysertmp playbacklive streamViewer StatsAdsvideojsattachmentHEVCbitrate#restreamDelaympeg2tsServer-Side-Task-Controlvod no soundconcurrent connectionadaptiveAV1 codecdisk migrationdvr streamconnectivityUbuntu 20 ARM - AWSunique visitorJWPLAYERNGINX-RTMPdvr on wmspanelscreen capturestereo to monoaes encryptionWidevinesubscription4Kcrossdomain more then 1 domainFairplayWMSPanel settingslive pull settingsABR HLS Bitratescpurtmp for YouTubenot foundCPU LoadpullAS3buttAWS 3install players setup ready to goDVRSettingstwitch larix broadcaster androiddrmAppleDelete recordsControl APIloggingnimble streamer vod hls transmuxingnimble streamer web server php script pageautomationLive streaminglearnerCross Domainvideo loopinsert logostarttime duration seekpointadd_chunk failedPost processingfake extensionDVRStreamsrebootpremium featuremonitormobile app live streamingProgressiveoutrateudp streamingapi accessDeep statsicecastloadbalancerUbuntu artful 17.10Transcoder MPEG DASHinvalidMPEG DASHweb playercontent-dispositionAVCaptureMovieFileOutputblock downloaddvr streamsNimble ServerlivestreamNimble CapacityABR DVR problemStreaming routeHotlinking ProtectionfacebookSecuritypaymentLive Switcherstatsnot to stealLive Broadcastsecure streamingcontentRTMP Republishvp9addemandIOSThumbnailsserver incorrect timeLiveLIVELoad-Balancingnimble streamer mpeg-ts multiple inputswmsAuthSignsoundHLS Meta Tag editing.How to do live stream with multiple audio trackssaiDVR Setting limitthumbnail dvr-thumbnailrmtpInterlaceno internettranscoder nimblereportsVideo cant be playedS3 AWSavoid refreshraspberrySecureJetson NanoPaywalllivestreamintransocderstorage space availablediskcredentialspublish streamStream Delayhd25trafficAArch64automateuser_agentwebhookdvr to livetranscodevbv-maxratedomain lockUsers limitoutputcloudflareVOD HLS streaming on public IPFailoverVR-360larixanalisyssctelivestream bitratedockerDVRRecordingAuthInvalid frame headerno soundincoming streamSubtitlesbuildrist set fecABR bitratesPacketizingGopDVR SettingPORTdelaympeg4LL-HLS DVRav1 codecNimbleStreamerstoragealias route.movhttp servera recordwirecastVP9fastspringNimble streamermp2 audioaliasdata slicesplayer sldplatencyno audiobuffering videoSO_RCVBUFdistributionbufferqataritworkscdnvideo.jsQuickTimevideo streamingcompatibility protocolsmultiplexCSSactionscript 3server ssl errorCentos 8dissapointmentpay-per-minuteTeradek Decoderubuntu 183.6.1-1Max connectionUDP Multicastincomingmulti-viewerrestarthelpFallbackRIST Bondingplayoutrulesmanage_dvrhow-toError when installingaws amazonserver ip21SSL requestmultiple audio udphotlink protectionRaspberryPi4ultra low latencyMPEG2 Videologo in streamprogressivebroadcast videosha265video audioSRT protocolanalyseStreamIDprerollstreamrtmp sldp nimblenimble on cloudfallbackRaspberrytasks-controlNimble_Crushwebrtc4GLinuxRTMP to SRTrtsp push androidartifactstuningWowza AgentRemote StorageSSAIvideo and audio not matchLarix broadcastergpu{stream}OBSBroadcastnimble.confrtmp republishing transcodeIIS Media ServicstrackGoogle DriveHLS StreamingPIDurlSnapshotsthumbnailsmultipointrulespeedup my videoiOSMPEG-Dashrtpnimble dvrBandwidthdurationYadifportsRokumd5OSXbroadcasterNimble connectionsabr fallbackletsencryptfairplayNginxramNetworkRAM Loadstatus:errortranscodingdownTonyFFMPEG;RTMP;I/O errorhot linkingTRANSCODEissuepricinggoogle cloud storagedvbnimble aliasesNimble StreamWMSAUTHLL-HLSHTML5 playerAddendasubfolderTLSV 1.2 Certificatedynamic linksAmazonTVfiremultiplemainmultistreamingRistmultiple audioadjustsoftware versionre-publishingSRT RTMP

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.