Forum

"sample is far away from expected" error

Ruben 2018-05-28 10:42:43 UTC in Nimble Streamer

I'm developing a streaming application that stream to nimble streamer via RTMP and when I consume the stream with the SLDP player, then sometimes the stream is not played and the following error appears on the web browser console (this is an example):

[10:37:42.212][SLDP_1000][Track audio]: sample is far away from expected 420696 1091634

I tried with different combination of Nimble/SLDP player versions but seems none of them work.

Ruben 2018-05-28 10:59:59 UTC 

The problem seems to be triggered when the webpage is refreshed. If not, the stream is played as expected.

Andrew Goncharov 2018-05-29 01:06:17 UTC 

Hello Ruben,

The log message you've encountered means that SLDP player receives completely un-synced video and audio frames. In your case it expects audio sample to have 1091634 timestamp to be synced with video stream, while in fact it receives sample with 420696 timestamp.

The most common reasons of such behavior are usually wrong video/audio timescale or irregular frame emission from a source. From you last message it looks like irregular emission is more probable. Please show your FFMPEG command. Do you use '-re' flag?

Ruben 2018-05-29 14:55:19 UTC 

Hi Andrew

I don't use FFmpeg command line. It's a C/C++ application that uses the FFMpeg's libraries API.
Yes you're right, our application sends the content in bunches of audio/video content (i.e.: 90 video frames followed by 110 audio frames every 3 seconds).
We tested our application with Facebook Live/Periscope and it works, but with Nimble Streamer/SLDP Player shows this issue.

Is there any setting on Nimble Streaming or SLDP we can tweak to workaround this problem?

Thanks

Alex Pokotilo 2018-05-30 02:23:48 UTC 

Hi,
try to log audio|video timestamps and make sure they are on the same basis taking into account audio|video timescale

Post a reply


Post a new question

Categories:

Tags:

