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 StreamerFAQHLSDVRnimble streamerRTMPhlsSRTABRcachewmsauthNimbleAPItranscoderrtmpsrtapidvrffmpegVODudpRTSPsldpfailoverDASHstreamingrtspwmspanelSLDPliveyoutubevodUDPmp4paywallabrsubtitlesDispersavideoLarixmulticastaudioandroidlivestreamingWMSAuthMPEG-DASHpay-per-viewgeoMPEG-TSdashstreameredgebandwidthWMSPanelsslthumbnailWindowsencryptionhttpswhite labelplaylistconfigsmilFFMPEGperformanceCORSchunksraspberry pire-streamingmpeg-dashpublish controlcorscloudfrontDRMRepublishingadvertizerrepublishingvlcS3user agentNDIristrules.confadvertisingipv6MPEGTSFastSpringRAMwms panelRecordingfileFMLEVATcrossdomainSMILmpegtsaespushakamaiwowzamobileserversPullcodecerrorbalanceSSLTranscodem3u8TranscoderchromecastWowzaIDbugconfigurationreportingdownloadsnapshotawsmpeg-tsLarix BroadcasterAndroidnimblestreamerdomainloopraspianAWSoriginscte35CDNipupdateroutesamazonlarix broadcasterplaylist_dvrVidillionHttpschunkIPsecurityUInimble webcam html5Registration Issuedirect link32-bit Windowstwitchcache_controlitworkmecudalive abr support mpeg-dashwmspanelapibeirutreloadWWDCdubaideep statsCentOS v6.4hls to multicast udpnooblogIIS Smooth StreamingcloudmediaAbrHTTPSHot-linking protectionHDSvaddioalertsjwplayer websitewhmcsbaselinetimelineVaddioAV BridgePI3 Ubuntuview timeAuthentication in HLSNimble Streamer APIPi4priceinterfacesresourcelimitOld logsencrytpionCloud Storagescte-35loadbalancingscreencastmetadatamod_rewriteprofilelarix abrAxisgbpsID3 tagswmsauthsignhighattaching domainshds streamcontainer*ciscolocalsdpshoutcast.net hotlinkdatmessageWMSCONFIG_HOMErestreamcostrtmp abrgentoo install server nimblePublic Iptranscoding using NvidiaPaywall AuthofflinedocumentationNimble streamer upgradehls restreamingTrancoderconcurrent-connectionsVLCresumeniblerServer-sideVideo Playertransocding republishingdecoderstoppedNimble Streamer versionmainAliaslost trafficpay per viewicecast urldvr_archivesmpeg dashnginx rtmp nimblehot linkinglebanonlocationmanifestwildcardobsTCORaspian BusterchangeMP4 not playedspaceexportopensslamfLarix GroveseekingExpression EncoderonSteam stopped workinglimuxamazon web servicePlayReadynginxHLS voddvr stream twicerepublishHLS PlayerAXVVGhot-linkDASH Playeranalyticspaywalapplicationblocknvencjpeg7brandingtrialdebianmicrosoft streamMP4screen freezecan't registererrorsrocksoftlog traffic statsLarge DVR filesprivate networklive video on demandbandwithno WMSPanelserverlive videonimblesessionidFFmpegmultiple originsinterleavingSLDP PLayerABR DASHprogressive downloadmac osx installwotermarksourceheadervimeohelp errorLive Streaminglog nimble analysertmp playbackload balancezabbixAdsvideojscache expiryvideo stopcdnvsombitrate#restreamlive streamViewer StatsstreamsadaptiveAV1 codecJWPLAYERNGINX-RTMPHEVCattachmentDelaympeg2tsServer-Side-Task-Controldisk migrationvod no soundconcurrent connectiondvr on wmspaneldvr streamconnectivityUbuntu 20 ARM - AWSunique visitor4Kcrossdomain more then 1 domainscreen capturestereo to monocpuaes encryptionsubscriptionWidevineFairplayWMSPanel settingslive pull settingsABR HLS BitratesbuttAWS 3rtmp for YouTubedrmnot foundCPU LoadpullControl APIAS3Live streaminginstall players setup ready to goDVRSettingstwitch larix broadcaster androidAppleDelete recordsadd_chunk failedPost processingfake extensionnimble streamer vod hls transmuxinglogginglearnernimble streamer web server php script pageautomationCross Domainoutrateudp streaminginsert logovideo loopicecaststarttime duration seekpointrebootmonitorapi accessDeep statsloadbalancerinvalidMPEG DASHUbuntu artful 17.10Transcoder MPEG DASHweb playerblock downloadAVCaptureMovieFileOutputdvr streamslivestreamcontent-dispositionNimble CapacityABR DVR problemLive SwitcherNimble Servernot to stealLive BroadcastfacebookStreaming routeHotlinking ProtectionSecuritysecure streamingpaymentRTMP republishstatsadvp9contentRTMP RepublishdemandIOSpremium featureserver incorrect timeThumbnailsssaiDVR Setting limitLiveLIVELoad-Balancingnimble streamer mpeg-ts multiple inputswmsAuthSignrmtpInterlaceno internetsoundHLS Meta Tag editing.How to do live stream with multiple audio trackProgressivenimble aliasestranscoder nimblethumbnail dvr-thumbnailavoid refreshraspberryreportsPaywallS3 AWSVideo cant be playedcredentialsstorage space availabledisktranscodevbv-maxrateSecureJetson NanoHTML5 playerlivestreamintransocderFailoverVR-360publish streamStream Delaytraffichd25AArch64webhookdvr to liveautomateuser_agentbuildrist set fecABR bitratesPacketizingdomain lockoutputUsers limitcloudflareVOD HLS streaming on public IPlarixanalisyssctedelaympeg4storagealias route.movInvalid frame headerno soundincoming streamSubtitlesDVRRecordingAuthlivestream bitratedockerGopLL-HLS DVRav1 codecNimbleStreamerfastspringNimble streamermp2 audiodata slicesaliasplayer sldpdistributionVP9http serverwirecasta recordqataritworkscdnvideo.jslatencyno audiobuffering videoSO_RCVBUFbufferCentos 8dissapointmentpay-per-minuteQuickTimevideo streamingcompatibility protocolsmultiplexactionscript 3server ssl errorCSSTeradek Decoderubuntu 18restarthelpFallback3.6.1-1server ip21SSL requestMax connectionUDP Multicastincomingmulti-viewersha265RIST BondingplayoutrulesError when installinghow-tomanage_dvrDVRStreamsaws amazonmultiple audio udphotlink protectionRaspberryPi4ultra low latencyMPEG2 Videologo in streamDVR SettingPORTanalyseStreamIDprogressivebroadcast video4GwebrtcNimble_Crushvideo audioSRT protocolartifactsrtsp push androidtuningWowza AgentRemote StorageSSAIprerollstreamrtmp sldp nimblenimble on cloudfallbackRaspberrytasks-controlLinuxRTMP to SRTBroadcastvideo and audio not matchLarix broadcastergpu{stream}SnapshotsOBSMPEG-DashLL-HLSGoogle DriveHLS StreamingPIDurlnimble.confrtmp republishing transcodeIIS Media Servicstrackspeedup my videoiOSmultipointrulethumbnailssubfolderTLSV 1.2 Certificatedynamic linksdvbNetworkRAM Loadstatus:errortranscodingdownTonyFFMPEG;RTMP;I/O errorissuepricinggoogle cloud storageRistmultiplertpnimble dvrdurationBandwidthYadifportsfairplayNginxbroadcasterOSXmd5abr fallbackNimble connectionsletsencryptmultiple audioadjustsoftware versionre-publishingSRT RTMP

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.