NDI interesting for Nimble?

Joël 2016-05-21 15:24:00 UTC in Nimble Streamer

Hi, I use NDI to get video sources over IP for live streaming.
Till now only the secondaire monitor by a presentation with powerpoint. But a lot more is possible to send or receive by NDI
Is NDI something for Nimble to adopt? To transmux NDI to HLS maybe?

Yury Udovichenko 2016-05-22 03:54:47 UTC 

Hi Joel,

Do you mean NewTek NDI? What are the adtantages for you?

Steve 2020-04-14 02:26:11 UTC 

I'd like to revive this. Personally for me, the advantages would be: use an origin nimble server to ingest multiple remote streams, send them to an edge server for cleanup (where a possible NDI header can be attached?) and then to a laptop where I will separate the remote feeds in a software switcher. Unless there is another way to get a low latency / high bitrate option for remote feeds, the best I've come up with is UDP/SRT > Nimble > NDI > software switcher.

With RTMP being phased out, I need to figure out another way to utilize NDI. Thanks!

Yury 2020-04-14 02:30:50 UTC 

Steve, we know there are tools allowing to convert SRT or RTMP into NDI. We keep Nimble Streamer concentrated on broadcast protocols. As for relatively "exotic" protocols - we leave the money on a table for those who have more experience in field production than we do.

Roberto Brito 2020-05-03 03:23:04 UTC 

I fully agree with the colleague's idea!

In some IP based scenarios it would fit like a glove to transport NDI over SRT (and vice versa) without having to resort to intermediate applications

Yury 2020-05-03 23:38:05 UTC 

Roberto, can you share your use case? E.g. what are the tools use use now and what is your scenario?

NDI-PLEASE 2020-05-12 03:18:34 UTC 

Hi Yuri! There are certainly use cases for NDI via Nimble Streamer. Unfortunately due to the Pandemic many folks who have more experience in the production field than you do (using your quote above) are scrambling to establish their businesses on cloud resources and shifting their strategy. What used to be SDI cables and physical devices for transit, encoding, and decoding is now virtual machines, VMix, OBS, and a whole new world of protocols. At this point NDI is one of the most "lossless" protocols out there and unfortunately without going in too much detail, it would be absolutely a game changer for NDI support in Nimble Streamer for lots of folks. Certain software have crappy encoding and transcoding functionality but certain software are great for specific tasks like replays. It would be nice to be able to use nimble streamer for all ingress and egress to eliminate more hops of encoding.

Yury 2020-05-12 03:32:33 UTC 


As I understand, NDI is primarily used in closed environments like studios, it's not used over the Internet. On the contrary, Nimble Streamer is primary designed for streaming over opened unmanaged networks. So they just don't match from our point of view.

Can you give examples of how Nimble could change this NDI game? What added value would it bring to the professionals like yourself? It's not impossible for us to add NDI, we just need to understand what we can bring to the market.


NDI-PLEASE 2020-05-12 03:53:00 UTC 

Thanks for your response. You are correct, and I believe due to it's massive bandwidth requirements (100MB+) is why it's used in closed environments. You can see a recent real world example of Riot Games running LCS here:

They have a nice diagram showing their infrastructure running in AWS. Using best-in-class software will make the production crew most efficient and use things like VMix for what it's good at (replays) and OBS for what it's good at (encoding in the is case, but it is also better at transcoding than VMix from a lot of testing. VMix does not expose custom ffmpeg options as an example).

Imagine using a cloud service for your full production environment. 4 production machines and a nimble streamer instance. One of those machines can be used for web cameras for a team, another can be used for web cameras for another team (and in this case VMix calls are just "easy", so vmix would be best in class here). You load up VMix, you start adding scenes, you start mixing, and you start producing. You're getting observer feeds (the people who are sending SRT of the game feeds to your nimble instance and then over to VMix or OBS, somehow). One angle here is to possibly run the game in the cloud and have an observer use something in close proximity and send the feed over NDI to VMIX directly instead of hitting VMix. You get to the point where you now need to encode the final product and transcode it for Twitch or another streaming service. Well, unfortunately VMix transcoding seems not up for the job. A lot of folks use it for things like replays and like I mentioned earlier, during physical events we don't see a lot of network protocols being used.

