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 StreamerFAQHLSDVRRTMPhlsnimble streamerABRwmsauthcacheNimbleffmpegdvrAPIapitranscoderfailoverrtmpVODstreamingDASHwmspanelvodudprtsppaywallsubtitlesDispersaRTSPyoutubelivelivestreamingmp4MPEG-DASHWMSAuthpay-per-viewgeosldpdashstreamervideoabrWindowsencryptionUDPhttpswhite labelconfiguser agentsmilFFMPEGmulticastsslaudioMPEG-TSedgeCORSchunksraspberry pire-streamingandroidbandwidthmpeg-dashadvertizercorsDRMvlcS3rules.confadvertisingipv6FastSpringRAMwms panelthumbnailFMLEVATcrossdomainupdatempegtsRecordingplaylistSMILakamaiaespushwowzaserversSRTSSLerrorm3u8Transcodebalanceplaylist_dvrWowzachromecastIDreportingconfigurationsrtbugdownloadnimblestreamerdomainperformanceraspianVidillionHttpsloopawsIPWMSPanelmobilerepublishingAWSpublish controlcodecmpeg-tschunknimble webcam html5UIRegistration Issuedirect link32-bit Windowstwitchanalysecache_controlitworkmelive abr support mpeg-dashrtmp abrbeirutWWDCdubaideep statshls to multicast udplogIIS Smooth StreamingcloudmediaCDNHTTPSAbrHot-linking protectionHDSvaddioMPEGTSalertsNDIViewer Statsjwplayer websiteAuthentication in HLSwhmcsbaselineCentOS v6.4pricenginx rtmp nimblelimitOld logsAV BridgescreencastVaddioPI3 Ubuntuview timeattaching domainswmspanelapiWMSCONFIG_HOMEmessageinterfacesrestreamcostoriginDVRRecordingloadbalancingmetadatamod_rewriteprofileAxisgbpsID3 tagshls restreamingwmsauthsignhighhds streamVLCresumeniblerciscolocalVideo Playertransocding hotlinkAliaslost trafficgentoo install server nimbletranscoding using NvidiaPublic IpPaywall Authdocumentationofflineipconcurrent-connectionsTrancoderfileicecast urlrulelebanonlocationmanifesthot linkingMP4 not playedspacechangeamfServer-sidetasks-controlplayoutseekingstoppedmainonPlayReadylimuxamazon web servicedvr streamconnectivityunique visitoraliasdata slicesdvr stream twiceHLS vodAXVVGhot-linkpay per viewanalyticsapplicationpaywalblockmpeg dash7TCObrandingopenssltrialMP4microsoft streamerrorsrocksoftlog traffic statsdebianExpression Encoderlive video on demandbandwithABR DASHprogressive downloadHLS Playermultiple originsFFmpegnimblesessionidDASH Playerserverheaderlog nimble analysertmp playbackvideojsSnapshotsbitrateadaptiveAV1 codecprivate networkPullJWPLAYERNGINX-RTMPno WMSPanellive videosoundHLS Meta Tag editing.streamsattachmentmac osx installsourcecrossdomain more then 1 domain4Kwotermarkconcurrent connectionvod no soundhelp errorvimeoload balanceFairplayAWS 3buttRemote StorageWowza Agentcdnvsomnot foundlive streampullfallbackamazonControl APIWidevineAS3TranscoderLive streamingsecuritympeg2tsServer-Side-Task-Controldisk migrationinstall players setup ready to goDVRSettingstwitch larix broadcaster androidAppleDelete recordsstereo to monoscreen capturedrmicecastresourceaes encryptionvideo loopsubscriptionstarttime duration seekpointrebootlive pull settingsABR HLS Bitratesmonitorrtmp for YouTubeIIS Media Servicsrtmp republishing transcodenimble.confDeep statsapi accessinterleavingweb playerdvr streamsoutratenimble streamer web server php script pageautomationNimble Streamer APIlivestreamscreen freezecan't registercontent-dispositionABR DVR problemNimble Capacitynimble streamer vod hls transmuxingloggingactionscript 3learnerLive SwitcherCross Domaininsert logoNimble Servernot to stealLive BroadcastDVRStreamsRTMP republishblock downloadAVCaptureMovieFileOutputadd_chunk failedPost processingfake extensionMPEG DASHTranscoder MPEG DASHUbuntu artful 17.10broadcastertranscodingFFMPEG;RTMP;I/O errorstatus:errorStreaming routeHotlinking ProtectionMPEG-Dashlarix broadcasterpremium featureThumbnailsserver incorrect timeLIVELivenimble on cloudroutesprerollpaymentHow to do live stream with multiple audio tracknimble aliasesProgressivestatsreloadvp9adrmtpno internetSecuredemandAndroiduser_agentdvr on wmspanelS3 AWSrestartIOSBroadcastLarixreportsraspberryavoid refreshPIDHLS Streamingthumbnail dvr-thumbnailwmsAuthSignnimble streamer mpeg-ts multiple inputsLoad-BalancingDVR SettingPORTlatencycredentialsadjusttranscodeRepublishingdelaympeg4transcoder nimbleVR-360Failoverhttp servera record21server ipbuildABR bitratesPacketizingav1 codecNimble connectionsabr fallbackubuntu 18Teradek DecoderSLDPspeedup my videoiOSprogressivewebhookdvr to livefastspringmp2 audiodistributionstoragealias route.movoutputUsers limitcloudflareVOD HLS streaming on public IPdomain lockRTMP RepublishcontentrulesError when installingvideo and audio not matchcloudfrontPaywallanalisyssctediskstorage space available3.6.1-1CSSartifactsrtsp push androidcache expiryQuickTimevideo streamingincoming streamInvalid frame headerno soundtraffichd25publish streamAArch64buffering videoSO_RCVBUFdissapointmentpay-per-minutelogo in streamMPEG2 Videolivestream bitrateMax connectionUDP MulticastssaiDVR Setting limitbufferGopHTML5 playernimble dvrdurationBandwidthlivestreamintransocderqataritworkscdnvideo.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.