nimbleNimble StreamerFAQHLSDVRRTMPhlsnimble streamerABRcachewmsauthNimbleAPIdvrapiSRTtranscoderffmpegrtmpVODfailoversrtsldpstreamingDASHwmspanelvodrtspudppaywallsubtitlesDispersaRTSPSLDPvideoyoutubeabrlivelivestreamingmp4WMSAuthMPEG-DASHpay-per-viewgeobandwidthdashstreameredgeWMSPanelWindowsencryptionUDPhttpswhite labelconfigsmilmulticastsslFFMPEGMPEG-TSaudioCORSchunksraspberry pire-streamingmpeg-dashandroidperformanceadvertizercorsvlccloudfrontDRMS3user agentrules.confplaylistadvertisingipv6MPEGTSFastSpringRAMthumbnailFMLEVATcrossdomainipupdatempegtsSMILRecordingaespushakamaiwowzaserversPullmobilecodecerrorSSLbalanceTranscodem3u8chromecastplaylist_dvrWowzaIDreportingconfigurationbugdownloadnimblestreamerdomainLarixrepublishingLarix BroadcasterRepublishingmpeg-tsraspianVidillionHttpsloopchunkawsAWSNDIoriginCDNrouteswms panelpublish controlamazonIPnimble webcam html5UIbitrateRegistration Issuedirect link32-bit Windowstwitchcache_controlitworkmelive abr support mpeg-dashwmspanelapiresumertmp abrbeirutWWDCdubaideep statsCentOS v6.4hls to multicast udpnooblogWowza AgentRemote StorageIIS Smooth StreamingcloudmediaAbrHTTPSHot-linking protectionHDSvaddioalertsjwplayer websitebaselinewhmcsAuthentication in HLSnginx rtmp nimblePi4AV BridgepriceVaddiolimitOld logsPI3 Ubuntuscte-35screencastview timeattaching domainsinterfacescontainerDVRRecordingloadbalancingmod_rewritemetadataprofileID3 tagsgbpsAxisdatmessageWMSCONFIG_HOMErestreamcostwmsauthsignhighhds streamlocalcisco.net hotlinkhls restreamingVLCgentoo install server nimbleniblerPublic Iptranscoding using NvidiaPaywall AuthofflinedocumentationNimble streamer upgradedecodertransocding republishingVideo PlayerTrancoderconcurrent-connectionsfileAliaslost trafficServer-sidestoppedNimble Streamer versionmainicecast urlrulehot linkinglebanonlocationmanifestchangeMP4 not playedspacepay per viewLarix Groveamfseekingdvr_archivesmpeg dashobsTCORaspian BusteropensslonSteam stopped workingnginxPlayReadyamazon web servicelimuxdvr stream twiceHLS vodsdphot-linkAXVVGanalyticspaywalapplicationExpression Encoderblocknvenc7brandingHLS PlayertrialDASH PlayerMP4microsoft streamdebianerrorsrocksoftlog traffic statslive video on demandbandwithserverscreen freezecan't registerprogressive downloadABR DASHFFmpegmultiple originsnimblesessionidprivate networkLarge DVR filesheaderno WMSPanelsourcelive videointerleavingSnapshotslog nimble analysertmp playbackmac osx installvideojswotermarkvideo stopvimeohelp erroradaptiveAV1 codecNGINX-RTMPJWPLAYERload balancestreamscache expiryattachmentcdnvsomlive streamvod no soundconcurrent connection4Kcrossdomain more then 1 domainViewer Statsdvr streamconnectivityUbuntu 20 ARM - AWSunique visitorcpumpeg2tsDelayServer-Side-Task-ControlWidevinedisk migrationAWS 3buttscreen capturestereo to mononot foundCPU Loaddrmpullresourceaes encryptionAS3subscriptionTranscoderLive streamingsecurityABR HLS Bitrateslive pull settingsWMSPanel settingstwitch larix broadcaster androidDVRSettingsinstall players setup ready to goDelete recordsApplertmp for YouTubeudp streamingoutratevideo loopicecaststarttime duration seekpointrebootnimble streamer vod hls transmuxingloggingmonitorlearnernimble.confrtmp republishing transcodeIIS Media Servicsinsert logoapi accessDeep statsloadbalancerweb playerdvr streamsautomationnimble streamer web server php script pageNimble Streamer APIlivestreamAVCaptureMovieFileOutputblock downloadcontent-dispositionNimble CapacityABR DVR problemPost processingadd_chunk failedfake extensionMPEG DASHUbuntu artful 17.10Transcoder MPEG DASHLive SwitcherNimble Servernot to stealLive Broadcaststatus:errorFFMPEG;RTMP;I/O errortranscodingHotlinking ProtectionStreaming routeRTMP republishPIDMPEG-Dashlarix broadcasterbroadcasterOSXpaymentstatsreloadpremium featureserver incorrect timeThumbnailsLiveLIVEadvp9contentRTMP RepublishdemandHow to do live stream with multiple audio trackProgressivenimble aliasesHLS Streamingthumbnail dvr-thumbnailLoad-Balancingnimble streamer mpeg-ts multiple inputswmsAuthSignsoundHLS Meta Tag editing.rmtpno internetdelaympeg4transcoder nimbleSecureJetson Nanodvr on wmspanelVideo cant be playedS3 AWSuser_agentautomateAndroidreportsavoid refreshraspberryBroadcastdockerlivestream bitratepublish streamStream Delaytraffichd25AArch64transcodevbv-maxrateVR-360Failoverdomain lockVOD HLS streaming on public IPoutputUsers limitcloudflareanalisysscteABR bitratesPacketizingbuildincoming streamno soundInvalid frame headerHTML5 playerGopwirecasta recordhttp server.movalias routestorageNimbleStreamerav1 codecspeedup my videoiOSfastspringmp2 audioNimble streamerdata slicesaliasplayer sldpdistributionlatencyqataritworkscdnvideo.jssoftware versionadjustPaywallvideo and audio not matchissuepricinggoogle cloud storagediskstorage space available3.6.1-1dissapointmentpay-per-minutecompatibility protocolsRAM Loadtransocderlivestreaminhow-tomanage_dvrError when installingrulesDVRStreamsaws amazonSO_RCVBUFbuffering videoUDP MulticastMax connectionMPEG2 Videologo in streamnimble on cloudprerollIOSrestarthelpFallbackdynamic linksTLSV 1.2 CertificateSSL requestserver ip21credentialsFairplayincomingmulti-viewerVP9sha265durationBandwidthnimble dvrrtpscte35ubuntu 18Teradek Decodervideo audioCross DomainSRT protocolabr fallbackNimble connectionsmd5DVR Setting limitssaibufferRIST BondingplayoutControl APIfallbackPORTDVR SettinganalyseStreamIDhotlink protectionultra low latencyRaspberryPi4gpuRaspberrytasks-controlbroadcast videoprogressivewebhookdvr to liveRTMP to SRTvideo streamingQuickTimeartifactsrtsp push androidtuningactionscript 3server ssl errorCSSRist

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.