Forum

RTMP fallback

Pepijn 2015-12-19 18:17:35 UTC in Nimble Streamer

Hello,

My server restreams RTMP servers to HLS. Sometimes a RTMP server is offline. What happens is that the stream goes black and nobody is able to connect to it.

I currently have an video file of 30 seconds with the text "The server is currently unavailable." and some fading background images. I'd like to use this as fallback video.

I already read this: blog.wmspanel.com/2014/10/rtmp-pull-balancing-fallback.html
I know how to use a fallback stream but I don't know how to stream a video continuously to Nimble.
I tried ffmpeg with stream_loop -1 but this stops after one loop.

Can you give me some advice on how to stream a video file continuously to Nimble?

Thank you!

Andrey Goncharov 2015-12-19 22:14:51 UTC 

Hello Pepijn.

stream_loop is supported by FFMPEG starting from version 2.8.2, however there is another approach for older versions.

Please check this answer: http://video.stackexchange.com/questions/12905/repeat-loop-input-video-with-ffmpeg

Joël 2015-12-21 07:46:45 UTC 

Hi Pepijn

something like this:
ffmpeg -re -f concat -i "loop.txt" -c copy -f flv "rtmp://IP-nimble/live?rtmpauth=username:password/teststream"

loop.txt:
file 'input.mp4'
file 'input.mp4'
file 'input.mp4'
file 'input.mp4'
etc. etc.

With "server-side-task-control" of wmspanel
You can run the command over and over again.

I use JWplayer with two short error video messages.
live stream is not started yet and the live stream is broken please wait.

https://support.jwplayer.com/customer/portal/articles/1442607-example-a-custom-error-message

Pepijn 2015-12-21 20:19:46 UTC 

Hello,

Thank you both for answering!

I tried stream_loop with version 2.8.3 and git version g2dba040.
Both versions jumped to 1 minute after playing 30 seconds of video and stopped then.

I'm now using ffmpeg with a loop. It's far from perfect but I couldn't find a better way.
Here are my files: pastebin.com/tYnSq1af

Thank you for the help,
Pepijn

Joël 2016-01-04 19:51:02 UTC 

Hello Pepijn

Do you make any progress? I have seen your scripts.
I'm not very familiar with making Bash scripts.
But is your authentication to Nimble streamer right?
I like the way you trie to make a fallback with a secondaire rtmp stream, with the rtmp pull functionality of Nimble.

I will try it that way too for our live events, I think.
Only you have to start and stop the second stream manualy.
Otherwise the people will see the error message before and after the live event.

I prefer "server-side-task-control" for starting and repeating the second stream

Post a reply


Post a new question

Categories:

Tags:

