• Stars
    star
    198
  • Rank 196,898 (Top 4 %)
  • Language
    C++
  • License
    Boost Software Li...
  • Created almost 14 years ago
  • Updated about 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Basic capture and play programs for Blackmagic Design Decklink

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

[email protected] or [email protected]

Paid Support

Paid support is offered, contact [email protected] for details.

More Repositories

1

cargo-c

build and install C-compatible libraries
Rust
452
star
2

mfx_dispatch

Intel media sdk dispatcher
C++
149
star
3

opus

pure rust opus decoder
Rust
41
star
4

autotools-rs

build.rs helper to configure and compile autotools and configure/make projects
Rust
23
star
5

rtmpdump

rtmpdump git mirror
C
15
star
6

cdylib-link-lines

Helper to build correctly cdylibs
Rust
13
star
7

tcptunnel

Simple udp -> tcp -> udp tunnel
Rust
10
star
8

crav1e

C-bindings for rav1e
Rust
10
star
9

libbmd

C wrapper over Blackmagic Devices Decklink C++ api
C++
9
star
10

nut

NUT container format documentation and reference implementation
C
7
star
11

plaid

Patchwork workalike made using Flask
Python
6
star
12

udev

Random experiments and study over udev stand-alone codebase
C
6
star
13

libvpx

Local libvpx changes (POWER8 Altivec/VSX support)
C
5
star
14

compiler_error

Triggerable compiler errors for rustc < 1.20
Rust
5
star
15

speed-levels-rs

Speed-levels benchmarking
Rust
5
star
16

autotools-cargo-example

Simple examples on how to wire in rust code built by cargo in an autotools-based project
M4
5
star
17

dvdtools

Random tools to edit DVD.
C
4
star
18

arg_enum_proc_macro

clap.rs arg_enum made procedural
Rust
4
star
19

vex

LibVEX mirror from valgrind.org svn
C
4
star
20

wait4-rs

Rust idiomatic wrapper around wait4
Rust
3
star
21

dolt

Fork of http://dolt.freedesktop.org/
3
star
22

net-tools

ifconfig, route and friends. In rust
Rust
3
star
23

valgrind

Mirror of valgrind svn - updated hourly
C
3
star
24

rustlab-it-2019

From C to Rust and Back
Rust
3
star
25

interpolate_name

Do not repeat yourself when writing tests
Rust
3
star
26

ffmpeg

OLD libav.org local topic branches please use my libav mirror now!
C
3
star
27

nvidia-video-codec

Redistributable headers to build cuvid and nvenc
C
2
star
28

fate-samples

git-lfs mirror
TypeScript
2
star
29

eselect

Gentoo eselect experiments
Shell
2
star
30

cow_struct

Derive per-field Cow Structures
Rust
2
star
31

noop_proc_macro

Does nothing with style
Rust
2
star
32

libav.org

CSS
2
star
33

avscale

AVScale proof of concept
C
2
star
34

testcase-wasi-alloc

Testcase for a strange allocation problem
Rust
1
star
35

rust-optimization-example

Code companion of a blog post about optimizing and rust
Rust
1
star
36

sz2019LiveVideoStack

rav1e 0.2.0 presentation during the LiveVideoStack 2019 Shenzhen event
1
star
37

moin-2.0

Git automirror of http://bitbucket.org/thomaswaldmann/moin-2.0
Python
1
star
38

capi-testcase

Small testcase regarding cbindgen signature generation
Rust
1
star
39

dav1d

C
1
star
40

aravis

Hack over Aravis
C
1
star
41

async-srt-rs

async bindings for srt
Rust
1
star
42

lz4

automirror of http://lz4.googlecode.com/svn/trunk/
C
1
star
43

code-bench

Benchmarking some multimedia loops
Rust
1
star
44

linuxday-2018

My presentation for the Turin Linuxday
1
star
45

moinmoin-bootstrap

moinmoin bootstrap theme
CSS
1
star
46

ndplus

NaturalDocPlus mirror
Perl
1
star
47

libdwarf-bsd

C
1
star
48

restreamer

Simple data 1->N restreamer
Rust
1
star