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 StreamerFAQHLSDVRRTMPnimble streamerhlsABRcachewmsauthNimbleAPItranscoderffmpegdvrapiVODfailoverrtmpstreamingDASHwmspanelvodudprtsppaywallsubtitlesDispersaRTSPyoutubelivelivestreamingmp4MPEG-DASHWMSAuthpay-per-viewgeosldpdashvideostreameredgeabrWindowsencryptionhttpsUDPwhite labelconfigsmiluser agentFFMPEGmulticastSRTsslaudioMPEG-TSre-streamingmpeg-dashchunksraspberry piCORSandroidsrtbandwidthadvertizercorsvlcS3WMSPanelDRMrules.confadvertisingipv6MPEGTSFastSpringRAMwms panelthumbnailFMLEVATcrossdomainupdateRecordingmpegtsplaylistSMILwowzaakamaiaespushserversm3u8TranscodeSSLerrorbalanceplaylist_dvrWowzachromecastconfigurationIDreportingbugdomainnimblestreamerperformanceIPloopHttpsVidillionchunkmobilerepublishingawsAWSdownloadorigincloudfrontpublish controlcodecmpeg-tsCDNraspiannimble webcam html5UIroutesbitrateRegistration Issuedirect link32-bit Windowstwitchanalysecache_controlitworkmelive abr support mpeg-dashwmspanelapirtmp abrbeirutWWDCdubaideep statshls to multicast udplogcloudIIS Smooth StreamingmediaHot-linking protectionHTTPSAbrHDSvaddioalertsAuthentication in HLSCentOS v6.4jwplayer websitepricebaselinewhmcslimitOld logsscreencastnginx rtmp nimbleAV BridgeVaddioattaching domainsPI3 Ubuntuview timeWMSCONFIG_HOMEmessagerestreamcostinterfacesDVRRecordingloadbalancingmod_rewritemetadataprofilehls restreamingID3 tagsgbpsAxisVLCwmsauthsignhighhds streamresumeniblerlocalciscodecodertransocding republishingVideo Player.net hotlinkAliaslost trafficgentoo install server nimblePublic Iptranscoding using NvidiaPaywall AuthlocationlebanonmanifestofflinedocumentationipMP4 not playedspaceTrancoderconcurrent-connectionsicecast urlfileruleseekinghot linkingchangeamfServer-sideplayoutPlayReadyamazon web servicelimuxtasks-controldvr stream twicestoppedmainhot-linkAXVVGondata slicesaliasblocknvencconnectivitydvr streamunique visitorHLS vodpay per viewpaywalapplicationanalytics7brandingtrialMP4microsoft streamdvr_archivesmpeg dasherrorsobsTCOlog traffic statsrocksoftopenssldebianExpression Encoderprogressive downloadABR DASHlive video on demandFFmpegmultiple originsnimblesessionidbandwithHLS PlayerheaderDASH Playerserverlog nimble analysertmp playbackvideojssourceSnapshotsadaptiveAV1 codecNGINX-RTMPJWPLAYERPullvideo stopprivate networkLarge DVR filescrossdomain more then 1 domain4Kno WMSPanelsoundHLS Meta Tag editing.streamslive videoattachmentmac osx installvod no soundconcurrent connectionwotermarkhelp errorvimeoAWS 3buttload balanceFairplayfallbackamazonControl APIRemote StorageWowza AgentLive streamingTranscodervsomcdnnot foundsecuritylive streampullAS3Widevinempeg2tsServer-Side-Task-Controltwitch larix broadcaster androidDVRSettingsinstall players setup ready to goDelete recordsAppledisk migrationicecastscreen capturestereo to monodrmvideo loopresourceaes encryptionsubscriptionstarttime duration seekpointrebootmonitordvr streamsABR HLS Bitrateslive pull settingsnimble.confrtmp republishing transcodeIIS Media Servicsautomationnimble streamer web server php script pageNimble Streamer APIlivestreamrtmp for YouTubeapi accessDeep statsinterleavingweb playerABR DVR problemNimble CapacityoutrateLive Switcherscreen freezecan't registercontent-dispositionactionscript 3Live Broadcastnot to stealnimble streamer vod hls transmuxinglogginglearnerCross DomainNimble Serverinsert logoRTMP republishPIDAVCaptureMovieFileOutputblock downloadbroadcasterOSXPost processingadd_chunk failedfake extensionMPEG DASHUbuntu artful 17.10Transcoder MPEG DASHtranscodingFFMPEG;RTMP;I/O errorstatus:errornimble on cloudprerollHotlinking ProtectionStreaming routepremium featureThumbnailsserver incorrect timelarix broadcasterMPEG-DashLiveLIVEHow to do live stream with multiple audio trackpaymentProgressivenimble aliasesstatsrmtpno internetreloadSecuredemandreportsraspberryavoid refreshAndroiduser_agentdvr on wmspanelVideo cant be playedS3 AWSBroadcastLarixprogressivelivestream bitratecredentialsHLS Streamingthumbnail dvr-thumbnailLoad-Balancingnimble streamer mpeg-ts multiple inputswmsAuthSignPORTDVR Settingvbv-maxratetranscodeRepublishinglatencyadjustdelaympeg4buildPacketizingABR bitratestranscoder nimbleubuntu 18Teradek DecoderSLDPVR-360Failoverabr fallbackNimble connections.movalias routestoragedistributionspeedup my videoiOSgoogle cloud storagepricingissuecpucloudflareUsers limitoutputVOD HLS streaming on public IPdomain lockcontentRTMP RepublishCSSanalisyssctevideo.jsitworkscdnqatartransocderlivestreaminrtsp push androidartifactscache expiryvideo streamingQuickTimepublish streamtraffichd25AArch64incoming streamno soundInvalid frame headerstorage space availabledisk3.6.1-1mp2 audiofastspringwebhookdvr to livedissapointmentpay-per-minuteSO_RCVBUFbuffering videoadvp9nimble dvrdurationBandwidthgpuav1 codecNimbleStreamerPaywallvideo and audio not matchDVRStreamsaws amazonrulesError when installingFallbackhelprestartIOSViewer StatsNDIDVR Setting limitssaibufferGopHTML5 playerMPEG2 Videologo in streamUDP MulticastMax connectiona recordwirecasthttp serverSSL requestserver ip21

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.