This is a Python application, wrapper for ndnrtc-client (need to be installed) and supporting tools (like ffmpeg
and ffplay
) for quick&easy video streaming over NDN.
- NFD
virtualenv
ndnrtc-client
pip install virtualenv
brew update
brew tap remap/ndnrtc
brew install ndnrtc
Inside cloned repo:
virtualenv env && source env/bin/activate
pip install .
brew tap remap/ndnrtc
brew install ndnrtc ndnrtc-stream
- Configure NFD security
- Generate new self-signed identity (or use existing one) which will be used for signing data:
ndnsec-keygen /ndnrtc | ndnsec-install-cert -
ndnsec list
- Publish RTC stream:
ndnrtc-stream publish /ndnrtc
- In a separate terminal window, fetch stream:
ndnrtc-stream fetch /ndnrtc/rtc-stream
If you want to fetch video published bby ndnrtc-stream
from remote machine, make sure you have registered NFD route for this machine. Usually, UDP tunnels are used (NDN over UDP) to establish routes between machines:
nfdc face create udp://<remote-machine-ip-address>
nfdc route add ndn://ndnrtc <face-id>
ndnrtc-stream fetch /ndnrtc/rtc-stream