Forum

How to setup cloudfront for SLDP CDN delivery

Joerg 2020-10-01 09:05:14 UTC in Nimble Streamer

Hello everyone,
I'm trying to get Nimble Streamer and Cloudfront work together with the SLDP protocol. I followed the instructions (blog.wmspanel.com/2018/11/using-amazon-cloudfront-sldp-delivery.html) and managed to get HLS delivered via Cloudfront. I also managed to get SLDP played, but only if I use the URL from the origin server, not via Cloudfront.

My setup:
- FFMPEG as SRT source, single video, singel audio stream
- Nimble Streamer on local server (private network) receiving SRT and converring into HLS and SLDP.
- D-DNS setup and port forwarding to my local Nimble server (ports 8081 HTTP, 8082 management port, 443 HTTPS, 80 alternative HTTP, 5000 for SRT delivery) (D-DNS: origin.example.com)
- Setup cloudfront and point to origin.example.com
- setup Nimble Server "Nimble HTTP Origin" called CLOUDFRONT and also Nimble alias (application live, aliases "cloudfront", protocols HTTP)
- setup Nimble Streamer "Cross domain" allowance to *.cloudfront.com

Testing:
- acces HLS stream directly works (either origin.example.com/live/stream/playlist.m3u8)
- access HLS teststream (VLC, Flowplayer) via cloudfront, works (edgeID.cloudfront.net/CLOUDFRONT/stream/playlist.m3u8)

- WMSpanel testplayer can access SLDP stream directly from Nimble Streamer (ws://origin.example.com/live/stream)

- WMSpanel testplayer can not access SLDP stream via Cloudfront edgeID.cloudfront.net/CLOUDFRONT/stream)

Any ideas what I'm doing wrong?
Thx

Sergei 2020-10-01 10:01:44 UTC 

Hello, Joerg.

I would suggest launching a ticket at wmspanel.com/help as we may request some sensitive information (IPs, Cloudfront setup details,etc), that you probably won't like to share in a publicly available forum.

Thank you.

Joerg 2020-10-13 18:41:25 UTC 

Dear Readers,
I found the solution myself. If you setup cloudfront, then you need to adjust it's "behaviour". Goto your cloudfront setup and edit the "distribution settings". Goto the tab "Behaviours" and create or edit the existing one. Look for the option "Query String Forwarding and Caching" and set it to "Forward all"!
That's it

Sergei 2020-10-14 02:38:03 UTC 

Thank you for sharing, Joerg!

Post a reply


Post a new question

Categories:

Tags:

