Skip to content
Basic capture and play programs for Blackmagic Design Decklink
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
COPYING.BSD
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
Capture.h Initial commit Dec 27, 2010
Makefile
Play.h
README.md
bmdcapture.cpp
bmdplay.cpp
compat.h
genlock.cpp
modes.cpp
modes.h

README.md

BlackMagic devices tools

Initially developed as an example integration between libavformat and the bmd sdk, it ended up being a set of useful tools to use the BlackMagic Devices decklink cards on Linux and macOS.

Thanks to TodoStreaming sponsoring its early development.

Build instructions

In order to build it just clone/unpack this on your Sample directory from the DeckLink SDK and then issue "make". If you have Libav and pkg-config or pkgconf installed it will build fine.

Make sure you are using at least Libav10 otherwise it will not build.

You can build it out of the Sample tree by issuing

make SDK_PATH=/path/to/the/bmd/include

macOS Support

Should work out of box.

Windows Support

The tools do not build on Windows currently, supporting it would either require a working widl support in mingw64 or access to the native tools.

Patch and/or sponsorship welcome.

Usage

./bmdcapture -C 1 -m 2 -F nut -o strict=experimental:syncpoints=none -f pipe:1 | avconv -vsync passthrough -y -i - <your options here>

-C select the capture device if more than one is present.

-F define the container format, I suggest using nut.

-f output file name, any libavformat compatible url is supported.

-m specific modeline, resolution+framerate

-o pass AVFormat AVOptions (expert)

NOTE: make sure you are processing frames capture in real time or be prepared to end up using all your memory quite quickly, HD raw data fills up memory quickly.

avconv -vsync 1 -i <source> -c:v rawvideo -pix_fmt uyvy422 -c:a pcm_s16le -ar 48000 -f nut -f_strict experimental -syncpoints none - | ./bmdplay -f pipe:0

NOTE: The default NUT syncpoint strategy uses additional memory and could consume more memory than expected.

Support

The github issue tracker can be used to track bugs and feature requests.

Contact

You can directly contact me either at

lu_zero@gentoo.org or luca.barbato@luminem.it

Paid Support

Paid support is offered, contact info@luminem.it for details.

You can’t perform that action at this time.