lu-zero / bmdtools

Basic capture and play programs for Blackmagic Design Decklink
Boost Software License 1.0
198 stars 74 forks source link

Can't get HDMI input to work. Colour bars only. #91

Closed themusicalduck closed 6 years ago

themusicalduck commented 6 years ago

Hey,

I'm trying to use bmdcapture on Fedora 26 with an Intensity Pro 4k card to capture hdmi video.

I've tried with three different sources, a Raspberry Pi, a Win10 laptop and a freeview set top box.

I've run through every single mode and I've tested the devices with a monitor. The cable is fine and there is video.

I double checked I was using the right hdmi plug on the capture card.

I can only get colour bars.

Analog input does work, but I want to use hdmi. I've tried this on a different machine with a different (identical) card and hdmi doesn't work on that either.

This is the command I'm using:

./bmdcapture -m 13 -C 0 -V 3 -F nut -f pipe:1 | ffmpeg -i pipe:0 -analyzeduration 50 -probesize 32 -c:v libx264 -preset veryfast -maxrate 3000k -bufsize 6000k -pix_fmt yuv420p -g 50 -c:a aac -b:a 160k -ac 2 -ar 44100 -f mpegts udp://10.249.0.14:1234

I'm actually using a slightly older version of bmdcapture (not sure how old, but the source is a bit different). I tried compiling the latest and it will compile, but I get this error message when I try to run it.

Could not obtain the IDeckLinkConfiguration interface - result = 80000004

Does anyone have any ideas? I feel like I've tried everything.

Thanks.

themusicalduck commented 6 years ago

To update, I've also tried setting the hdmi_pixel_encoding to YCbCr full on the pi and hdmi_ignore_edid=0xa5000080 so that it doens't try to use an EDID.

running /opt/vc/bin/tvservice -s shows: state 0x12000a [HDMI CEA (19) RGB lim 16:9], 1280x720 @ 50.00Hz, progressive

and I am running bmdcapture in mode 13 - 720p50.

Still getting colour bars.

themusicalduck commented 6 years ago

For any future readers, I fixed this by firstly installing drivers that matched the SDK I compiled against. I then updated the firmware on the blackmagic card.

Lastly I set pixel encoding to rgb10 with -p rgb10, then I was finally able to capture hdmi input from a raspberry pi.