Cloud production is going towards becoming a commodity. We are not using NDI over the internet. We are using Nimble to be our interface between internal ("LAN in the cloud") and external (from the Internet, SRT example). We would like to deliver the internal streams via NDI. It's because NDI is easy on system resources at the expense of bandwidth which is ample and cost-free if you're not leaving a provider.

NDI-PLEASE 2020-05-13 02:31:42 UTC 

Checking in here, hoping my wall of text made sense! Thank you!

Yury 2020-05-13 02:33:47 UTC 

Hi there! We have indeed read your text and gave it a deep thought. I think we'll consider implementing NDI in Nimble Streamer, so once we have anything to try out - we'll contact you to get your feedback.
Thank you!

NDI-PLEASE 2020-05-13 02:35:18 UTC 

That would be AMAZING! We would love to provide any input or feedback. You have my e-mail, reach out if you'd like to chat or discuss further!

Yury 2020-05-13 02:36:58 UTC 

Sure, thanks!

Roberto Brito 2020-05-13 16:18:32 UTC 

Hello folks !

Very good to see that the broadcaster community is engaged and showing that there is a need for tools evolution, just as it is very good to see Nimble also accept to be part of this evolution!

Today NDI is adopted for signal distribution on local networks (it was designed for that) but broadcasters lack more professional solutions for transport and distribution over the internet without the need for intermediate solutions (adding much latency xD )...

NDI is already supported by a wide range of media frameworks and we could start from the assumption that for the simple fact that it is already an IP-based protocol, its flows could be accessible to the Nimble engine and able to be converted into the various formats it supports.

