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 StreamerFAQHLSDVRRTMPhlsnimble streamerABRwmsauthcacheNimbleffmpegdvrAPIapitranscoderVODstreamingfailoverDASHwmspanelrtmpvodudprtsppaywallsubtitlesRTSPDispersayoutubelivelivestreamingmp4MPEG-DASHWMSAuthpay-per-viewgeodashvideostreamerabrWindowsencryptionUDPhttpswhite labeluser agentconfigsmilFFMPEGmulticastsslaudioMPEG-TSedgeCORSre-streamingchunksraspberry piandroidsldpbandwidthmpeg-dashadvertizercorsvlcDRMrules.confadvertisingipv6FastSpringRAMwms panelthumbnailFMLEVATcrossdomainupdatempegtsRecordingplaylistSMILakamaiaespushserversSRTwowzaSSLerrorm3u8Transcodebalanceplaylist_dvrWowzachromecastconfigurationreportingsrtbugdownloadIDS3nimblestreamerdomainperformancempeg-tsraspianpublish controlcodecWMSPanelmobilerepublishingVidillionHttpsIPloopawschunknimble webcam html5UIRegistration Issuedirect link32-bit Windowstwitchanalysecache_controlitworkmelive abr support mpeg-dashrtmp abrbeirutWWDCdubaideep statshls to multicast udplogIIS Smooth StreamingcloudmediaCDNHTTPSAbrHot-linking protectionHDSvaddioMPEGTSalertsNDIViewer Statsjwplayer websitewhmcsbaselineAuthentication in HLSCentOS v6.4nginx rtmp nimblepricedurationAV BridgelimitOld logsscreencastVaddioPI3 Ubuntuview timeattaching domainswmspanelapiinterfacesWMSCONFIG_HOMEmessageDVRRecordingrestreamcostloadbalancingoriginmetadatamod_rewriteprofileAxisgbpsID3 tagswmsauthsignhighhls restreaminghds streamVLCciscolocalresumenibler.net hotlinkVideo Playertransocding republishingdecodergentoo install server nimbleAliaslost traffictranscoding using NvidiaPublic IpPaywall Authdocumentationofflineconcurrent-connectionsTrancoderfileipicecast urllebanonlocationmanifestruleMP4 not playedspacehot linkingServer-sidechangetasks-controlamfseekingstoppedplayoutmainPlayReadylimuxamazon web servicedvr streamconnectivityunique visitorondvr stream twicealiasdata slicespay per viewHLS vodAXVVGhot-linkblockanalyticsapplicationpaywalmpeg dashTCO7opensslbrandingtrialMP4microsoft streamerrorsrocksoftlog traffic statsExpression EncoderdebianHLS Playerlive video on demandABR DASHprogressive downloadDASH Playerbandwithmultiple originsFFmpegnimblesessionidserverlog nimble analysertmp playbackvideojsbitrateSnapshotsprivate networkadaptiveAV1 codecJWPLAYERNGINX-RTMPPullno WMSPanellive videomac osx installsoundHLS Meta Tag editing.streamsattachmentsourcecrossdomain more then 1 domain4Kwotermarkhelp errorvimeoconcurrent connectionvod no soundload balancebuttFairplaycdnvsomRemote StorageWowza Agentlive streamnot foundfallbackamazonControl APIWidevinepullTranscoderLive streamingAS3securitympeg2tsServer-Side-Task-Controldisk migrationinstall players setup ready to goDVRSettingstwitch larix broadcaster androidAppleDelete recordsstereo to monoscreen capturedrmicecastresourceaes encryptionsubscriptionvideo looplive pull settingsABR HLS Bitratesstarttime duration seekpointrebootrtmp for YouTubemonitorIIS Media Servicsrtmp republishing transcodenimble.confDeep statsapi accessdvr streamsoutrateinterleavingweb playernimble streamer web server php script pageautomationNimble Streamer APIlivestreamNimble CapacityABR DVR problemnimble streamer vod hls transmuxingloggingscreen freezecan't registercontent-dispositionlearnerheaderactionscript 3Live SwitcherCross Domaininsert logonot to stealLive BroadcastDVRStreamsNimble Serverblock downloadAVCaptureMovieFileOutputUbuntu artful 17.10Transcoder MPEG DASHMPEG DASHadd_chunk failedPost processingfake extensionbroadcastertranscodingFFMPEG;RTMP;I/O errorstatus:errorHotlinking ProtectionStreaming routeMPEG-Dashlarix broadcasterThumbnailsserver incorrect timepremium featureLIVELivenimble on cloudroutesprerollpaymentHow to do live stream with multiple audio tracknimble aliasesProgressiveincoming streamno soundstatsreloadvp9adRTMP republishrmtpno internetSecuredemandlivestreamintransocderAndroiduser_agentdvr on wmspanelS3 AWSreportsraspberryavoid refreshIOSrestartPIDHLS Streamingthumbnail dvr-thumbnailwmsAuthSignnimble streamer mpeg-ts multiple inputsLoad-BalancingDVR SettingPORTlatencycredentialsadjusttranscodeRepublishingHTML5 playerdelaympeg4transcoder nimbleVR-360Failoverhttp servera record21server ipBroadcastLarixbuildABR bitratesPacketizingav1 codecNimble connectionsabr fallbackTeradek Decoderubuntu 18SLDPssaiDVR Setting limitbufferartifactsrtsp push androidcache expiryQuickTimevideo streamingtraffichd25publish streamAArch64buffering videoSO_RCVBUFdissapointmentpay-per-minuteAWSiOSspeedup my videolivestream bitrateUDP Multicastlogo in streamMPEG2 Videonimble dvrfastspringmp2 audioprogressivewebhookdvr to liveCSSdistributionstoragealias route.movoutputcloudflareVOD HLS streaming on public IPdomain lockRTMP RepublishcontentrulesError when installingvideo and audio not matchcloudfrontanalisyssctestorage space availabledisk3.6.1-1qataritworkscdnvideo.jsgoogle cloud storageissuepricing

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.