Rasberry Pi - Nimble Server Performance

George 2017-02-06 13:39:53 UTC in Nimble Streamer

I have installed Nimble Server on Rasberry Pi as per instructions provided on the site.

But I am not even able to play 1 single mp4 video from a Android mobile client. Video stutters a lot, same video when loaded through Nimble on Windows work absolutely fine.

Dashboard of Nimble Streamer show 1% CPU load & 2% RAM load on RPi so its not overburdened. I am unable to figure out whats making it work in such sluggish manner.

Any help would be greatly appreciated...


Yury Udovichenko 2017-02-07 07:59:01 UTC 


You say you tried it on Android client. This might be bandwidth issue of your network.
Please try playing it on PC and measure the download speed to compare it to your mobile network capacity.

George 2017-02-07 09:16:20 UTC 

Hi Yury,
Thanks for your response, somehow things have improved now. I am able to play on 4 devices without any issue. On adding 5 devices things start to crawl.

[1] Only thing I could notice was that memory of RPi goes upto 921708 of 947732, maybe this is prohibiting more users to gain access. Is there anything that can be done to reduce this memory consumption ?

[2] Is there a Jessie upgrade version ? I have Whizzy at the moment ?


Alex Pokotilo 2017-02-07 09:20:18 UTC 

if your PI transmux mp4 -> hls it require enough disk IO and some memory. I'm recommend to increase RAM cache in server settings for prevent Nimble from using your ROM for hls chunk cache.
you can check PI with live stream and same users and if works your problem is in ROM speed for sure

George 2017-02-07 10:35:25 UTC 

Hi Yury,
Thanks for your response, I have made the following changes. Retesting now...

#max_cache_size = 64
max_cache_size = 80

#max_disk_cache_size = 4096
max_disk_cache_size = 6000


George 2017-02-07 10:37:40 UTC 

For Live stream I do not have Pi Camera yet :(

George 2017-02-07 11:52:15 UTC 

Hi Alex,
What I found that if I stop Nimble Streamer service the memory (RAM)is not de-allocated, I have to reboot to that. Could this be the problem resulting in video stuttering after 4 devices ?


George 2017-02-12 17:22:01 UTC 

response would be much appreciated, I would suggest keeping paid support option for customers genuinely interested in getting a response asap...

Alex Pokotilo 2017-02-13 01:34:15 UTC 

Please increase RAM/ROM cache via gui

config method will not work. it's obsolete

George 2017-02-13 18:47:48 UTC 

I increased:
[1] Max RAM cache size(MB) from 80 to 320
[2] Max file cache size(MB) from 4000 to 16384

But still Nimble would serve just 6 connections which is the same as with earlier settings, no difference at all :(

George 2017-02-13 18:48:43 UTC 

These changes were done from the WMSPanel Web UI, not manually.

Alex Pokotilo 2017-02-14 03:51:24 UTC 

Nimble will not be able to serve more vod streams on PI then.
Try to use different transmuxer to compare or use server platform for your need.

George 2017-02-14 17:48:04 UTC 

Hi Alex,
It was not Nimble problem but Chrome that does not allow more than 6 connection to the same IP. I was able to overcome this and test on Firefox where it served almost 10 connections. Will be doing more stress testing tomorrow...


Post a reply

Post a new question



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 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.