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 streamerABRwmsauthcacheNimbleffmpegAPIapitranscoderdvrVODstreamingfailoverDASHwmspanelrtmpvodudprtsppaywallsubtitlesRTSPDispersayoutubelivelivestreamingmp4MPEG-DASHWMSAuthgeopay-per-viewdashstreamerabrWindowsencryptionUDPwhite labelconfiguser agentsmilvideoFFMPEGmulticastMPEG-TSaudioedgere-streamingCORSraspberry pichunksandroidsldpbandwidthmpeg-dashadvertizerDRMvlcrules.confadvertisingipv6FastSpringRAMwms panelthumbnailFMLEVATcrossdomainupdatehttpsmpegtsRecordingSMILplaylistpushaesakamaiserverssslSRTwowzam3u8TranscodeerrorSSLbalanceplaylist_dvrWowzachromecastconfigurationreportingsrtbugIDdownloadS3corsnimblestreamerdomainperformanceIPmpeg-tschunkraspianawspublish controlcodecmobileWMSPanelrepublishingloopVidillionHttpsnimble webcam html5UIRegistration Issuedirect link32-bit Windowstwitchanalysecache_controlitworkmelive abr support mpeg-dashrtmp abrbeirutWWDCdubaideep statshls to multicast udplogIIS Smooth StreamingcloudmediaCDNHTTPSAbrHot-linking protectionHDSvaddioMPEGTSalertsNDIViewer Statsjwplayer websitewhmcsbaselineAuthentication in HLSnginx rtmp nimbleCentOS v6.4durationAV BridgepricelimitOld logsVaddioscreencastPI3 Ubuntuview timewmspanelapiattaching domainsinterfacesDVRRecordingWMSCONFIG_HOMEmessageloadbalancingrestreamcostmetadatamod_rewriteoriginprofileAxisgbpsID3 tagsanalisyswmsauthsignhighhds streamhls restreamingciscolocalVLCresumenibler.net hotlinkVideo Playertransocding republishingdecodergentoo install server nimbleAliastranscoding using NvidiaPublic IpPaywall Authlost trafficdocumentationofflineconcurrent-connectionsTrancoderfilelebanonlocationmanifestipMP4 not playedspaceicecast urlruleServer-sidetasks-controlhot linkingseekingchangestoppedamfmainplayoutPlayReadylimuxamazon web servicedvr streamconnectivityunique visitordvr stream twiceonAXVVGhot-linkpay per viewaliasdata slicesblockHLS vodmpeg dash7TCOanalyticsapplicationpaywalbrandingopenssltrialMP4microsoft streamerrorsrocksoftlog traffic statsExpression EncoderdebianABR DASHprogressive downloadHLS Playermultiple originsFFmpegnimblesessionidDASH Playerlive video on demandbandwithCSSserverlog nimble analysertmp playbackvideojsbitrateadaptiveAV1 codecprivate networkJWPLAYERNGINX-RTMPSnapshotsno WMSPanellive videoPullmac osx installsourcecrossdomain more then 1 domain4KwotermarksoundHLS Meta Tag editing.streamsattachmenthelp errorvimeoload balanceconcurrent connectionvod no soundbuttcdnvsomFairplayfallbackamazonControl APIlive streamTranscoderLive streamingWidevineRemote StorageWowza Agentsecuritynot foundpullmpeg2tsServer-Side-Task-ControlAS3disk migrationstereo to monoscreen captureinstall players setup ready to goDVRSettingstwitch larix broadcaster androidAppleDelete recordsicecastdrmresourceaes encryptionsubscriptionlive pull settingsABR HLS Bitratesvideo looprtmp for YouTubestarttime duration seekpointrebootdvr streamsmonitornimble streamer web server php script pageautomationNimble Streamer APIlivestreamoutrateIIS Media Servicsrtmp republishing transcodenimble.confDeep statsapi accessNimble CapacityABR DVR probleminterleavingweb playernimble streamer vod hls transmuxingloggingLive SwitcherlearnerCross Domainscreen freezecan't registercontent-dispositionnot to stealLive Broadcastinsert logoheaderactionscript 3block downloadAVCaptureMovieFileOutputNimble ServerbroadcasterUbuntu artful 17.10Transcoder MPEG DASHMPEG DASHadd_chunk failedPost processingfake extensiontranscodingFFMPEG;RTMP;I/O errorstatus:errorHotlinking ProtectionStreaming routeMPEG-Dashlarix broadcasternimble on cloudroutesprerollThumbnailsserver incorrect timepremium featureLIVELivepaymentincoming streamno soundstatsHow to do live stream with multiple audio tracknimble aliasesProgressivereloadRTMP republishrmtpno internetvp9addemandSecurelivestreamintransocderraspberryavoid refreshreportsAndroiduser_agentdvr on wmspanelS3 AWScloudfrontIOSrestartPIDHLS Streamingthumbnail dvr-thumbnailwmsAuthSignnimble streamer mpeg-ts multiple inputsLoad-BalancingcredentialslatencytranscodeRepublishingadjustDVR SettingPORTHTML5 playerdelaympeg4issuepricingtranscoder nimbleBroadcastLarixABR bitratesPacketizingbuildTeradek Decoderubuntu 18SLDPav1 codec21server iphttp servera recordVR-360Failoverstorage space availablediskNimble connectionsabr fallbackDVRStreamsrulesError when installingdissapointmentpay-per-minuteAWSSO_RCVBUFbuffering videolivestream bitrateUDP Multicastlogo in streamMPEG2 VideossaiDVR Setting limitbufferprogressivewebhookdvr to livefastspringmp2 audiocache expiryQuickTimevideo streamingrtsp push androidartifactstraffichd25publish streamAArch64storagealias route.movdistributionoutputVOD HLS streaming on public IPdomain lockRTMP Republishcontentspeedup my videoiOSqataritworkscdnvideo.js

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.