https://github.com/lu-zero/bmdtools
Basic capture and play programs for Blackmagic Design Decklink
https://github.com/lu-zero/bmdtools
Last synced: 2 months ago
JSON representation
Basic capture and play programs for Blackmagic Design Decklink
- Host: GitHub
- URL: https://github.com/lu-zero/bmdtools
- Owner: lu-zero
- License: bsl-1.0
- Created: 2010-12-27T20:33:11.000Z (over 14 years ago)
- Default Branch: master
- Last Pushed: 2019-09-26T21:33:58.000Z (over 5 years ago)
- Last Synced: 2025-03-24T10:15:49.673Z (2 months ago)
- Language: C++
- Homepage:
- Size: 274 KB
- Stars: 200
- Watchers: 41
- Forks: 72
- Open Issues: 41
-
Metadata Files:
- Readme: README.md
- License: COPYING.BSD
Awesome Lists containing this project
README
## 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][1] and [pkg-config][2] or
[pkgconf][3] 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
```sh
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
```sh
./bmdcapture -C 1 -m 2 -F nut -o strict=experimental:syncpoints=none -f pipe:1 | avconv -vsync passthrough -y -i -
```-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.```sh
avconv -vsync 1 -i -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](https://github.com/lu-zero/bmdtools/issues) can
be used to track bugs and feature requests.### Contact
You can directly contact me either at
[email protected] or [email protected]
### Paid Support
Paid support is offered, contact [email protected] for details.
[1]: http://libav.org
[2]: http://www.freedesktop.org/wiki/Software/pkg-config/
[3]: https://github.com/pkgconf/pkgconf