WMSPanel API plans?

Mark P. 2020-06-03 17:15:44 UTC in Nimble Streamer

Hi Yuri,

I love the ideas behind SRT and SLDP.

I still need to understand the technologies and how to use them as technologies, not as a ready made app that does everything for me. I need to define my requirements and build accordingly.

I am not sure if there are plans to have Nimble Streamer provide a developer API for configuration and authentication, separate from WMSPanel. Otherwise, if WMSPanel implements the authentication scheme using the callback scheme described in the Access Control doc (i linked to from the SRT library github issue) and provides a user registration widget in the same way Stripe provides a payment widget (can be integrated into other apps) then Haivision becomes a platform provider not a technology vendor. In that case, I would be using the SRT library, which wouldn't exist without Haivision and your efforts, but in that case I'd lose SLDP since I don't think SLDP is an open standard.

I'm wondering if I should go down that route and maybe use ffplay and build a native app for my clients to use to play SRT directly, and use SRT library to implement the server, with authentication.

Can you please provide me with your advise and perspective on this?

Alex Pokotilo 2020-06-04 03:58:53 UTC 

Thanks for asking good questions.

- Haivision will not become the sole platform provider with SRT from my perspective and based on public information they provide. The main sources of success of SRT story are the open-source permissive license, a great market placement and a great support for SRT development community. SRT will be popular as long as they go this way. If you're afraid that they will get SRT to themselves and stop working with the community, then I would say that RIST will replace SRT immediately. I know SRT people and they are very smart guys not to do that. There are competitors who are ready to replace them. I don't see such risk even long-term. Don't consider this as an advice, that's just my own "IMHO".

- SLDP was intended to replace RTMP when we realized that RTMP playback will stop working shortly. We didn't have any long assumptions about this beast and we didn't want to support it for too long initially. We just wanted to provide people with some options to work in browsers. But people liked it and forced us to add mobile support too. And so we did. We were not sure why SLDP is in use in the world where webRTC exists, but now I realize its place and why people like it.
As you see there is no any huge idea or great plan to make it a widespread technology. Softvelum has always been a small software vendor with very limited development/marketing(almost absent)/support resources so we cannot afford to provide good protocol documentation, examples, reference implementation etc. I believe that if some big software house acquires the company they will be able to handle all of that. But Softvelum itself cannot afford that and hence will do what we actually can afford, that is - provide software for our clients.