So..I`m very proud of your decision and look forward to hearing from you!

Best regards !

Yury 2020-05-13 22:45:11 UTC 

Thank you for your feedback!

Gisli 2020-05-18 07:11:29 UTC 

Just found this post I had been looking into the same. And I would love to test NDI directly in NIMBLE until now I have had to use some other software like OBS or VLC to convert srt into NDI as many srt streams within VMIX is very demanding on the system.

Yury 2020-05-18 07:15:31 UTC 

Thanks for your feedback. We'll proceed with development and will update people in this forum thread as soon as we have anything to test for you, stay tuned.

Jonathan 2020-05-21 06:55:58 UTC 

This would be amazing. We have been looking for this solution. Hope development goes quickly & smoothly

Plamen 2020-05-27 17:39:46 UTC 

Wow, Nimble NDI support would be an absolutely amazing feature to have! Now more than ever, we need options for moving video around in the cloud!

Yury 2020-05-27 23:46:08 UTC 


Stay tuned for updates!

Daniel 2020-05-28 22:04:00 UTC 

Another voice here for NDI support in Nimble.
I work for a large national TV broadcaster, we are starting to run large OB's in the cloud as is now necessary. Much of the software we run in the cloud supports both NDI and NDI HX(2). As there are no bandwidth costs between instances in the same region, NDI is absolutely perfect, and in my option the best, lowest latency and most flexible standard to connect IP video between various software in a cloud environment.
As has been pointed out, NDI is not, however, the right format to get IP video into or out of the cloud natively (over public internet) and this is exactly where Nimble comes into play.
Really interested to see what happens here.

Yury 2020-05-28 23:36:22 UTC 

Daniel, we have your voice counted!

Alex Pokotilo 2020-05-29 14:44:04 UTC 

Hi everybody!
It's Alex from Softvelum dev team. I want to say thank you all to point us into NDI technology.
Here is what we have now:
- we have tested NDI SDK examples, checked API, checked license and all looks great
- we decided to start from NDI on input first.
- we have started NDI input development support and today I was reported that we have high level design implemented. I was also reported that on the Monday we will have some video only prototype we can inspect on code review.
- NDI input will be one of the input in nimble decoder. This means all filters you like in encoder e.g fps, resize, audio volume filter etc will work.
- I was reported that failover/emergency features of nimble transcoder will work with NDI as well.
- Nimble will work with NDI source through separate process for stability/security sake. Nimble will read single NDI source only once regardless of how many inputs you have in your scenarios. Nimble do the same for another input types for optimization sake. The same will work there. As Nimble will work with NDI via separate process - NDI support will be added for Windows and Linux only without MacOS. We don't have stable inter-process communication utilities implemented for MacOS so please expect only Windows and Linux.
This is what we have for now.
We consider NDI as the next big thing for Nimble. Development is in progress. And we just need to give engineers some time to provide something interesting to you.
I'm an idiot that I was not able to recognize this option earlier. But now it's clear to us that NDI is important option for our clients.
We implemented DRM support before we started NDI development because DRM is necessary for production environment and our implementation is both very useful/secure and easy to configure.
Thanks for everybody for knocking my head so that this simple and obvious decision has been made.

Jonathan 2020-05-29 14:57:22 UTC 

Amazing Alex. Thanks for the update. Can't wait to see it in action!

NDI-PLEASE 2020-05-29 15:03:59 UTC 

Alex that is GREAT news! Can you clarify, this is INPUT only? There is little use for this unless input AND output are functioning. It's not really useful if it's one way. The prodominant use case is to use SRT in WAN and NDI in the LAN, hence a transcode of h264 <-> NDI. Can you disclose how you intend on transcoding between h264 and NDI (e.g. ffmpeg, vlc).

Steve 2020-05-29 16:41:41 UTC 

*cue happy dance*

This is huge, REAL happy to read all of this, and very excited for these changes; Nimble Streamer is proving to be quite....nimble. Thanks to all my colleagues who voiced their support for this workflow update along the way, I didn't expect this to go anywhere other than a "blackhole". And a special thank you to Softvelum HQ for giving us their ear! This will imo put Nimble in a new category all of it's own, cause believe me, I have looked over the entire internet, twice, and there is currently no DIY cloud-based software solution at this entry point (yada yada sierra/birddog if you have the budget haha) so that's why this move is so exciting! And for the record Alex, you're not an idiot :)

Keep us posted!

Yury 2020-05-30 00:39:05 UTC 

@NDI-PLEASE Just to clarify - implementing NDI for input is the first step in our plan. We will add NDI output and the second step which will be implemented right after that.
The transcoding will be performed the same way we do it for all other types of streams:

Alex Pokotilo 2020-06-04 04:16:40 UTC 

Hi all,
today I was reported audio+video input works fine and Nimble transcoder produces output ready for HLS/DASH/SRT/RTMP/SLDP/MPEGTS etc.
We're working on failover/emergency cases so that if ndi source becomes dead Nimble replace it with another stream.
I'll let you know once we start/finish final code review. I hope we will have something to release in mid-June

NDI-PLEASE 2020-06-18 21:28:24 UTC 

Hi! Any updates here?

Plamen 2020-06-18 21:28:59 UTC 

Are there any updates yet on NDI implementation? I'm excited to put it to the test!

Yury 2020-06-18 23:39:19 UTC 

Guys, we are working on it. We want to have the NDI receive mode be ready within a couple of weeks. We'll announce the release in this thread at the moment we have it ready.

Abraham 2020-06-25 07:12:12 UTC 

NDI is really interesting. I will expect for that too.

Roberto Brito 2020-07-15 17:56:26 UTC 

Pls... Some news.... Don`t kill us off hanging !

Yury 2020-07-16 00:46:34 UTC 

Just a few more days, guys :) We're preparing and testing new packages and writing the setup documentation. Once we have it ready, I'll post an update in this thread.

Yury 2020-07-16 10:45:18 UTC 

We have released packages of Nimble Streamer and Live Transcoder with NDI support for Windows and Ubuntu 20.04 and 18/04 on our staging area.

This article describes the functionality, including installation from staging:

Please read and follow the instruction, especially the staging part. Notice that it's not an official release yet.
If you face any issues or have any questions, please post a new ticket here in or helpdesk.

Please share your experience with Nimble NDI, we appreciate any feedback, both good and bad.

All your thoughts are welcomed in our helpdesk: Please post them there so we could follow up with every customer, just in case this requires access to your servers etc.

Looking forward to getting your feedback!

NDI-PLEASE 2020-07-16 12:27:24 UTC 

Thank you Yury!! I’ll report back soon!

ggudnason 2020-07-16 13:02:56 UTC 

Thx. look forward to test this.

Plamen 2020-07-16 15:37:13 UTC 

