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 StreamerFAQHLSnimble streamerDVRRTMPhlsABRcacheNimbleSRTsrtrtmpwmsauthdvrAPIapitranscoderffmpegVODfailoverudpDASHsldpstreamingrtspRTSPwmspanellivevodUDPmp4paywallabrsubtitlesDispersaSLDPmulticastvideoyoutubelivestreamingWMSAuthMPEG-DASHpay-per-viewgeoaudiodashstreameredgeWMSPanelbandwidththumbnailWindowsencryptionhttpswhite labelconfigplaylistsmilsslFFMPEGMPEG-TSCORSre-streamingmpeg-dashchunksraspberry pipublish controlperformancecorscloudfrontDRMRepublishingadvertizerrepublishingvlcS3user agentandroidLarixNDIrules.confadvertisingipv6MPEGTSFastSpringRAMFMLEVATcrossdomainSMILmpegtsRecordingaespushakamaiwowzamobileserversPullcodecbalanceerrorTranscodem3u8SSLchromecastplaylist_dvrWowzaconfigurationIDbugreportingdownloadsnapshotLarix BroadcasterAndroidnimblestreamerdomainmpeg-tsloopraspianwms panelchunkAWSVidillionHttpsoriginawsCDNroutesipupdatescte35amazonIPUInimble webcam html5Registration Issuedirect link32-bit Windowstwitchcache_controlitworkmelive abr support mpeg-dashwmspanelapiresumertmp abrbeirutWWDCdubaideep statsCentOS v6.4hls to multicast udpnooblogRemote StorageWowza AgentIIS Smooth StreamingcloudmediaAbrHTTPSHot-linking protectionHDSvaddioalertsjwplayer websitewhmcsbaselinetimelinenginx rtmp nimbledurationAV BridgeVaddioAuthentication in HLSPI3 UbuntuPi4view timepriceresourceNimble Streamer APIlimitOld logsscte-35screencastinterfacesDVRRecordingloadbalancingmod_rewritemetadataattaching domainsprofileAxisgbpsID3 tagscontainerwmsauthsignhighhds streamlocalciscodatmessageWMSCONFIG_HOMErestreamcost.net hotlinkgentoo install server nimblePublic Iptranscoding using NvidiaPaywall Authhls restreamingofflinedocumentationNimble streamer upgradeVLCTrancoderconcurrent-connectionsfileniblerServer-sideVideo Playertransocding republishingdecoderstoppedNimble Streamer versionAliasmainlost trafficlebanonlocationmanifesticecast urlMP4 not playedspacepay per viewrulehot linkingdvr_archivesmpeg dashchangeseekingwildcardobsTCORaspian BusterexportopensslamfLarix GrovenginxPlayReadyamazon web servicelimuxdvr stream twicesdpshoutcastrepublishonSteam stopped workinghot-linkAXVVGExpression EncoderHLS vodblocknvencHLS Playeranalyticspaywalapplication7DASH Playerbrandingtrialmicrosoft streamMP4errorsjpegrocksoftlog traffic statsdebianscreen freezecan't registernimblesessionidFFmpegmultiple originsprivate networkLarge DVR fileslive video on demandABR DASHprogressive downloadbandwithno WMSPanelserverlive videoheaderinterleavingSLDP PLayermac osx installlog nimble analysertmp playbackvideojswotermarksourcevimeohelp errorbitrate#restreamload balanceadaptiveAV1 codecJWPLAYERNGINX-RTMPcache expiryvideo stopcdnvsomlive streamViewer Statsstreams4Kcrossdomain more then 1 domainattachmentDelaympeg2tscpuServer-Side-Task-Controlvod no soundconcurrent connectiondisk migrationdvr streamconnectivityUbuntu 20 ARM - AWSunique visitordvr on wmspanelscreen capturestereo to monobuttAWS 3drmaes encryptionWidevinesubscriptionControl APIFairplayTranscoderLive streamingWMSPanel settingslive pull settingsABR HLS Bitratessecurityrtmp for YouTubenot foundCPU Loadpulladd_chunk failedPost processingfake extensionAS3udp streamingoutrateinstall players setup ready to goDVRSettingstwitch larix broadcaster androidAppleDelete recordsicecastnimble streamer vod hls transmuxinglogginglearnerinsert logovideo loopstarttime duration seekpointrebootAVCaptureMovieFileOutputblock downloadmonitordvr streamsnimble.confrtmp republishing transcodeIIS Media Servicstracknimble streamer web server php script pageautomationlivestreamapi accessDeep statsloadbalancerNimble CapacityABR DVR probleminvalidMPEG DASHUbuntu artful 17.10Transcoder MPEG DASHweb playerLive Switchercontent-dispositionnot to stealLive Broadcaststatus:errortranscodingdownFFMPEG;RTMP;I/O errorNimble ServerMPEG-Dashlarix broadcasterfacebookStreaming routeHotlinking ProtectionRTMP republishbroadcasterOSXpaymentstatsreloadadvp9contentRTMP RepublishdemandssaiDVR Setting limitpremium featureserver incorrect timeThumbnailsIOSLiveLIVErmtpno internetHLS StreamingLoad-Balancingnimble streamer mpeg-ts multiple inputswmsAuthSignHow to do live stream with multiple audio tracksoundHLS Meta Tag editing.Progressivenimble aliasesavoid refreshraspberrythumbnail dvr-thumbnailPaywalltranscoder nimblereportscredentialstranscodevbv-maxrateSecureJetson NanoFailoverVR-360ABR bitratesPacketizingbuildpublish streamStream Delaytraffichd25AArch64S3 AWSVideo cant be playeduser_agentautomatedelaympeg4.movalias routestoragedomain lockVOD HLS streaming on public IPoutputUsers limitcloudflarelivestream bitratedockeranalisysscteInvalid frame headerno soundincoming streamHTML5 playerGopLL-HLS DVRav1 codecNimbleStreamerfastspringNimble streamermp2 audiodata slicesaliasplayer sldpdistributionwirecasta recordhttp serverqataritworkscdnvideo.jsRAM Load*VP9abr fallbackNimble connectionsissuepricinggoogle cloud storagelatencybuffering videoSO_RCVBUFbufferCentos 8dissapointmentpay-per-minutelivestreamintransocderspeedup my videoiOSmultiplexcompatibility protocolsdiskstorage space available3.6.1-1server ip21SSL requestMax connectionUDP Multicastsha265md5multi-viewerincomingDVR SettingPORTanalyseStreamIDnimble dvrrtpBandwidthportsrulesError when installinghow-tomanage_dvrDVRStreamsaws amazonRIST BondingplayoutMPEG2 Videologo in streammultiple audio udphotlink protectionRaspberryPi4ultra low latencynimble on cloudrtmp sldp nimbleprerollwebhookdvr to liveprogressivebroadcast videoQuickTimevideo streamingartifactsrtsp push androidtuningCross DomainSRT protocolvideo audio4GwebrtcNimble_CrushTeradek Decoderubuntu 18restarthelpFallbackPIDurlLinuxRTMP to SRTTLSV 1.2 Certificatedynamic linksSnapshotsfallbackthumbnailsLarix broadcastervideo and audio not matchdvbNetworkBroadcastRaspberrytasks-control{stream}gpuactionscript 3server ssl errorCSSRistmultiplefairplayNginxOBSadjustsoftware versionSRT RTMPre-publishingmultiple audio

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.