nimbleNimble StreamerFAQHLSDVRRTMPhlsnimble streamerABRwmsauthcacheNimbleffmpegdvrAPIapitranscoderVODstreamingfailoverDASHwmspanelrtmpvodudprtsppaywallsubtitlesRTSPDispersayoutubelivelivestreamingmp4MPEG-DASHWMSAuthpay-per-viewgeodashvideostreamerabrWindowsencryptionUDPhttpswhite labeluser agentconfigsmilFFMPEGmulticastsslaudioMPEG-TSedgeCORSre-streamingchunksraspberry piandroidsldpbandwidthmpeg-dashadvertizercorsvlcDRMrules.confadvertisingipv6FastSpringRAMwms panelthumbnailFMLEVATcrossdomainupdatempegtsRecordingplaylistSMILakamaiaespushserversSRTwowzaSSLerrorm3u8Transcodebalanceplaylist_dvrWowzachromecastconfigurationreportingsrtbugdownloadIDS3nimblestreamerdomainperformancempeg-tsraspianpublish controlcodecWMSPanelmobilerepublishingVidillionHttpsIPloopawschunknimble webcam html5UIRegistration Issuedirect link32-bit Windowstwitchanalysecache_controlitworkmelive abr support mpeg-dashrtmp abrbeirutWWDCdubaideep statshls to multicast udplogIIS Smooth StreamingcloudmediaCDNHTTPSAbrHot-linking protectionHDSvaddioMPEGTSalertsNDIViewer Statsjwplayer websitewhmcsbaselineAuthentication in HLSCentOS v6.4nginx rtmp nimblepricedurationAV BridgelimitOld logsscreencastVaddioPI3 Ubuntuview timeattaching domainswmspanelapiinterfacesWMSCONFIG_HOMEmessageDVRRecordingrestreamcostloadbalancingoriginmetadatamod_rewriteprofileAxisgbpsID3 tagswmsauthsignhighhls restreaminghds streamVLCciscolocalresumenibler.net hotlinkVideo Playertransocding republishingdecodergentoo install server nimbleAliaslost traffictranscoding using NvidiaPublic IpPaywall Authdocumentationofflineconcurrent-connectionsTrancoderfileipicecast urllebanonlocationmanifestruleMP4 not playedspacehot linkingServer-sidechangetasks-controlamfseekingstoppedplayoutmainPlayReadylimuxamazon web servicedvr streamconnectivityunique visitorondvr stream twicealiasdata slicespay per viewHLS vodAXVVGhot-linkblockanalyticsapplicationpaywalmpeg dashTCO7opensslbrandingtrialMP4microsoft streamerrorsrocksoftlog traffic statsExpression EncoderdebianHLS Playerlive video on demandABR DASHprogressive downloadDASH Playerbandwithmultiple originsFFmpegnimblesessionidserverlog nimble analysertmp playbackvideojsbitrateSnapshotsprivate networkadaptiveAV1 codecJWPLAYERNGINX-RTMPPullno WMSPanellive videomac osx installsoundHLS Meta Tag editing.streamsattachmentsourcecrossdomain more then 1 domain4Kwotermarkhelp errorvimeoconcurrent connectionvod no soundload balancebuttFairplaycdnvsomRemote StorageWowza Agentlive streamnot foundfallbackamazonControl APIWidevinepullTranscoderLive streamingAS3securitympeg2tsServer-Side-Task-Controldisk migrationinstall players setup ready to goDVRSettingstwitch larix broadcaster androidAppleDelete recordsstereo to monoscreen capturedrmicecastresourceaes encryptionsubscriptionvideo looplive pull settingsABR HLS Bitratesstarttime duration seekpointrebootrtmp for YouTubemonitorIIS Media Servicsrtmp republishing transcodenimble.confDeep statsapi accessdvr streamsoutrateinterleavingweb playernimble streamer web server php script pageautomationNimble Streamer APIlivestreamNimble CapacityABR DVR problemnimble streamer vod hls transmuxingloggingscreen freezecan't registercontent-dispositionlearnerheaderactionscript 3Live SwitcherCross Domaininsert logonot to stealLive BroadcastDVRStreamsNimble Serverblock downloadAVCaptureMovieFileOutputUbuntu artful 17.10Transcoder MPEG DASHMPEG DASHadd_chunk failedPost processingfake extensionbroadcastertranscodingFFMPEG;RTMP;I/O errorstatus:errorHotlinking ProtectionStreaming routeMPEG-Dashlarix broadcasterThumbnailsserver incorrect timepremium featureLIVELivenimble on cloudroutesprerollpaymentHow to do live stream with multiple audio tracknimble aliasesProgressiveincoming streamno soundstatsreloadvp9adRTMP republishrmtpno internetSecuredemandlivestreamintransocderAndroiduser_agentdvr on wmspanelS3 AWSreportsraspberryavoid refreshIOSrestartPIDHLS Streamingthumbnail dvr-thumbnailwmsAuthSignnimble streamer mpeg-ts multiple inputsLoad-BalancingDVR SettingPORTlatencycredentialsadjusttranscodeRepublishingHTML5 playerdelaympeg4transcoder nimbleVR-360Failoverhttp servera record21server ipBroadcastLarixbuildABR bitratesPacketizingav1 codecNimble connectionsabr fallbackTeradek Decoderubuntu 18SLDPssaiDVR Setting limitbufferartifactsrtsp push androidcache expiryQuickTimevideo streamingtraffichd25publish streamAArch64buffering videoSO_RCVBUFdissapointmentpay-per-minuteAWSiOSspeedup my videolivestream bitrateUDP Multicastlogo in streamMPEG2 Videonimble dvrfastspringmp2 audioprogressivewebhookdvr to liveCSSdistributionstoragealias route.movoutputcloudflareVOD HLS streaming on public IPdomain lockRTMP RepublishcontentrulesError when installingvideo and audio not matchcloudfrontanalisyssctestorage space availabledisk3.6.1-1qataritworkscdnvideo.jsgoogle cloud storageissuepricing

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.