Play VOD file if RTMP not live

Shane 2019-10-26 22:05:12 UTC in Nimble Streamer

Is it possible to somehow have FFMPEG play a static MP4 file (looped) for a stream if that stream is not live?

For instance, I'd like a stream to play a looped file. However, if we start publishing via RTMP the stream will be live from that. Once there is no live RTMP, would go back to playing the file looped from ffmpeg.


Shane 2019-10-26 22:28:07 UTC 

Forgot to add stream shouldn't be interrupted across live/playback events.

Essentially, trying to do this (Wowza example): [url]https//[/url]


Shane 2019-10-27 02:35:45 UTC 

To follow up, I learned about hot swapping source streams. I think I can do it with that.

I've been experimenting, and have a couple of questions about that:

1) I attempted to use Transcoder to make a new version of the incoming source stream, so that I could make sure the resolution and audio sample rate remain constant (in case something on the source encoder is changed). For instance, i transcoded "live" to "live1". Then I attempted to use "live1" as the source for another transcoding scenario that creates ABR versions for my final output. However, it seems that doesn't work. I can view live1 just fine, but transcoder doesn't seem to like to use it as a source for the ABR. In theory this should work, right?

2) I'm using an MP4 video for the source of the Fallback stream. It works fine...BUT, when it gets to the end of the video, it interrupts the stream on end players. If I reload the player, it starts playing fine. So something about when it gets to the end of the video causes an issue. I have tried putting a PNG overlay on to sort of "stabilize" it, but that didn't work. Any other way to get this to loop seamlessly?

3) Would there be any way to swap out that mp4 file (overwrite or something) to make the Fallback encoder start playing a new MP4 instead? Without interrupting end user stream player of course.


Post a reply

Post a new question



