Forum

Diagnosing CDN 504 errors on live HLS

Shane 2021-09-23 17:01:29 UTC in Nimble Streamer

We use Nimble to take RTMP to live HLS, and Nimble is setup as CDN origin.

When we experience high viewer spikes, the CDN reports 504 Gateway Timeout errors on the TS chunks.

Odd thing is, there is no unusual spike in bandwidth, CPU or Memory on the Nimble server (all within very acceptable limits), and no errors in Nimble log.

Any suggestions on what to look for to diagnose this issue? The CDN is pointing the finger at our origin.

Thanks

Sergei 2021-09-23 23:26:03 UTC 

Hello, Shane.

504 means Nimble could not be reached by CDN, this is either a high load to Nimble or some networking restriction or issues.

Just a guess, but does your hosting provider can limit connections to a server if there're too many of them? Have you tried to make multiple requests (e.g. by curl) to your server directly as 504 occurred?
Please enable access.log (as described in the below documentation page) to check if CDNs requests are reaching you Nimble at all.
https://blog.wmspanel.com/2016/08/logging-nimble-streamer.html

If you want us to check the issue, please file a ticket at wmspanel.com/help with more technical details.
Please name your server and stream you have an issue with, specify the exact time the issue happens, and attach CDNs and Nimble's log files for the specified time. (access.log and nimble.log)

Thank you.

Shane 2021-09-24 02:31:52 UTC 

OK, will do that and investigate a little further. Didn't consider throttling by provider - it's on a DigitalOcean instance. But bandwidth is low (25 Mbps or so). Since (theoretically) those viewers are hitting the CDN and not origin, it shouldn't be an issue of connection numbers.

However, I just looked at my CDN edge rules and for some reason I have it set to always request the m3u8's from origin and not cache, which would definitely spike connections with little bandwidth). Not sure why we have it setup that way. It should be fine to cache the m3u8's on the CDN too, correct?

Shane 2021-09-24 02:53:56 UTC 

At least for a short time (5 seconds?)...one of the two streams is DVR, the other is just straight live. Would caching playlists on the DVR channel cause issues? Thanks

Sergei 2021-09-24 06:42:55 UTC 

It looks like we already discussed playlist caching in your previous tickets. Please continue this thread via wmspanel.com/help, as we cannot share sensitive information about your company set up there.

Thank you.

Post a reply


Post a new question

Categories:

Tags:

