List the capabilities of a webcam
ffmpeg -f v4l2 -list_formats all -i /dev/video0
Monitor the camera (you may need to change the pixel format to something from the previous command that your camera supports)
ffplay -f v4l2 -framerate 30 -video_size 1280x720 -pixel_format mjpeg -i /dev/video0
List all NDI sources on the network
ffmpeg -f libndi_newtek -find_sources 1 -i dummy
Monitor an NDI stream
ffplay -f libndi_newtek -i "HAYLAPTOP (FrontCamera)"
Stream a webcam to NDI
ffmpeg -f v4l2 -framerate 30 -video_size 1280x720 -pixel_format mjpeg -i /dev/video1 -f libndi_newtek -pix_fmt uyvy422 FrontCamera
List audio devices
Stream a webcam to NDI with audio (an HD3000 webcam in this example)
ffmpeg -f v4l2 -framerate 30 -video_size 1280x720 -pixel_format mjpeg -i /dev/video0 -f alsa -i plughw:CARD=HD3000,DEV=0 -f libndi_newtek -pixel_format uyvy422 FrontCamera
A quick description of the options:
-framerate is the number of frames per second
-video_size is the resolution of the camera you'd like to capture at
-pixel_format is the format of the video stream. Input and output streams can be different, compressed input streams (e.g. mjpeg) are probably preferred. NDI only accepts uyvy422, bgra, bgr0, rgba, or rgb0 as an output format.
/dev/video0 is the first video device, usually the built-in webcam (others will be /dev/video1 etc.)
alsa is one way that Linux handles audio input and output, we're using it for input here.
libndi_newtek is non-free, so ffmpeg needs to be compiled with that option rather than using downloaded (or apt-get) builds.
FrontCamera is just a human-readable NDI name, you can call your whatever you'd like.
Other helpful resources include:
Let me know if any of this doesn't (or does) work for you.