nimbleNimble StreamerFAQHLSDVRRTMPnimble streamerhlsABRcachewmsauthNimbleAPISRTtranscoderffmpegdvrapiVODfailoverrtmpstreamingDASHwmspanelvodudprtsppaywallsubtitlessrtsldpDispersaRTSPyoutubelivelivestreamingmp4WMSAuthMPEG-DASHpay-per-viewgeodashWMSPaneledgestreamervideoabrWindowsencryptionhttpsUDPuser agentwhite labelconfigsmilFFMPEGmulticastsslMPEG-TSaudioCORSre-streamingmpeg-dashchunksraspberry piandroidbandwidthadvertizercorsvlcS3DRMrules.confplaylistadvertisingipv6MPEGTSFastSpringRAMthumbnailFMLEVATcrossdomainupdateRecordingmpegtsSMILaespushakamaiwowzaserverserrorm3u8TranscodeSSLbalancechromecastplaylist_dvrWowzaconfigurationIDreportingbugperformancedomainnimblestreamerLarixIPrepublishingmpeg-tspublish controlcodecmobileloopHttpsVidillionawsAWSdownloadoriginSLDPcloudfrontCDNraspianrouteswms panelchunknimble webcam html5UIbitrateRegistration Issuedirect link32-bit Windowstwitchcache_controlitworkmelive abr support mpeg-dashwmspanelapiresumertmp abrbeirutWWDCdubaideep statsCentOS v6.4hls to multicast udplogcloudIIS Smooth StreamingmediaHot-linking protectionHTTPSAbrHDSvaddioalertsjwplayer websitebaselinewhmcsnginx rtmp nimbleAV BridgeAuthentication in HLSVaddioPI3 Ubuntupriceview timelimitOld logsscreencastinterfacesattaching domainsDVRRecordingloadbalancingmod_rewritemetadataprofileID3 tagsgbpsAxismessageWMSCONFIG_HOMEwmsauthsignhighhds hotlinkhls restreaminggentoo install server nimbleVLCPublic Iptranscoding using NvidiaPaywall AuthniblerofflinedocumentationNimble streamer upgradedecodertransocding republishingVideo PlayerTrancoderconcurrent-connectionsfileAliaslost trafficServer-sidetasks-controllebanonlocationmanifeststoppedNimble Streamer versionipMP4 not playedspacemainicecast urlruleseekingconnectivitydvr streamunique visitorhot linkingchangeamfpay per viewplayoutPlayReadyamazon web servicelimuxdvr stream twicedvr_archivesmpeg dashhot-linkAXVVGobsTCOopensslSteam stopped workingonblocknvencHLS vod7Expression EncoderanalyticspaywalapplicationbrandingtrialMP4microsoft streamerrorsrocksoftlog traffic statsHLS PlayerDASH Playerdebianprogressive downloadABR DASHFFmpegmultiple originsnimblesessionidlive video on demandbandwithscreen freezecan't registerserverheaderprivate networkLarge DVR fileslog nimble analysertmp playbackvideojsno WMSPanellive videosourceinterleavingadaptiveAV1 codecmac osx installSnapshotsNGINX-RTMPJWPLAYERwotermarkPullvimeohelp errorvideo stopload balance4Kcrossdomain more then 1 domainattachmentvsomcdnlive streamvod no soundconcurrent connectionAWS 3buttmpeg2tsDelayServer-Side-Task-ControlWidevinedisk migrationFairplayfallbackamazonControl APILive streamingTranscoderscreen capturestereo to monoRemote StorageWowza Agentsecuritynot foundCPU Loaddrmpullresourceaes encryptionAS3subscriptionABR HLS Bitrateslive pull settingsWMSPanel settingstwitch larix broadcaster androidDVRSettingsinstall players setup ready to goDelete recordsAppleicecastrtmp for YouTubeudp streamingoutratevideo loopstarttime duration seekpointrebootdvr streamsnimble streamer vod hls transmuxingloggingmonitorautomationnimble streamer web server php script pageNimble Streamer APIlivestreamlearnernimble.confrtmp republishing transcodeIIS Media Servicsapi accessDeep statsNimble CapacityABR DVR probleminsert logoweb playerLive SwitcherAVCaptureMovieFileOutputblock downloadcontent-dispositionnot to stealLive BroadcastPost processingadd_chunk failedfake extensionMPEG DASHUbuntu artful 17.10Transcoder MPEG DASHNimble Serverstatus:errorFFMPEG;RTMP;I/O errortranscodingRTMP republishHotlinking ProtectionStreaming routePIDbroadcasterOSXlarix broadcasterMPEG-Dashpaymentstatspremium featureThumbnailsserver incorrect timereloadLiveLIVEHow to do live stream with multiple audio trackdemandProgressivenimble aliasesrmtpno internetprogressiveHLS Streamingthumbnail dvr-thumbnailLoad-Balancingnimble streamer mpeg-ts multiple inputswmsAuthSignsoundHLS Meta Tag editing.streamsSecureraspberryavoid refreshreportsdelaympeg4transcoder nimbleAndroiduser_agentdvr on wmspanelVideo cant be playedS3 AWSBroadcastcredentialslivestream bitratevbv-maxratetranscodeRepublishingubuntu 18Teradek DecoderVR-360Failoverpublish streamStream Delaytraffichd25Larix BroadcasterAArch64PacketizingABR bitratesbuildcontentRTMP Republishdomain lockoutputUsers limitcloudflareVOD HLS streaming on public IPincoming streamno soundInvalid frame headerHTML5 playerGopDVR Setting limitssaibufferNimbleStreamerav1 codecrtsp push androidartifactscache expiryvideo streamingQuickTime.movalias routestoragedistributionspeedup my videoiOSqataritworkscdnvideo.jsfastspringmp2 audiodata slicesaliasplayer sldptransocderlivestreaminRAM Loaddiskstorage space available3.6.1-1webhookdvr to livedissapointmentpay-per-minuteSO_RCVBUFbuffering videoadvp9latencynimble dvrdurationBandwidthgpuadjustsoftware versionPaywallvideo and audio not matchmanage_dvrhow-toError when installingrulesDVRStreamsaws amazonFallbackhelprestartIOSUDP MulticastMax connectionMPEG2 Videologo in streamcompatibility protocolsa recordwirecasthttp serverSSL requestserver ip21analisyssctenimble on cloudprerollsha265VP9dynamic linksTLSV 1.2 CertificateCSSactionscript 3server ssl errorViewer StatsNDICross DomainSRT protocolabr fallbackNimble connectionsmd5pricingissuecpugoogle cloud storagePORTDVR SettinganalyseStreamID

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.