Yury! Thank you and your team for putting time into this! We'll be testing this extensively and will report back with any feedback for improvement.

Gaylen Nebeker 2020-07-19 12:45:05 UTC 

Yury thanks for your quick work on this. It is great news for streaming to Nimbal directly from a movie set using MAC OS based QTAKE Advanced Video Assist software. My company, NEBTEK, is the US reseller for the Qtake Sotware and I would very much like to see it working for the mac. As of now is there a recommended way direct the NDI Stream to Nimbal via a web interface? Thanks again.

Yury 2020-07-20 05:56:19 UTC 


We're currently focused on Linux and Windows support of NDI. You can use Docker to install Nimble with all packages no Mac,
As for web interface - you can refer to our article to see how it can be set up using WMSPanel web UI.

Yury 2020-07-28 10:17:44 UTC 

We're glad to announce that NDI has been officially released in Nimble Streamer:

Feel free to try it in action and contact us to share your experience:

Thank you!

Fresh AV 2020-08-15 04:59:36 UTC 

Is there a timeline for NDI output support?

NDI-PLEASE 2020-08-15 05:10:54 UTC 

It does support output. Outlined in the implementation doc.

Fresh AV 2020-08-15 06:01:13 UTC 

Saw that right after I posted. Oops

Post a reply

Post a new question



