Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Blackmagic Outputs #124

Open
webnerdnick opened this issue Apr 2, 2023 · 25 comments
Open

Blackmagic Outputs #124

webnerdnick opened this issue Apr 2, 2023 · 25 comments
Labels
enhancement New feature or request

Comments

@webnerdnick
Copy link

You probably already know this, but having the ability use Blackmagic products that can do SDI out would give you a huge bump in market share. Have you yet investigated what it would take to use an output like a Blackmagic decklink?

@vassbo
Copy link
Collaborator

vassbo commented Apr 2, 2023

It would definitely be a handy feature. But maybe a bit time consuming to add, and I don't have any device to test it with. But I'll see what I can figure out. 😊

@vassbo vassbo added the enhancement New feature or request label Apr 2, 2023
@webnerdnick
Copy link
Author

I saw this project on github: https://github.com/Streampunk/macadam which uses node.js and the Blackmagic API and has a handful of other repositories that it's used in. I'm not proficient in Electron, or I'd give it a shot myself. I have some spare decklink PCI cards which if you're interested, I may be able to send you one to play with if you think this is something you'd be interested digging into. I realize though I'm sure you have a ton of other priorities for this project.

@vassbo
Copy link
Collaborator

vassbo commented Apr 3, 2023

Thank you! Yes, I have some other priorities first. But I'll let you know if I need it, and have the time to do it. The package looks promising.

@kol0
Copy link

kol0 commented Feb 26, 2024

Big +1 to add true SDI output.

@marcorychlik
Copy link

Big +1 to add true SDI output.

I was looking for years to a alternative to PP7... i found hope. I pray for you guys for shure. Thanks for our effort. When you @vassbo (and others) ever will come to Switzerland, let me know. I created a git profile to write this.

@vassbo
Copy link
Collaborator

vassbo commented Apr 7, 2024

Thank you. @marcorychlik 😊

@marcorychlik
Copy link

marcorychlik commented Apr 8, 2024 via email

@mellbergsimon
Copy link

+1 for me aswell. Would be the incentive for me to switch. Key + Fill is essential in my application.

@Qwiko
Copy link

Qwiko commented May 8, 2024

+1

@Yttrium-tYcLief
Copy link

+1, this is literally the only thing holding me back from switching. I've got a number of systems with various Decklink devices, including 8K Pros and Duo 2s, and we composite using ATEM so simply switching to NDI isn't really an option for us.

@djrenault
Copy link

Created an account just to say this feature is holding me back from being able to switch as well. Now that ProPresenter have announced a subscription-only model, hopefully this brings in donors who are switching away from Pro7 and fund the features we need to be able to switch and donate too.

@webnerdnick
Copy link
Author

I was the one that originally requested this feature. I've found the best way of getting around this is to use a regular graphics card and then HDMI to SDI converters. It's basically what a deck link is already doing (minus the input abilities). It's actually easier to set up and troubleshoot going this route. What I do wish was possible would be to lock the mouse or other content from being accidentally moved to one of these screens since windows now has direct access.

@mellbergsimon
Copy link

mellbergsimon commented Jul 31, 2024

I was the one that originally requested this feature. I've found the best way of getting around this is to use a regular graphics card and then HDMI to SDI converters. It's basically what a deck link is already doing (minus the input abilities). It's actually easier to set up and troubleshoot going this route. What I do wish was possible would be to lock the mouse or other content from being accidentally moved to one of these screens since windows now has direct access.

I think the main thing decklinks would give is key+fill. Atleast I and I think alot more are using ATEMs or similar to put text on top of other content. That would have to be done with a greenscreen. But that feels like a step in the wrong direction for me. For playouts where Freeshow would display on the entire screen your suggestion is sufficient.

@djrenault
Copy link

I was the one that originally requested this feature. I've found the best way of getting around this is to use a regular graphics card and then HDMI to SDI converters. It's basically what a deck link is already doing (minus the input abilities). It's actually easier to set up and troubleshoot going this route. What I do wish was possible would be to lock the mouse or other content from being accidentally moved to one of these screens since windows now has direct access.

I think the main thing decklinks would give is key+fill. Atleast I and I think alot more are using ATEMs or similar to put text on top of other content. That would have to be done with a greenscreen. But that feels like a step in the wrong direction for me. For playouts where Freeshow would display on the entire screen your suggestion is sufficient.

Exactly, we have a Decklink Duo 2, and we use key+fill. We have an ATEM Television Studio HD that we put it all together with.

@vassbo
Copy link
Collaborator

vassbo commented Aug 5, 2024

If you have a Blackmagic device (e.g. DeckLink), and some coding knowledge, please help with testing! :)

I have added basic support for Blackmagic outputs/inputs on this GitHub branch (with the macadam package): https://github.com/ChurchApps/FreeShow/tree/blackmagic

All the basic functionality should be there, like sending out video data (in Outputs settings) & receiving video streams (in "Media">"Screens">"Blackmagic"). But I do not own any Blackmagic device so I can't test it, I have no idea if it works at all!

Here's a test build (Windows): https://filetransfer.io/data-package/T9GcC2xT