- Speaking of access control for SRT. We're working right now on the feature to provide our clients the ability to create separate JSON file for each SRT input and support different SRT publish policies based on that file. You will be able to use Publish control ( feature in conjunction with SRT passphrase and that JSON file.
This feature will be part of an Addenda ( subscription.

- Long story short: SLDP is neither a game changer nor webRTC competitor but just an interesting solution especially for managed networks. If you believe in it, then encourage a good software house to grab our team and do good things with SLDP, like haivision did with SRT. I was part of that and understand I cannot do the same.

- Softvelum will support SLDP and provide our clients with protocol support like before, since it's a popular soluton. But if you need something open and ready to support it on your own or paying for that from your pocket, please make this decision yourself.

Post a reply

Post a new question



nimbleNimble StreamerFAQHLSDVRnimble streamerRTMPhlsSRTABRcachewmsauthNimbleAPItranscoderrtmpsrtapidvrffmpegVODudpRTSPsldpfailoverDASHstreamingrtspwmspanelSLDPliveyoutubevodUDPmp4paywallabrsubtitlesDispersavideoLarixmulticastaudioandroidlivestreamingWMSAuthMPEG-DASHpay-per-viewgeoMPEG-TSdashstreameredgebandwidthWMSPanelsslthumbnailWindowsencryptionhttpswhite labelplaylistconfigsmilFFMPEGperformanceCORSchunksraspberry pire-streamingmpeg-dashpublish controlcorscloudfrontDRMRepublishingadvertizerrepublishingvlcS3user agentNDIristrules.confadvertisingipv6MPEGTSFastSpringRAMwms panelRecordingfileFMLEVATcrossdomainSMILmpegtsaespushakamaiwowzamobileserversPullcodecerrorbalanceSSLTranscodem3u8TranscoderchromecastWowzaIDbugconfigurationreportingdownloadsnapshotawsmpeg-tsLarix BroadcasterAndroidnimblestreamerdomainloopraspianAWSoriginscte35CDNipupdateroutesamazonlarix broadcasterplaylist_dvrVidillionHttpschunkIPsecurityUInimble webcam html5Registration Issuedirect link32-bit Windowstwitchcache_controlitworkmecudalive abr support mpeg-dashwmspanelapibeirutreloadWWDCdubaideep statsCentOS v6.4hls to multicast udpnooblogIIS Smooth StreamingcloudmediaAbrHTTPSHot-linking protectionHDSvaddioalertsjwplayer websitewhmcsbaselinetimelineVaddioAV BridgePI3 Ubuntuview timeAuthentication in HLSNimble Streamer APIPi4priceinterfacesresourcelimitOld logsencrytpionCloud Storagescte-35loadbalancingscreencastmetadatamod_rewriteprofilelarix abrAxisgbpsID3 tagswmsauthsignhighattaching domainshds streamcontainer* hotlinkdatmessageWMSCONFIG_HOMErestreamcostrtmp abrgentoo install server nimblePublic Iptranscoding using NvidiaPaywall AuthofflinedocumentationNimble streamer upgradehls restreamingTrancoderconcurrent-connectionsVLCresumeniblerServer-sideVideo Playertransocding republishingdecoderstoppedNimble Streamer versionmainAliaslost trafficpay per viewicecast urldvr_archivesmpeg dashnginx rtmp nimblehot linkinglebanonlocationmanifestwildcardobsTCORaspian BusterchangeMP4 not playedspaceexportopensslamfLarix GroveseekingExpression EncoderonSteam stopped workinglimuxamazon web servicePlayReadynginxHLS voddvr stream twicerepublishHLS PlayerAXVVGhot-linkDASH Playeranalyticspaywalapplicationblocknvencjpeg7brandingtrialdebianmicrosoft streamMP4screen freezecan't registererrorsrocksoftlog traffic statsLarge DVR filesprivate networklive video on demandbandwithno WMSPanelserverlive videonimblesessionidFFmpegmultiple originsinterleavingSLDP PLayerABR DASHprogressive downloadmac osx installwotermarksourceheadervimeohelp errorLive Streaminglog nimble analysertmp playbackload balancezabbixAdsvideojscache expiryvideo stopcdnvsombitrate#restreamlive streamViewer StatsstreamsadaptiveAV1 codecJWPLAYERNGINX-RTMPHEVCattachmentDelaympeg2tsServer-Side-Task-Controldisk migrationvod no soundconcurrent connectiondvr on wmspaneldvr streamconnectivityUbuntu 20 ARM - AWSunique visitor4Kcrossdomain more then 1 domainscreen capturestereo to monocpuaes encryptionsubscriptionWidevineFairplayWMSPanel settingslive pull settingsABR HLS BitratesbuttAWS 3rtmp for YouTubedrmnot foundCPU LoadpullControl APIAS3Live streaminginstall players setup ready to goDVRSettingstwitch larix broadcaster androidAppleDelete recordsadd_chunk failedPost processingfake extensionnimble streamer vod hls transmuxinglogginglearnernimble streamer web server php script pageautomationCross Domainoutrateudp streaminginsert logovideo loopicecaststarttime duration seekpointrebootmonitorapi accessDeep statsloadbalancerinvalidMPEG DASHUbuntu artful 17.10Transcoder MPEG DASHweb playerblock downloadAVCaptureMovieFileOutputdvr streamslivestreamcontent-dispositionNimble CapacityABR DVR problemLive SwitcherNimble Servernot to stealLive BroadcastfacebookStreaming routeHotlinking ProtectionSecuritysecure streamingpaymentRTMP republishstatsadvp9contentRTMP RepublishdemandIOSpremium featureserver incorrect timeThumbnailsssaiDVR Setting limitLiveLIVELoad-Balancingnimble streamer mpeg-ts multiple inputswmsAuthSignrmtpInterlaceno internetsoundHLS Meta Tag editing.How to do live stream with multiple audio trackProgressivenimble aliasestranscoder nimblethumbnail dvr-thumbnailavoid refreshraspberryreportsPaywallS3 AWSVideo cant be playedcredentialsstorage space availabledisktranscodevbv-maxrateSecureJetson NanoHTML5 playerlivestreamintransocderFailoverVR-360publish streamStream Delaytraffichd25AArch64webhookdvr to liveautomateuser_agentbuildrist set fecABR bitratesPacketizingdomain lockoutputUsers limitcloudflareVOD HLS streaming on public IPlarixanalisyssctedelaympeg4storagealias route.movInvalid frame headerno soundincoming streamSubtitlesDVRRecordingAuthlivestream bitratedockerGopLL-HLS DVRav1 codecNimbleStreamerfastspringNimble streamermp2 audiodata slicesaliasplayer sldpdistributionVP9http serverwirecasta recordqataritworkscdnvideo.jslatencyno audiobuffering videoSO_RCVBUFbufferCentos 8dissapointmentpay-per-minuteQuickTimevideo streamingcompatibility protocolsmultiplexactionscript 3server ssl errorCSSTeradek Decoderubuntu 18restarthelpFallback3.6.1-1server ip21SSL requestMax connectionUDP Multicastincomingmulti-viewersha265RIST BondingplayoutrulesError when installinghow-tomanage_dvrDVRStreamsaws amazonmultiple audio udphotlink protectionRaspberryPi4ultra low latencyMPEG2 Videologo in streamDVR SettingPORTanalyseStreamIDprogressivebroadcast video4GwebrtcNimble_Crushvideo audioSRT protocolartifactsrtsp push androidtuningWowza AgentRemote StorageSSAIprerollstreamrtmp sldp nimblenimble on cloudfallbackRaspberrytasks-controlLinuxRTMP to SRTBroadcastvideo and audio not matchLarix broadcastergpu{stream}SnapshotsOBSMPEG-DashLL-HLSGoogle DriveHLS StreamingPIDurlnimble.confrtmp republishing transcodeIIS Media Servicstrackspeedup my videoiOSmultipointrulethumbnailssubfolderTLSV 1.2 Certificatedynamic linksdvbNetworkRAM Loadstatus:errortranscodingdownTonyFFMPEG;RTMP;I/O errorissuepricinggoogle cloud storageRistmultiplertpnimble dvrdurationBandwidthYadifportsfairplayNginxbroadcasterOSXmd5abr fallbackNimble connectionsletsencryptmultiple 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.