nimbleNimble StreamerFAQHLSDVRRTMPhlsnimble streamerABRcachewmsauthNimbleAPIapitranscoderSRTdvrrtmpffmpegVODsrtfailoverDASHsldpstreamingrtspwmspanellivevodudppaywallsubtitlesDispersaRTSPvideoSLDPyoutubeabrlivestreamingmp4WMSAuthMPEG-DASHpay-per-viewgeodashstreamerWMSPaneledgebandwidthWindowsencryptionthumbnailUDPhttpswhite labelconfigsmilmulticastFFMPEGsslMPEG-TSaudioCORSchunksraspberry pire-streamingmpeg-dashperformancecorsadvertizervlcrepublishingS3cloudfrontDRMuser agentandroidNDILarixrules.confplaylistadvertisingipv6MPEGTSFastSpringRAMFMLEVATcrossdomainmpegtsSMILRecordingaespushakamaiwowzaserversPullcodecmobileerrorSSLTranscodem3u8balancechromecastplaylist_dvrWowzaIDreportingconfigurationdownloadbugpublish controlRepublishingnimblestreamerdomainLarix Broadcastermpeg-tsraspianloopVidillionHttpschunkAWSawsoriginCDNwms panelroutesamazonIPscte35ipupdateUInimble webcam html5bitrateRegistration Issuedirect link32-bit Windowstwitchcache_controlitworkmelive abr support mpeg-dashwmspanelapiresumertmp abrbeirutWWDCdubaiCentOS v6.4hls to multicast udpnooblogRemote StorageWowza AgentIIS Smooth StreamingcloudmediaAbrHTTPSHot-linking protectionHDSvaddioalertsjwplayer websitebaselinetimelinewhmcsnginx rtmp nimbleAuthentication in HLSAV BridgePi4VaddiopricePI3 UbuntulimitOld logsscte-35screencastview timeinterfacesattaching domainsDVRRecordingcontainerloadbalancingmod_rewritemetadataprofileID3 tagsgbpsAxisdatmessageWMSCONFIG_HOMEwmsauthsignhighhds hotlinkhls restreaminggentoo install server nimbleVLCPublic Iptranscoding using NvidiaPaywall AuthniblerofflinedocumentationNimble streamer upgradeconcurrent-connectionsTrancoderdecodertransocding republishingVideo PlayerfileAliaslost trafficServer-sideexportopensslstoppedNimble Streamer versionmainicecast urlrulehot linkingchangelebanonlocationmanifestrtmp for YouTubeMP4 not playedspaceLarix Groveamfseekingpay per viewonSteam stopped workingnginxPlayReadyamazon web servicelimuxdvr_archivesmpeg dashobsTCORaspian BusterHLS voddvr stream twicedeep statssdpshoutcasthot-linkAXVVGanalyticspaywalapplicationblocknvencExpression Encoder7brandingtrialdebianmicrosoft streamMP4HLS PlayererrorsDASH Playerrocksoftlog traffic statslive video on demandbandwithservernimblesessionidFFmpegmultiple originsprogressive downloadABR DASHscreen freezecan't registersourceheaderprivate networkLarge DVR filesSnapshotslog nimble analysertmp playbackno WMSPanelvideojslive videointerleavingvideo stopmac osx installadaptiveAV1 codecwotermarkstreamsNGINX-RTMPJWPLAYERvimeohelp errorattachmentload balancevod no soundconcurrent connectioncache expirydvr streamconnectivityUbuntu 20 ARM - AWSunique visitor4Kcrossdomain more then 1 domaincdnvsomlive streamcpuViewer StatsWidevineFairplayAWS 3buttDelaympeg2tsServer-Side-Task-Controlnot foundCPU Loaddisk migrationpullAS3screen capturestereo to monoTranscoderLive streamingdrmsecurityresourceaes encryptioninstall players setup ready to goDVRSettingstwitch larix broadcaster androidAppleDelete recordssubscriptionABR HLS Bitrateslive pull settingsWMSPanel settingsvideo loopicecaststarttime duration seekpointrebootudp streamingoutratemonitornimble streamer vod hls transmuxingloggingapi accessDeep statsloadbalancernimble.confrtmp republishing transcodeIIS Media Servicslearnerweb playerdvr streamsinsert logoautomationnimble streamer web server php script pageNimble Streamer APIlivestreamcontent-dispositionNimble CapacityABR DVR problemAVCaptureMovieFileOutputblock downloadLive SwitcherNimble ServerPost processingadd_chunk failedfake extensionMPEG DASHUbuntu artful 17.10Transcoder MPEG DASHnot to stealLive BroadcastRTMP republishstatus:errorFFMPEG;RTMP;I/O errortranscodingPIDHotlinking ProtectionStreaming routefacebookMPEG-Dashlarix broadcasterbroadcasterOSXadvp9snapshotpaymentstatspremium featureserver incorrect timeThumbnailsreloadLiveLIVEcontentRTMP RepublishssaiDVR Setting limitdemandHow to do live stream with multiple audio trackrmtpno internetIOSProgressivenimble aliasesHLS Streamingthumbnail dvr-thumbnailLoad-Balancingnimble streamer mpeg-ts multiple inputswmsAuthSignreportsavoid refreshraspberrysoundHLS Meta Tag editing.transcoder nimbleSecureJetson Nanotranscodevbv-maxratedvr on wmspanelVideo cant be playedS3 AWSuser_agentautomateAndroidVR-360Failoverdockerlivestream bitrateABR bitratesPacketizingbuildpublish streamStream Delaytraffichd25AArch64delaympeg4.movalias routestoragedomain lockVOD HLS streaming on public IPoutputUsers limitcloudflareanalisysscteno soundInvalid frame headerincoming streamHTML5 playerGopwirecasta recordhttp serverNimbleStreamerav1 codecabr fallbackNimble connectionsdistributionfastspringNimble streamermp2 audiodata slicesaliasplayer sldpqataritworkscdnvideo.jsspeedup my videoiOSissuepricinggoogle cloud storagedissapointmentpay-per-minuteRAM LoadlivestreamintransocderPaywallvideo and audio not matchdiskstorage space available3.6.1-1SO_RCVBUFbuffering videocompatibility protocolsMax connectionUDP MulticastgpurestarthelpFallbackError when installinghow-tomanage_dvrrulesDVRStreamsaws amazonserver ip21SSL requestMPEG2 Videologo in streamVP9sha265nimble on cloudprerollDVR SettingPORTanalyseStreamIDcredentialsincomingmulti-viewervideo audioCross DomainSRT protocolmd5nimble dvrrtpdurationBandwidthbufferRIST BondingplayoutControl APIfallbackQuickTimevideo streamingartifactsrtsp push androidtuningactionscript 3server ssl errorCSSRistwebhookdvr to liveprogressivebroadcast videoRTMP to SRTubuntu 18Teradek DecoderlatencyNimble_Crushdynamic linksTLSV 1.2 Certificatefairplayre-publishingSRT RTMPsoftware versionadjustBroadcasthotlink protectionultra low latencyRaspberryPi4Raspberrytasks-control

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.