@brettgoodrich
Copy link

+1 from me. This is basically The Thing I would need, and that's it.
OH WOW A BETA YESTERDAY
Will try it

@brettgoodrich
Copy link

@vassbo Do you have a PO Box one of us could send one to? They're $145 for all you would need to test it
https://doddcamera.com/blackmagic-design-ultrastudio-mini-recorder-3g-sdi-hdmi-to-thunderbolt

@vassbo
Copy link
Collaborator

vassbo commented Aug 6, 2024

@brettgoodrich Thanks, I have a friend currently testing it, do you also get a green output screen? If I can't figure out that issue I might have to buy a DeckLink, but that could come in handy elsewhere. Do you think I just need a DeckLink, or would I need some other hardware as well?

Edit: I only have a laptop, and I guess I would need PCI input for DeckLink, have not found a good test solution that supports laptops.

@webnerdnick
Copy link
Author

(I think FreeShow needs a Discord for the purpose of community of engagement, troubleshooting, and chat threads like this, but anyways...) A mini monitor or mini recorder would get you in the ballpark for testing, but for those above who were talking about key+fill, you'd need to get into the PCI DeckLink product line, starting with the DeckLink Duo 2 or DeckLink Quad or something like that (those are older versions), but will certainly allow you to test everything, especially as more features are requested if this SDI out is successful. I'm happy to chip in some money toward this if you need to purchase some additional hardware.

@Velikyi
Copy link

Velikyi commented Aug 7, 2024

The current (free) workaround that I've tested for outputs is running NDI output from FreeShow to OBS and using the stock Decklink option or DeckLink filter (https://github.com/cg2121/obs-decklink-output-filter)

@Yttrium-tYcLief
Copy link

Yttrium-tYcLief commented Aug 8, 2024

I tested this build with my 8K Pro pipeline. In our setup, we use ProPresenter on three outputs which all go to our ATEM. We normally run these at 1080p59.94 with no transparency (key/fill). Our 4th port is used as 2160p59.94 input from the ATEM's program feed, and that goes into OBS for our livestreaming.

In this test I just slotted FreeShow into one of the ProPresenter output feeds. I had no visible input at all, until changing the Pixel Format after enabling the BMD output. Once changed, both 8-bit YUV and 10-bit YUV seem to 'work', in the sense that they output picture. What they output is obviously not what's intended, but it's also different depending on the setting.

Also, the resolution setting doesn't seem to do anything. When changing resolution it does seem to 'refresh' the image (cycling black then back to video), but regardless of whatever I have it set to, it only outputs at 1080i50 according to the BMD Desktop Video Setup software.

I've attached four images - the outputs of 8-bit and 10-bit YUV, as captured in OBS, when OBS and the ATEM are set to both 4K and 1080p. Hopefully this mostly 'raw' pixel dump might help you troubleshoot what's going on.

8bit_1080p
10bit_1080p
8bit_4K
10bit_4K

For what it's worth, you do seem to be accurately obtaining the supported video modes for the specific Decklink card, as I see every resolution mode from 525i59.94 NTSC to 4K DCI 60p.

@Velikyi
Copy link

Velikyi commented Aug 8, 2024

I tested this build with my 8K Pro pipeline. In our setup, we use ProPresenter on three outputs which all go to our ATEM. We normally run these at 1080p59.94 with no transparency (key/fill). Our 4th port is used as 2160p59.94 input from the ATEM's program feed, and that goes into OBS for our livestreaming.

In this test I just slotted FreeShow into one of the ProPresenter output feeds. I had no visible input at all, until changing the Pixel Format after enabling the BMD output. Once changed, both 8-bit YUV and 10-bit YUV seem to 'work', in the sense that they output picture. What they output is obviously not what's intended, but it's also different depending on the setting.

Also, the resolution setting doesn't seem to do anything. When changing resolution it does seem to 'refresh' the image (cycling black then back to video), but regardless of whatever I have it set to, it only outputs at 1080i50 according to the BMD Desktop Video Setup software.

I've attached four images - the outputs of 8-bit and 10-bit YUV, as captured in OBS, when OBS and the ATEM are set to both 4K and 1080p. Hopefully this mostly 'raw' pixel dump might help you troubleshoot what's going on.

8bit_1080p
10bit_1080p
8bit_4K
10bit_4K

For what it's worth, you do seem to be accurately obtaining the supported video modes for the specific Decklink card, as I see every resolution mode from 525i59.94 NTSC to 4K DCI 60p.

This is exactly what I got too, though with 1080p50 and a mixture of one Quad card and one 8K card

@vassbo
Copy link
Collaborator

vassbo commented Aug 9, 2024

Thank you @Yttrium-tYcLief I'll see if I'm able to do something about this, and post a new test build.

@Yttrium-tYcLief
Copy link

Hey, any word on a new test build? Happy to try it out whenever needed.

@vassbo
Copy link
Collaborator

vassbo commented Aug 26, 2024

@Yttrium-tYcLief Will let you know, had to prioritize some optimizations and bugfixes first.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

10 participants