GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - buresu/ndi-python: NewTek NDI Python wrapper

BranchesTags
Open more actions menu

Latest commit

 

History

204 Commits
204 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
cmake/Modules
cmake/Modules
 
 
example
example
 
 
src
src
 
 
tests
tests
 
 
.clang-format
.clang-format
 
 
.gitignore
.gitignore
 
 
CMakeLists.txt
CMakeLists.txt
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
pyproject.toml
pyproject.toml
 
 

Repository files navigation

ndi-python

NewTek NDI Python wrapper

Installation

ndi-python is support pypi package now. https://pypi.org/project/ndi-python/
So you can install it using pip if it is a supported environment.

pip install ndi-python

The supported environment is as follows.

  • Windows x64 Python(3.11-3.15)
  • macOS arm64(>=13.0) Python(3.11-3.15)
  • Linux x64,aarch64,armv7l Python(3.11-3.15)

Setup Avahi

Linux requires Avahi to search for NDI sources.
Please install according to your environment.

Ubuntu

sudo apt install avahi-daemon
sudo systemctl enable --now avahi-daemon

Arch Linux

sudo pacman -S avahi
sudo systemctl enable --now avahi-daemon

Run examples

I've ported some examples to python.
You can try it by running the ndi-python examples.

git clone https://github.com/buresu/ndi-python.git
cd ndi-python/example
pip install -r requirements.txt
python find.py

Capture NDI|HX Source

Capturing NDI|HX sources requires an environment capable of decoding H.264 video.
On Linux, the NDI SDK dynamically loads FFmpeg libraries internally for H.264 decoding.
Please install a compatible FFmpeg version that matches the version required by your NDI SDK.

You can check which FFmpeg version is required with a command similar to the following:

strings /path/to/ndilib/libndi.so | grep libavcodec
out: libavcodec.so.61

In this case, libavcodec.so.61 corresponds to FFmpeg 7.x.

Development

Install NDI SDK

NDI SDK is required for development.
You should install according to your environment.

Windows, Mac, Ubuntu

Donwload and install NDI SDK.
https://ndi.video/for-developers/ndi-sdk/download/

Arch Linux

yay -S ndi-sdk

Build

git clone https://github.com/buresu/ndi-python.git
cd ndi-python
pip install .

If you need to set the NDI SDK directory explicitly:

CMAKE_ARGS="-DNDI_SDK_DIR=/path/to/ndisdk" pip install .

To build for a specific Python version:

CMAKE_ARGS="-DNDI_SDK_DIR=/path/to/ndisdk" /path/to/python3.12 -m pip install .

Test

Tests run against the installed package.
Tests marked loopback send and receive frames within the process, so they need mDNS (Avahi on Linux). Use -m "not loopback" to skip them.

pip install . --group test
pytest

License

ndi-python is MIT License
NDI follows NDI's license

About

NewTek NDI Python wrapper

Topics

ndinetwork-video-capturepythonvideo-streaming

Resources

Readme
MIT license
Activity

Stars

187 stars

Watchers

10 watching

Forks

42 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.