nimbleNimble StreamerFAQHLSnimble streamerDVRRTMPhlsSRTsrtABRrtmpcacheNimblewmsauthAPItranscoderdvrffmpegapisldpudpVODaudioRTSPfailoverrtspDASHwmspanelUDPvodpaywallstreamingabrSLDPyoutubemp4DispersastreamerandroidsslmulticastLarixsubtitlesliveNDIvideolivestreamingplaylistWMSAuthMPEG-DASHpay-per-viewerrorgeoMPEG-TSre-streamingdashcorsWMSPaneledgebandwidththumbnaillarix broadcasterWindowshttpswhite labelconfigsmilFFMPEGencryptionCORSperformancechunksraspberry pimpeg-dashpublish controlcloudfrontDRMRepublishingvlcscte35AWSS3advertisinguser agentadvertizerristrepublishingrules.confipv6MPEGTSFastSpringRecordingRAMwms panelfileFMLEVATcrossdomainSMILmpegtsaespushakamaimobilewowzaPullserverscodecmanifestSSLchromecastbalancedrmTranscodem3u8TranscoderbugWowzaIDreportingconfigurationsnapshotdownloadawsAndroidnimblestreamerdomaintranscoderaspianloopstreamroutesamazonupdateipVidillionHttpsmpeg-tsBroadcastplaylist_dvrVLCPIDerrorsEncoderoriginscte-35issuechunklimitsecurityLarix BroadcasterIPCDNthumbnailsUIRegistration Issuedirect link32-bit Windowstwitchcache_controlitworkmecudalive abr support mpeg-dashwmspanelapibeirutreloadWWDCdubaideep statsCentOS v6.4logIIS Smooth StreamingcloudmediaIPTVprofilelarix abrTSReaderAbrHTTPSHot-linking protectionHDSvaddioalertsMuxjwplayer websitewhmcsbaselinetimelineVaddioAV BridgePI3 Ubuntuview timeAuthentication in HLSNimble Streamer APIPi4streamsinterfacesHLS Meta Tag editing.encrytpionloadbalancingwmsattachmentHEVCmetadatamod_rewritewmsauthsignpricehighresourcehds streamOld logsciscolocalscreencastID3 tagsgbpsAxis.net hotlinkRTMP republishattaching domainssdpshoutcastno internetInterlacedocumentationofflinecontainerNimble streamer upgradeMulticast*concurrent-connectionsTrancoderrecordingrtmp abranalisysresumeniblerhls restreamingServer-siderestreamstoppedMPEG2TSNimble Streamer versionmainWMSCONFIG_HOMEdissapointmentdatmessagegentoo install server nimbletranscoding using NvidiaPublic IpPaywall AuthwildcardobsTCOno WMSPanelVideo Playertransocding republishingdecoderAliaspay per viewlost trafficdvr_archivesmpeg dashnginx rtmp nimbleRaspian Bustericecast urlexportopenssllimuxamazon web servicenginxPlayReadychangedvr stream twiceLarix GroveamfAXVVGhot-linkIOSExpression EncoderblocknvenconSteam stopped workingadaptiveAV1 codecHLS PlayerJWPLAYERNGINX-RTMPHLS in UDP outDASH PlayerHLS voddvr export to mp47analyticsapplicationpaywalbrandingtrialCablemicrosoft streamMP4rocksoftlog traffic statsjpegscreen freezecan't registeraccuracyprivate networkLarge DVR fileslive videodebianTelegraminterleavingSLDP PLayerseekingmac osx installwotermarklive video on demandbandwithnimblesessionidFFmpegmultiple originsvimeohelp errorserverload balancezabbixheadercache expirycdnvsomlog nimble analysertmp playbacklive streamsourceViewer StatsAdsvideojsLive Streamingbitrate#restreamMP4 not playedspaceServer-Side-Task-Controlvideo stopaes encryptionsubscriptionvod no soundconcurrent connectionlebanonlocationUbuntu 20 ARM - AWSunique visitorconnectivitydvr streamstereo to monoscreen capturelive pull settingsWMSPanel settingsABR HLS Bitratesrtmp for YouTube4Kcrossdomain more then 1 domainWidevineFairplaycpunot foundCPU LoadpullAS3loggingnimble streamer vod hls transmuxingbuttAWS 3Cross Domaininsert logoinstall players setup ready to goDVRSettingstwitch larix broadcaster androidicecast metadataDVRStreamsAppleDelete recordspremium featureControl APIProgressivenimble streamer web server php script pageautomationLive streamingvideo loopUbuntu artful 17.10Transcoder MPEG DASHinvalidMPEG DASHstarttime duration seekpointadd_chunk failedPost processingfake extensionstatus:errorrebootdroppingmobile app live streamingmonitoroutrateudp streamingapi accessDeep statsicecastMPEG-Dashloadbalancerweb playercontent-dispositionpaymentstatsNimble ServerAVCaptureMovieFileOutputblock downloadrestartdvr streamsavoid refreshlivestreamABR DVR problemNimble CapacityHotlinking ProtectionStreaming routehotlinkfacebookcontentRTMP RepublishSecurityLive Switcherdemandnot to stealLive BroadcastMultiple Audio trackssecure streaminglow_bandwidthwmsAuthSignnimble streamer mpeg-ts multiple inputsLoad-Balancingvp9adsounddisk migrationThumbnailsserver incorrect timeLIVELivelearnernimble webcam html5ssaiDVR Setting limitpausemosaicHow to do live stream with multiple audio trackrmtpreportstranscoder nimbledvr on wmspanelfpsVideo cant be playedS3 AWSraspberryPaywalllivestreamintransocderstorage space availablediskcredentialsautomateuser_agentdvr to livewebhookvbv-maxratedomain lockUsers limitoutputcloudflareVOD HLS streaming on public IPlarixsctelivestream bitratedockerDVRRecordingAuthInvalid frame headerno soundincoming streamSubtitlesGopDVR SettingPORTubuntu 18Teradek Decoderdelaympeg4storagealias route.movartifactsrtsp push androidhttp serverLatencywirecasta recordruleshow-tomanage_dvrError when installingmultiviewRAM Loadserver ip21VP9Nimble connectionsabr fallbackaliasdata slicesplayer sldpmp2 audioNimble streamerfastspringno audiolatencySO_RCVBUFbuffering videodistributionsoftware versionadjustbufferqataritworkscdnvideo.jscompatibility protocolsmultiplexCentos 8pay-per-minute3.6.1-1UDP MulticastMax connectionincomingmulti-viewerFallbackhelpmultiple audio udphotlink protectionRaspberryPi4ultra low latencyaws amazonhls to multicast udpnoobSSL requestsha265broadcasterOSXmd5analyseStreamIDprerollnimble on cloudrtmp sldp nimblepluginfallbacktasks-controlRaspberryRTMP to SRTLinuxgpu{stream}Connections count limitNimble_Crushwebrtc4GRIST Bondingplayoutsrt-live-transmitWowza AgentRemote StorageSSAItuningAmazonTVfireOBSvideo and audio not matchLarix broadcasterNetworkspeedup my videoiOSPerformanceSnapshotsSRT RTMPre-publishingletsencryptTonydowntranscodingFFMPEG;RTMP;I/O errorLL-HLSHTML5 playerAddendaABR DASHprogressive downloadeventLL-HLS DVRav1 codecconnectionsNimbleStreamernimble aliasesNimble StreambuildABR bitratesPacketizingcountrist set fecmultiple audioOBS StudioWMSAUTHIVSDelaympeg2tsIIS Media Servicsrtmp republishing transcodenimble.confinterfacetrackbindprogressivebroadcast videovideo audioSRT protocoldvbduplicatingpcdynamic linksTLSV 1.2 CertificatesubfolderbrowserurlGoogle DriveHLS Streamingrtmpscostnimble abr hlsthumbnail dvr-thumbnailaudio languageVR-360Failovergoogle cloud storagepricingoverlayhot linkingTRANSCODErtpnimble dvrBandwidthdurationYadifportsRokuContinuitywordpressJetson NanoSecureLarix PlayerramfairplayNginxpublish streamStream Delayhd25trafficAArch64video streamingQuickTimeCloud StorageRistmultistreamingmultipledropped framesCSSserver ssl erroractionscript 3MPEG2 VideoPCRlogo in streammultipointrulerepublishconcurrent

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.