nimbleNimble StreamerFAQHLSDVRRTMPhlsnimble streamerABRcachewmsauthNimbleAPIapitranscoderSRTdvrrtmpffmpegVODsrtfailoverDASHsldpstreamingrtspwmspanellivevodudppaywallsubtitlesDispersaRTSPvideoSLDPyoutubeabrlivestreamingmp4WMSAuthMPEG-DASHpay-per-viewgeodashstreamerWMSPaneledgebandwidthWindowsencryptionthumbnailUDPhttpswhite labelconfigsmilmulticastFFMPEGsslMPEG-TSaudioCORSchunksraspberry pire-streamingmpeg-dashperformancecorsadvertizervlcrepublishingS3cloudfrontDRMuser agentandroidNDILarixrules.confplaylistadvertisingipv6MPEGTSFastSpringRAMFMLEVATcrossdomainmpegtsSMILRecordingaespushakamaiwowzaserversPullcodecmobileerrorSSLTranscodem3u8balancechromecastplaylist_dvrWowzaIDreportingconfigurationdownloadbugpublish controlRepublishingnimblestreamerdomainLarix Broadcastermpeg-tsraspianloopVidillionHttpschunkAWSawsoriginCDNwms panelroutesamazonIPscte35ipupdateUInimble webcam html5bitrateRegistration Issuedirect link32-bit Windowstwitchcache_controlitworkmelive abr support mpeg-dashwmspanelapiresumertmp abrbeirutWWDCdubaiCentOS v6.4hls to multicast udpnooblogRemote StorageWowza AgentIIS Smooth StreamingcloudmediaAbrHTTPSHot-linking protectionHDSvaddioalertsjwplayer websitebaselinetimelinewhmcsnginx rtmp nimbleAuthentication in HLSAV BridgePi4VaddiopricePI3 UbuntulimitOld logsscte-35screencastview timeinterfacesattaching domainsDVRRecordingcontainerloadbalancingmod_rewritemetadataprofileID3 tagsgbpsAxisdatmessageWMSCONFIG_HOMEwmsauthsignhighhds streamrestreamcostlocalcisco.net hotlinkhls restreaminggentoo install server nimbleVLCPublic Iptranscoding using NvidiaPaywall AuthniblerofflinedocumentationNimble streamer upgradeconcurrent-connectionsTrancoderdecodertransocding republishingVideo PlayerfileAliaslost trafficServer-sideexportopensslstoppedNimble Streamer versionmainicecast urlrulehot linkingchangelebanonlocationmanifestrtmp for YouTubeMP4 not playedspaceLarix Groveamfseekingpay per viewonSteam stopped workingnginxPlayReadyamazon web servicelimuxdvr_archivesmpeg dashobsTCORaspian BusterHLS voddvr stream twicedeep statssdpshoutcasthot-linkAXVVGanalyticspaywalapplicationblocknvencExpression Encoder7brandingtrialdebianmicrosoft streamMP4HLS PlayererrorsDASH Playerrocksoftlog traffic statslive video on demandbandwithservernimblesessionidFFmpegmultiple originsprogressive downloadABR DASHscreen freezecan't registersourceheaderprivate networkLarge DVR filesSnapshotslog nimble analysertmp playbackno WMSPanelvideojslive videointerleavingvideo stopmac osx installadaptiveAV1 codecwotermarkstreamsNGINX-RTMPJWPLAYERvimeohelp errorattachmentload balancevod no soundconcurrent connectioncache expirydvr streamconnectivityUbuntu 20 ARM - AWSunique visitor4Kcrossdomain more then 1 domaincdnvsomlive streamcpuViewer StatsWidevineFairplayAWS 3buttDelaympeg2tsServer-Side-Task-Controlnot foundCPU Loaddisk migrationpullAS3screen capturestereo to monoTranscoderLive streamingdrmsecurityresourceaes encryptioninstall players setup ready to goDVRSettingstwitch larix broadcaster androidAppleDelete recordssubscriptionABR HLS Bitrateslive pull settingsWMSPanel settingsvideo loopicecaststarttime duration seekpointrebootudp streamingoutratemonitornimble streamer vod hls transmuxingloggingapi accessDeep statsloadbalancernimble.confrtmp republishing transcodeIIS Media Servicslearnerweb playerdvr streamsinsert logoautomationnimble streamer web server php script pageNimble Streamer APIlivestreamcontent-dispositionNimble CapacityABR DVR problemAVCaptureMovieFileOutputblock downloadLive SwitcherNimble ServerPost processingadd_chunk failedfake extensionMPEG DASHUbuntu artful 17.10Transcoder MPEG DASHnot to stealLive BroadcastRTMP republishstatus:errorFFMPEG;RTMP;I/O errortranscodingPIDHotlinking ProtectionStreaming routefacebookMPEG-Dashlarix broadcasterbroadcasterOSXadvp9snapshotpaymentstatspremium featureserver incorrect timeThumbnailsreloadLiveLIVEcontentRTMP RepublishssaiDVR Setting limitdemandHow to do live stream with multiple audio trackrmtpno internetIOSProgressivenimble aliasesHLS Streamingthumbnail dvr-thumbnailLoad-Balancingnimble streamer mpeg-ts multiple inputswmsAuthSignreportsavoid refreshraspberrysoundHLS Meta Tag editing.transcoder nimbleSecureJetson Nanotranscodevbv-maxratedvr on wmspanelVideo cant be playedS3 AWSuser_agentautomateAndroidVR-360Failoverdockerlivestream bitrateABR bitratesPacketizingbuildpublish streamStream Delaytraffichd25AArch64delaympeg4.movalias routestoragedomain lockVOD HLS streaming on public IPoutputUsers limitcloudflareanalisysscteno soundInvalid frame headerincoming streamHTML5 playerGopwirecasta recordhttp serverNimbleStreamerav1 codecabr fallbackNimble connectionsdistributionfastspringNimble streamermp2 audiodata slicesaliasplayer sldpqataritworkscdnvideo.jsspeedup my videoiOSissuepricinggoogle cloud storagedissapointmentpay-per-minuteRAM LoadlivestreamintransocderPaywallvideo and audio not matchdiskstorage space available3.6.1-1SO_RCVBUFbuffering videocompatibility protocolsMax connectionUDP MulticastgpurestarthelpFallbackError when installinghow-tomanage_dvrrulesDVRStreamsaws amazonserver ip21SSL requestMPEG2 Videologo in streamVP9sha265nimble on cloudprerollDVR SettingPORTanalyseStreamIDcredentialsincomingmulti-viewervideo audioCross DomainSRT protocolmd5nimble dvrrtpdurationBandwidthbufferRIST BondingplayoutControl APIfallbackQuickTimevideo streamingartifactsrtsp push androidtuningactionscript 3server ssl errorCSSRistwebhookdvr to liveprogressivebroadcast videoRTMP to SRTubuntu 18Teradek DecoderlatencyNimble_Crushdynamic linksTLSV 1.2 Certificatefairplayre-publishingSRT RTMPsoftware versionadjustBroadcasthotlink protectionultra low latencyRaspberryPi4Raspberrytasks-control

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.