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 · 42 comments
Open

Blackmagic Outputs #124

webnerdnick opened this issue Apr 2, 2023 · 42 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.

@LPChurchNeeds
Copy link

Any progress on using Black Magic to run Free Show? Our church is really in a pickle trying to figure this out. Thanks

@vassbo
Copy link
Collaborator

vassbo commented Oct 10, 2024

@Yttrium-tYcLief I might have figured something out!
Changed the YUV subsampling format from 444 to 420.

Here is a new test build for anyone interested.
https://filetransfer.io/data-package/eqhdTAIU

@discodancepant
Copy link

I tested the latest (FreeShow-1.2.9-beta.1-x64) with a Decklink Quad 2:
Decklink config:
Output 1: 1080p60 with alpha
Output 2: 1080p60 no alpha

ProPresenter works fine. I included the Decklink Status Report for the two outputs. ProPresenter always uses YUV 4:2:2 8 bit for non-alpha output and BGRA 8 bit for outputs with an alpha.
Blackmagic Design System Report - DeckLink Quad Output 1
Blackmagic Design System Report - DeckLink Quad Output 2

The Freeshow beta seems to temporarily connect to the decklink once, but if you close and open it, it doesn't detect the Decklink at all. System restart does the same thing, it doesn't detect the Decklink. To re-detect the Decklink I had to remove Freeshow, remove the Freeshow MyDocuments folder, and also remove the folder from the hidden AppData folder.

From the dropdown, Freeshow in 1080p60 only allows YUV 8 bit and 10 bit, no BGRA.
I configured Freeshow to use 720p60 with BGRA with alpha output, but same green output as always.

I believe the connection issue to the Decklink card needs to be resolved, as it seems like Freeshow momentarily connects, then quickly loses the connection. This might also just be my experience with the Quad 2. I have a Duo 2 as well, but I lacked the time to test it.

@chalamministries
Copy link

I have a mac and I have a decklink quad and Im proficient in programming. I've dabbled a little with electron. I'll try to give it a shot.

@vassbo
Copy link
Collaborator

vassbo commented Nov 12, 2024

@chalamministries Let me know if you make any progress on this. :)

@chalamministries
Copy link

I couldn't get it to compile on my main Mac. I got to dig and find out what's going on there. But yeah I'm working on it.

@LPChurchNeeds
Copy link

LPChurchNeeds commented Nov 12, 2024 via email

@chalamministries
Copy link

I'm running into a lot of depricated dependencies. Im afraid to upgrade all of this as it would affect the main version. I can't get it to build properly. Am I missing something that you are doing to run it?

@vassbo
Copy link
Collaborator

vassbo commented Nov 14, 2024

All right, do you think this can fix the deprecated dependencies?: #1016

@LPChurchNeeds
Copy link

LPChurchNeeds commented Nov 14, 2024 via email

@vassbo
Copy link
Collaborator

vassbo commented Nov 14, 2024

@LPChurchNeeds If you need Blackmagic integration at the moment your best bet is ProPresenter yes if you have the money, but it's expensive. I'm sure we will support devices like DeckLink very soon!

@LPChurchNeeds
Copy link

LPChurchNeeds commented Nov 14, 2024 via email

@amudhanr
Copy link

amudhanr commented Dec 2, 2024

@vassbo Thank you for working on this. Will FreeShow eventually support fill/key output for BMD UltraStudio HD Mini or UltraStudio Mini 4K via USB-C output? We are considering buying this hardware for overlays using ATEM SDI Extreme and FreeShow, but the fill/key output is essential for this to work as we stream straight out of the ATEM and not use OBS for overlays. I know we can use overlays using NDI source and OBS, but we are trying to not to use OBS for our streams.

@vassbo
Copy link
Collaborator

vassbo commented Dec 2, 2024

@amudhanr We should have support for BMD key/fill once we get this actually working, not sure when exactly.

@Yttrium-tYcLief
Copy link

Sorry, I haven't been keeping tabs on this but if there are any builds in the future, I'd be happy to test them. We now have two separate systems, one with an 8K Pro G1 and one with a Duo 2.

@chalamministries
Copy link

chalamministries commented Dec 5, 2024 via email

@chalamministries
Copy link

Just letting everyone know, I'm still working on this enhancement. Feel free to build the blackmagic repo and try the outputs. I still have to work on the inputs.

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