How do I delete or clear out existing dvr streams?

Ricardo 2016-08-05 01:31:18 UTC in Nimble Streamer

Is there a URL API for doing this?

I deleted content (the UTC directories) off the server but that kind of messes things up. Probably nimble streamer keeps state information.

But I need to be able to keep unique dvr streams, but seeming as that is not possible, at a minimum I need to clear out previous content in order to have a new stream recorded.

Max 2016-08-05 07:50:11 UTC 

Hello Ricardo,

You can delete archive content clicking "Remove" button for the corresponding archive on page or you can use Nimble management API ( posting to /manage/dvr/cleanup_archive/<stream_name> (e.g. /manage/dvr/cleanup_archive/live/stream to cleanup DVR archive for /live/stream).

Please note that this interface is currently not described on page, we'll update the page in couple of days.

Ricardo 2016-08-05 16:16:45 UTC 

Thanks Max.

Is there a way to do this programatically, via PHP?

Ricardo 2016-08-05 16:23:18 UTC 

Actually, not even php, I would be using a perl script server-side to automatically do the cleanup

Max 2016-08-05 18:16:33 UTC 

In order to clear DVR archive you need to make a HTTP POST request to Nimble, e.g. you can do that from command line using "curl -X POST http://server:management_port/manage/dvr/cleanup_archive/live/stream" command.

Please check documentation or google how to do that on PHP or Perl.

Ricardo 2016-08-05 21:23:24 UTC 

Hi Max,

I tried that from the command line (the stream name is test),

curl -X POST http://localhost:8080/manage/dvr/cleanup_archive/live/test

And I get a not implemented error

<html><head><title>Not Implemented</title></head><body>Not Implemented</body></html>

Max 2016-08-05 21:34:44 UTC 


This POST should be send to management interface, please read documentation about it on page.

Ricardo 2016-08-05 21:46:01 UTC 

Thanks for the clarification!

On a different subject (I know I do have another post on this, sorry to bring it up here ) do you happen to have any experience with the MP4 conversion of playlist_dvr?

Yury Udovichenko 2016-08-08 01:51:33 UTC 

Hi Ricardo,

Have you seen this discussion?

Ricardo 2016-08-08 04:23:37 UTC 


Yes I have. The only way to properly do it is to use the play_dvr_range when there are multiple sessions.

If I attempt to do the full playlist_dvr.m3u8 into ffmpeg when there are multiple sessions it encounters continuity errors and doesn't work properly

Max 2016-08-08 07:01:23 UTC 

Hello Ricardo,

You can get DVR archive timeline using /manage/dvr_status Nimble API with timeline parameter, e.g. "curl -v http://localhost:8080/manage/dvr_status?timeline=true" and use this timeline to get archive segments separately using EPG requests.

Ricardo 2016-08-08 17:42:28 UTC 

Oh, that's great information... thanks Max!

Is that an output that I can parse using an xml parser?

Max 2016-08-08 18:49:04 UTC 

Nimble sends response in json format, not xml, you can parse it using json parser.

Joël 2016-08-25 21:16:35 UTC 

Hi, I had same challenge to start with an empty DRV folder, with live streaming every time.
I do it with a cronjob, so you can easily schedule, the api function and erase the folder at any moment you want.
because the delete function, curl -X DELETE, for DVR by api wasn't available for a long time, I used the update function for dvr (-X PUT -H)
here a little example:

Update the DVR settings to a different path
* 6 * * 1 /usr/bin/curl -X PUT -H 'Content-Type: application/json' -d '{"application":"application-name","stream":"stream-name","path":"/path-to-original-folder
* 6 * * 2 /usr/bin/curl -X PUT -H 'Content-Type: application/json' -d '{"application":"application-name","stream":"stream-name","path":"/path-to-second-folder
* 6 * * 3 /usr/bin/curl -X PUT -H 'Content-Type: application/json' -d '{"application":"application-name","stream":"stream-name","path":"/path-to-third-folder
* 6 * * 4 /usr/bin/curl -X PUT -H 'Content-Type: application/json' -d '{"application":"application-name","stream":"stream-name","path":"/path-to-original-folder

* 5* * 1 rm -rf //dvr-path-to-original-folder/* (delete dvr folder at monday 5am)
* 5* * 2 rm -rf //dvr-path-to-second-folder/* (delete dvr folder at tuesday 5am)
* 5* * 3 rm -rf //dvr-path-to-third-folder/* (delete dvr folder at wednesday 5am)
* 5* * 4 rm -rf //dvr-path-to-original-folder/* (delete dvr folder at thursday 5am)

Post a reply

Post a new question



nimbleNimble StreamerFAQHLSnimble streamerDVRRTMPhlsSRTsrtABRrtmpcacheNimblewmsauthAPItranscoderdvrffmpegapisldpudpVODaudioRTSPfailoverrtspDASHwmspanelUDPvodpaywallstreamingabrSLDPyoutubemp4DispersastreamerandroidsslmulticastLarixsubtitlesliveNDIvideolivestreamingplaylistWMSAuthMPEG-DASHpay-per-viewerrorgeoMPEG-TSre-streamingdashcorsWMSPaneledgebandwidththumbnaillarix broadcasterWindowshttpswhite labelconfigsmilFFMPEGencryptionCORSperformancechunksraspberry pimpeg-dashpublish controlcloudfrontDRMRepublishingvlcAWSS3advertisinguser agentadvertizerristrepublishingrules.confipv6MPEGTSFastSpringRecordingRAMwms panelfileFMLEVATcrossdomainSMILmpegtsaespushakamaimobilewowzaPullserverscodecmanifestSSLchromecastbalancedrmTranscodem3u8TranscoderbugWowzaIDreportingconfigurationsnapshotdownloadawsAndroidnimblestreamerdomaintranscoderaspianloopscte35streamroutesamazonupdateipVidillionHttpsmpeg-tsBroadcastplaylist_dvrVLCPIDerrorsEncoderoriginscte-35issuechunklimitsecurityLarix BroadcasterIPCDNthumbnailsUIRegistration Issuedirect link32-bit Windowstwitchcache_controlitworkmecudalive abr support mpeg-dashwmspanelapibeirutreloadWWDCdubaideep statsCentOS v6.4logIIS Smooth StreamingcloudmediaIPTVprofilelarix abrTSReaderAbrHTTPSHot-linking protectionHDSvaddioalertsMuxjwplayer websitewhmcsbaselinetimelineVaddioAV BridgePI3 Ubuntuview timeAuthentication in HLSNimble Streamer APIPi4streamsinterfacesHLS Meta Tag editing.encrytpionloadbalancingwmsattachmentHEVCmetadatamod_rewritewmsauthsignpricehighresourcehds streamOld logsciscolocalscreencastID3 hotlinkRTMP republishattaching domainssdpshoutcastno internetInterlacedocumentationofflinecontainerNimble streamer upgradeMulticast*concurrent-connectionsTrancoderrecordingrtmp abranalisysresumeniblerhls restreamingServer-siderestreamstoppedMPEG2TSNimble Streamer versionmainWMSCONFIG_HOMEdissapointmentdatmessagegentoo install server nimbletranscoding using NvidiaPublic IpPaywall AuthwildcardobsTCOno WMSPanelVideo Playertransocding republishingdecoderAliaspay per viewlost trafficdvr_archivesmpeg dashnginx rtmp nimbleRaspian Bustericecast urlexportopensslchangelimuxamazon web servicenginxPlayReadydvr stream twiceLarix GroveamfIOSAXVVGhot-linkExpression EncoderblocknvenconSteam stopped workingadaptiveAV1 codecHLS PlayerJWPLAYERNGINX-RTMPDASH PlayerHLS voddvr export to mp47analyticsapplicationpaywalbrandingtrialCablemicrosoft streamMP4rocksoftlog traffic statsjpegscreen freezecan't registeraccuracyprivate networkLarge DVR fileslive videodebianTelegraminterleavingSLDP PLayerseekingmac osx installwotermarklive video on demandbandwithnimblesessionidFFmpegmultiple originsvimeohelp errorserverload balancezabbixheadercache expirycdnvsomlog nimble analysertmp playbacklive streamsourceViewer StatsAdsvideojsLive Streamingbitrate#restreamMP4 not playedspaceServer-Side-Task-Controlvideo stopaes encryptionsubscriptionvod no soundconcurrent connectionlebanonlocationdvr streamconnectivityUbuntu 20 ARM - AWSunique visitorstereo to monoscreen capturelive pull settingsWMSPanel settingsABR HLS Bitratesrtmp for YouTube4Kcrossdomain more then 1 domainWidevineFairplaycpunot foundCPU LoadpullAS3loggingnimble streamer vod hls transmuxingbuttAWS 3Cross Domaininsert logoinstall players setup ready to goDVRSettingstwitch larix broadcaster androidicecast metadataDVRStreamsAppleDelete recordspremium featureControl APIProgressivenimble streamer web server php script pageautomationLive streamingvideo loopUbuntu artful 17.10Transcoder MPEG DASHinvalidMPEG DASHstarttime duration seekpointadd_chunk failedPost processingfake extensionstatus:errorrebootdroppingmobile app live streamingmonitoroutrateudp streamingapi accessDeep statsicecastMPEG-Dashloadbalancerweb playercontent-dispositionpaymentstatsNimble ServerAVCaptureMovieFileOutputblock downloadrestartdvr streamsavoid refreshlivestreamABR DVR problemNimble CapacityHotlinking ProtectionStreaming routehotlinkfacebookcontentRTMP RepublishSecurityLive Switcherdemandnot to stealLive BroadcastMultiple Audio trackssecure streaminglow_bandwidthwmsAuthSignnimble streamer mpeg-ts multiple inputsLoad-Balancingvp9adsounddisk migrationThumbnailsserver incorrect timeLIVELivelearnernimble webcam html5ssaiDVR Setting limitpausemosaicHow to do live stream with multiple audio trackrmtptranscoder nimblereportsdvr on wmspanelfpsVideo cant be playedS3 AWSraspberryPaywalllivestreamintransocderstorage space availablediskcredentialsdvr to livewebhookautomateuser_agentvbv-maxratedomain lockUsers limitoutputcloudflareVOD HLS streaming on public IPlarixscteInvalid frame headerno soundincoming streamSubtitleslivestream bitratedockerDVRRecordingAuthGopDVR SettingPORTdelaympeg4storagealias route.movartifactsrtsp push androidmultiviewRAM Loadhttp serverLatencywirecasta recordruleshow-tomanage_dvrError when installingVP9server ip21Nimble connectionsabr fallbackno audiolatencyaliasdata slicesplayer sldpmp2 audioNimble streamerfastspringsoftware versionadjustSO_RCVBUFbuffering videodistributionbufferqataritworkscdnvideo.jsmultiplexcompatibility protocolsCentos 8pay-per-minuteTeradek Decoderubuntu 183.6.1-1UDP MulticastMax connectionincomingmulti-viewerFallbackhelpmultiple audio udphotlink protectionRaspberryPi4ultra low latencyaws amazonhls to multicast udpnoobSSL requestsha265broadcasterOSXmd5analyseStreamIDprerollnimble on cloudrtmp sldp nimblepluginfallbacktasks-controlRaspberryRTMP to SRTLinuxgpu{stream}Connections count limitNimble_Crushwebrtc4GRIST Bondingplayoutsrt-live-transmitWowza AgentRemote StorageSSAItuningAmazonTVfireOBSvideo and audio not matchLarix broadcasterNetworkspeedup my videoiOSPerformanceSnapshotsSRT RTMPre-publishingletsencryptTonydowntranscodingFFMPEG;RTMP;I/O errorLL-HLSHTML5 playerAddendaABR DASHprogressive downloadeventLL-HLS DVRav1 codecconnectionsNimbleStreamernimble aliasesNimble StreambuildABR bitratesPacketizingcountrist set fecmultiple audioOBS StudioWMSAUTHIVSDelaympeg2tsIIS Media Servicsrtmp republishing transcodenimble.confinterfacetrackbindprogressivebroadcast videovideo audioSRT protocoldvbduplicatingpcdynamic linksTLSV 1.2 CertificatesubfolderbrowserurlGoogle DriveHLS Streamingrtmpscostnimble abr hlsthumbnail dvr-thumbnailaudio languageVR-360Failovergoogle cloud storagepricingoverlayhot linkingTRANSCODErtpnimble dvrBandwidthdurationYadifportsRokuContinuitywordpressJetson NanoSecureLarix PlayerramfairplayNginxpublish streamStream Delayhd25trafficAArch64video streamingQuickTimeCloud StorageRistmultistreamingmultipleserver ssl erroractionscript 3dropped framesCSSMPEG2 VideoPCRlogo in streammultipointrulerepublishconcurrent

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.