Forum

Audio sync issue on hot swap if internet goes down

Shane 2020-04-27 16:53:12 UTC in Nimble Streamer

I have an ABR transcode scenario that is my master HLS output.

Prior to that, I have a a hot swap Failover setup in case stream goes down (looped file), and an Emergency hotswap so I can replace the stream.

This is a 24-hour stream, so in my scenario, the use case is:

Stream A (main incoming endpoint) - plays 20 hours per day when show not live
Stream B (emergency swap) - plays 4 hours per day when show is live
Fallback Loop (failover is both streams off)

All are transcoded to same resolutions/audio bitrates, etc. There is a 2-hour DVR cache.

This works just fine.

However, if we're sending RTMP to Stream B and the internet connection momentarily goes out, the audio will go out of sync with the video. Sometimes it's only only an issue on 1 or 2 renditions (doing 360, 720 and 1080), while one remains in sync, or sometimes they all go wacky.

The only way to fix (that I've been able to find) to stop nimble service, clear the dvr cache, and restart the service. Simply stopping and restarting incoming RTMP (originating from vMix) is not enough.

I don't know if this issue occurs if you're just doing a straight RTMP to ABR transcode (without all failovers we have), but it definitely happens and is repeatable in our setup.

Anything to look at or way to correct? We're 95% of the way to having everything work correctly all the time - this is kind of the last stumbling block.

Sergei 2020-04-28 02:49:07 UTC 

Hello, Shane.
We will answer you soon personally.
Thank you.

Post a reply


Post a new question

Categories:

Tags:

nimbleNimble StreamerFAQHLSDVRRTMPhlsnimble streamerABRcachewmsauthNimbleAPIdvrSRTtranscoderffmpegapiVODfailoverrtmpsldpstreamingDASHwmspanelsrtvodudprtsppaywallsubtitlesDispersaRTSPvideoyoutubeabrlivelivestreamingmp4WMSAuthMPEG-DASHgeopay-per-viewdashedgeSLDPstreamerWMSPanelWindowsencryptionhttpsuser agentUDPwhite labelconfigsmilFFMPEGsslmulticastMPEG-TSCORSaudiore-streamingmpeg-dashchunksraspberry piandroidbandwidthperformancecorsadvertizervlcS3DRMrules.confplaylistadvertisingipv6MPEGTSFastSpringRAMthumbnailFMLEVATcrossdomainupdateRecordingSMILmpegtsaespushwowzaakamaiserversmobilem3u8TranscodeerrorbalanceSSLchromecastWowzaplaylist_dvrconfigurationIDreportingbugdomainnimblestreamerLarixIPrepublishingmpeg-tspublish controlcodecloopVidillionHttpschunkawsAWSdownloadorigincloudfrontraspianCDNwms panelroutesnimble webcam html5UIbitrateRegistration Issuedirect link32-bit Windowstwitchcache_controlitworkmelive abr support mpeg-dashwmspanelapiresumertmp abrbeirutWWDCdubaideep statsCentOS v6.4hls to multicast udplogWowza AgentRemote StoragecloudIIS Smooth StreamingmediaHot-linking protectionHTTPSAbrHDSvaddioalertsjwplayer websitebaselinewhmcsnginx rtmp nimbleAV BridgeVaddioAuthentication in HLSPI3 Ubuntuview timepricelimitOld logsscte-35screencastinterfacesDVRRecordingloadbalancingattaching domainsmod_rewritemetadataprofileID3 tagsgbpsAxiswmsauthsignhighhds streamdatmessageWMSCONFIG_HOMElocalciscorestreamcost.net hotlinkgentoo install server nimblehls restreamingPublic Iptranscoding using NvidiaPaywall AuthVLCofflinedocumentationNimble streamer upgradeniblerTrancoderconcurrent-connectionsfiledecodertransocding republishingVideo PlayerAliasServer-sidelost traffictasks-controllebanonlocationmanifeststoppedNimble Streamer versionmainMP4 not playedspaceipicecast urlseekingrulepay per viewhot linkingchangeamfPlayReadyamazon web servicelimuxplayoutdvr stream twicedvr_archivesmpeg dashobsTCOhot-linkAXVVGopensslblocknvencSteam stopped workingonExpression EncoderHLS vod7brandingtrialanalyticspaywalapplicationMP4microsoft streamerrorsHLS Playerrocksoftlog traffic statsDASH Playerdebianprogressive downloadABR DASHFFmpegmultiple originsnimblesessionidscreen freezecan't registerlive video on demandbandwithheaderprivate networkLarge DVR filesserverlog nimble analysertmp playbackvideojsno WMSPanellive videointerleavingmac osx installadaptiveAV1 codecsourceNGINX-RTMPJWPLAYERwotermarkSnapshotsvimeohelp errorload balancePullvideo stop4Kcrossdomain more then 1 domaincache expirycdnvsomlive streamattachmentAWS 3buttvod no soundconcurrent connectiondvr streamconnectivityUbuntu 20 ARM - AWSunique visitormpeg2tsDelayServer-Side-Task-Controldisk migrationfallbackamazonControl APIscreen capturestereo to monoLive streamingTranscoderWidevinesecuritydrmresourceaes encryptionsubscriptionnot foundCPU LoadpullABR HLS Bitrateslive pull settingsWMSPanel settingsAS3rtmp for YouTubeicecasttwitch larix broadcaster androidDVRSettingsinstall players setup ready to goDelete recordsAppleudp streamingoutratenimble streamer vod hls transmuxingloggingdvr streamslearnervideo loopautomationnimble streamer web server php script pageNimble Streamer APIlivestreaminsert logostarttime duration seekpointrebootNimble CapacityABR DVR problemmonitornimble.confrtmp republishing transcodeIIS Media ServicsLive SwitcherAVCaptureMovieFileOutputblock downloadapi accessDeep statsweb playernot to stealLive BroadcastPost processingadd_chunk failedfake extensionMPEG DASHUbuntu artful 17.10Transcoder MPEG DASHcontent-dispositionstatus:errorFFMPEG;RTMP;I/O errortranscodinglarix broadcasterMPEG-DashNimble ServerbroadcasterOSXStreaming routeHotlinking ProtectionRTMP republishPIDpaymentstatshotlink protectionreloadpremium featureThumbnailsserver incorrect timeLiveLIVEdemandHow to do live stream with multiple audio trackprogressiveProgressivenimble aliasesrmtpno internetHLS Streamingthumbnail dvr-thumbnailLoad-Balancingnimble streamer mpeg-ts multiple inputswmsAuthSignstreamssoundHLS Meta Tag editing.delaympeg4reportsavoid refreshraspberrytranscoder nimbleSecureJetson NanoAndroiduser_agentdvr on wmspanelVideo cant be playedS3 AWSBroadcastvbv-maxratetranscodeRepublishinglivestream bitrateVR-360Failoverpublish streamStream Delaytraffichd25Larix BroadcasterAArch64PacketizingABR bitratesbuildcontentRTMP Republishdomain lockVOD HLS streaming on public IPoutputUsers limitcloudflareincoming streamno soundInvalid frame headerHTML5 playerGopNimbleStreamerav1 codecfastspringmp2 audioNimble streamerdata slicesaliasplayer sldpDVR Setting limitssaibuffer.movalias routestoragedistributionqataritworkscdnvideo.jsspeedup my videoiOScpuissuepricinggoogle cloud storageRAM Loadtransocderlivestreaminwebhookdvr to liveadjustsoftware versiondiskstorage space available3.6.1-1dissapointmentpay-per-minuteSO_RCVBUFbuffering videoadvp9gpunimble dvrdurationBandwidthPaywallvideo and audio not matchmanage_dvrhow-toError when installingrulesDVRStreamsaws amazoncompatibility protocolsa recordwirecasthttp serverSSL requestserver ip21UDP MulticastMax connectionMPEG2 Videologo in streamVP9sha265latencyscte35ubuntu 18Teradek Decoderanalisyssctenimble on cloudprerollTLSV 1.2 Certificatedynamic linksPORTDVR SettinganalyseStreamIDIOSrestartFallbackhelpcredentialsFairplayincomingViewer StatsNDICross DomainSRT protocolvideo audioabr fallbackNimble connectionsmd5CSSactionscript 3server ssl errorartifactsrtsp push androidtuningvideo streamingQuickTime

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.