renderheads / unityplugin-avprodecklink Goto Github PK
View Code? Open in Web Editor NEWAVPro DeckLink is a Unity plugin for broadcast CG using Blackmagic capture hardware
Home Page: https://renderheads.com/products/avpro-decklink/
AVPro DeckLink is a Unity plugin for broadcast CG using Blackmagic capture hardware
Home Page: https://renderheads.com/products/avpro-decklink/
It would be really helpful for us to have support for reading SDI tally information on outgoing connections, and setting tally information for incoming connections. More information on page 201 of this Blackmagic manual: https://documents.blackmagicdesign.com/UserManuals/ATEM_Production_Studio_Switchers_Manual.pdf?_v=1594364410000
Bug description
Frame drop is occurred in binary package, but not in Unity Editor.
*We already tried another combination of versions with AVProDeckLink and DesktopVideo.
*We already tried to change input resolution from DeckLink 2K/4K
(AVProDeckLink:1.7.2/1.7.4/1.6.6, DesktopVideo:11.1/11.2/11.3/10.11.4)
But the issue has not solved yet.
Setup :
Unity version: 2018.4.1
AVPro DeckLink version: 1.7.2
Operating system version: Windows10Pro
Hardware model: DeckLink 4K Extreme(6G)
Cables used:HDMI1.4(UHD/30p)?
Desktop Video version: 11.2
Video mode: 2K/4K, 60p
Device Detail
CPU Intel Core i7 8086K 10C20T
RAM DDR4 32GB
NIC 1G on Board
GPU Nvidia Geforce 1080Ti
System Resource while playing
CPU: 30-40%
GPU: 10-20%
How can I solve problem?
Currently only DX11 is fully supported. It would be nice to support GLCore for devices like the Magic Leap
Hello,
Before we purchase a Decklink card, we want to make sure it supports multiple camera outputs. We need to have three cameras in Unity and output these cameras to 3 SDI monitors. Is it possible?
Any help would be highly appreciated.
Best regards,
Irakli
Hello the Renderheads team,
May I please ask for an issue about the purchased ‘AVProDeckLink’?
We are trying to use a DeckLink 8K Pro card to get 4K-3D-60/60p video signal.
The signal input is in the quadSDI 3840x2160 50/60p (4xBNC) format, each BNC cable delivers a fullHD 50/60p video signal. Two for the left view and two for the right.
Could the current version of AVProDeckLink handle this with the DeckLink 8K Pro?
It will involve fusion of four FullHD video signals into two textures for each camera.
Thank you very much.
It would be of great help and very appreciated, if you could be so nice to reply.
Describe the bug
Flipping X or Y when using the plugin with a multiple input card will influences different inputs. See attached video for a clear overview of the issue.
Apparently the issue is present when the sources come from the same hardware, but still on different Inputs/Outputs.
To be more explanatory in the setup: As a source we connected 2 input (0 and 1 on the Decklink card) from 2 different outputs from the graphic card of a computer, and the other 2 (2 and 3) from another.
Your Setup (please complete the following information):
To Reproduce
Steps to reproduce the behavior:
Videos
When using DeckLinkOutput component, vsync is disabled to get the best accuracy for rendering the output frames. This can be very wasteful and puts a high GPU and CPU load.
It would be nice to improve this. Either with the new method for rendering, or by adding some delays in there so that if it's running way too fast it will not max out the system.
Problem description:
the movies played once and can not be played again.. shows black screen and no audio..
Device (which devices are you having the issue with - model, OS version number):
honor 7c
Media (tell us about your videos - number of videos, resolution, codec, frame-rate, example URLs):
res 700x394
format wmv
frame rate 30
System Information:
AVPro Video: plugin v1.9.17 scripts v1.10.0
Target Platform: Android
Unity: v2019.2.18f1 WindowsEditor
OS: Desktop - To be filled by O.E.M. (Gigabyte Technology Co., Ltd.) - Windows 10 (10.0.0) 64bit - English
CPU: Intel(R) Core(TM) i3-2100 CPU @ 3.10GHz - 4 threads - 4061KB
GPU: NVIDIA GeForce GTS 450 - NVIDIA - Direct3D 11.0 [level 11.0] - 969KB - 16384
Add support for MacOS
I have a machine with a DeckLink 4K mini monitor sending 4K DCI 23.97 at 10 bits 422 and a second machine capturing video using DeckLink 4K mini recorder same signal at 10 bits.
Unity plugin is used in the capture side. All is working fine except by bit color resolution. When I run my app with AVProDeckLink plugin is set to 8 Bits. I tried to "force" to 10 bits but I get a black frame without signal detection. App works If I set with autodetection and it says is working at 8 bits. But it's not true, it's 10 bits.
I'm sure we sending 10 bits signal because we tested with a monitor in the middle doing bypass thought signal. Source video signal comes from Davinci Resolve Blackmagic setted with 4K DCI 23.97 at 10 bits 422
I'm playing with the trial version, maybe there is a color resolution restriction with the trial?
Hello, is there a way to output the unity screen to the video card of Aja?
Add support to the Windows plugin for the DirectX 12 API.
Hi,
Posting it here as I don't know if it is actually a bug, and it's definitely not a feature request. Appologies if I misunderstood.
I'm using the AVProLive camera plugin (2.9.0) with a BlackMagic decklink card, a BlackMagic pocket cinema 6K and Unity 2020.1.12f.
In my setup and also in the example scenes I always get black video (after a reboot) untill I start the camera in a third party program (e.g. OBS), after that it runs as expected every time I start my scene.
Steps to reproduce:
Expected result:
Camera feed shows up first time and without having to start the camera via a third party software first)
Regards,
Gijs
Hello,
I am writing to enquire about AVProDeckLink(Trial Version).
When trying Demos, there is no Select Device in Explorer.
The sdi inputing works well, I don't know where I did wrong.
I can’t watch an input video stream without full version?
Unity : Version 2018.3.0b9(64-bit)
AVProDecklink : Version Trial
Operating system version : Windows 10 Pro Intel(R) Core(TM) i9-7900X [email protected] 3.31GHz
Cables used : Din 1.0/2.3 to BNC Male
Blackmagic card : Decklink SDI 4K
Test scene : 01_InputDemo
We're having issues with interlaced signals. Primarily we've been testing 1080i59.94. Progressive signals appear to work without issue.
v1.8.6 with 11+ Blackmagic drivers (we've tried up to latest 12.1)
Windows
Unity 2019.4.28f1
1 Sub Device Full Duplex
DeckLink 8k Pro via SDI
We've noticed frames dropping. Narrowing it down, we're testing even outside of our application and with your 07_InputModifyOutputDemo sample, we still see frames dropping. We've tried this on various systems with ranging specs, but nothing has appeared to run without dropping frames.
Describe the bug
Attempting to get HDR our using Rec 2020 however output has odd rainbow striping on output. Tried every HDR setting we can find within Unity and still makes no difference. Is there a guide on how to achieve HDR video out?
Monitor output looks as expected though
Your Setup (please complete the following information):
Logs
N/A
Screenshots
Unable to share due to scene's content (however an email has been sent to the unitysupport email address)
Hello,
Before we purchase a Decklink card, we want to make sure it supports multiple camera outputs. We need to have three cameras in Unity and output these cameras to 3 SDI monitors. Is it possible?
Any help would be highly appreciated.
Best regards,
Irakli
We are currently working on a project which controls an LED screen which takes multiple inputs. We want to target different output ports on the DeckLink 4k Extreme 12G card. Is this possible or do we need other hardware?
How would we setup the Plugin to target different output ports?
Currently the ApplyToMaterial/ApplyToMesh scripts don't work correctly. This is due to materina.mainTexture not working with HDRP, so it needs to be changed eg:
//_material.mainTexture = texture;
_material.SetTexture("_BaseColorMap", texture);
Have to see if anything else needs changing too.
I want to know which graphic cards and brands are compatible with this plugin apart from BlackMagic cards to renderize through SDI, or if it's necessary a conventional GPU card.
Thanks
Describe the bug
Using Plugin 1.8.6 Decklink output is OK on a Windows 7 config.
After 1.9.0 upgrade, no more SDI output visible, no log or error message but all frames are dropped.
Works really perfectly on Windows 10.
Your Setup (please complete the following information):
To Reproduce
Steps to reproduce the behavior:
Just run on Windows 7
Hi,
Working with AVPro Decklink plugin and everything was working perfectly. But when I start to use post processing (FXAA) to the project and build my project. I suddenly lose my two input video feeds from the Blackmagic card. Any ideas and what step I am missing or does the plugin not like to use post processing? Thanks
UNITY V2019.3.14f1
Marcus
Hello,
I can not get a fill and a key out with the new HDRP. It does not seem to work. The key signal is full white.
The same test with the render legacy works.
AVProDecklink : Version 1.7.4
Blackmagic Decktop Video : Version 11.1
Blackmagic card : Decklink 8K Pro
Unity : Version 2019.2.3f1
Test scene : 08_ExternalKeyingDemo
Deck Link Output -> Video -> Ignore Alpha Channel -> false.
Best,
Rom
Attempting to get to the AVProDeckLinkClassReference from the link in the PDF leads to an Access Denied error page:
https://rh-downloads.s3-eu-west-1.amazonaws.com/docs/AVProDeckLinkClassReference/
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>6EC2A56C2893EB95</RequestId>
<HostId>jTtI4ku2h9sXji4CxzSjb48uGbCCgKRB7MQnv1i2H9xiScvev+1XgUi8Mu5WC3GzdkFCUDWHfX4=</HostId>
</Error>
R8G8B8A8 color format is losing quality , we need R16G16B16A16 above support
Hello,
My I'm working with software development used for Japanese television broadcast.
Currently, I'm developing an AR application for broadcast using Unity, and I'm using the AVProDecklink asset for my project.
After several testing, I have found out that the image that is rendered within Unity and linked to final device through the output stream is currently delayed
by 68 frames, however in the broadcast business, this delay needs to be restrained to 34 frames delay.
I have also tried using the "low latency output" option within the asset, but the delay did not change and the image did not stream as smoothly.
Is there any method to improve the delay?
Best regards,
Unity 2018.2.20f1
AVpro DeckLink ver. 1.6.3
DeckLink 4Kpro
Desktop Video 10.11.4
HP z440
Xeon E5-1650v4
32GB
GeForceRTX2070
Describe the bug
Y-hello, I'm integrating AVProDecklink(trial version for now) and KlakNDI plugin by Keijiro. For some unknown reason when the NDI audio is playing and the DecklinkInput is not on mute, the buffers seems to collide. I'm trying to wrap my head around but no luck.
Your Setup (please complete the following information):
To Reproduce
Steps to reproduce the behavior:
Videos
Video/Audio of the issue
https://vimeo.com/567093639
NullReferenceException: Object reference not set to an instance of an object
RenderHeads.Media.AVProDeckLink.DeckLinkOutput.InitCaptureBlendResources (System.Int32 width, System.Int32 height) (at Assets/AVProDeckLink/Scripts/Components/DeckLinkOutput.cs:309)
RenderHeads.Media.AVProDeckLink.DeckLinkOutput.BeginDevice () (at Assets/AVProDeckLink/Scripts/Components/DeckLinkOutput.cs:757)
RenderHeads.Media.AVProDeckLink.DeckLink.Begin (System.Boolean search) (at Assets/AVProDeckLink/Scripts/Internal/DeckLink.cs:523)
RenderHeads.Media.AVProDeckLink.Demos.OutputDemo.OnGUI () (at Assets/AVProDeckLink/Demos/Scripts/OutputDemo.cs:128)
Describe the bug
The image quality of the video through the plugin is fuzzy compared to other programs (OBS, TouchDesigner, Resolume, and even Keijiro's Unity plugin).
Your Setup (please complete the following information):
To Reproduce
Steps to reproduce the behavior:
Screenshots
You can see here the quality difference between Keijiro's plugin and the avPro plugin. Look at the rivets on the case and you can see the detail is lost. These are compared in the same project with the same settings and hardware, just the capture plugin enabled/disabled. It feels subtle at first, but this difference has meant a lot of extra work for my team, and a loss of clients.
Hello!
Our Team is currently using A Decklink Duo 2 card to test with but we are unable to get it working properly.
Is the plugin compatible with the Decklink Duo 2 and is there anything special that must be completed for it to work properly?
Testing with Unity 2019.6 and Windows 10.
thanks.
Is your feature request related to a problem? Please describe.
Media out of sync when using two input streams
Describe the solution you'd like
An explicit feature to keep two signals in sync
In unity editor, if I re-focus your sample , streamming video does not work.
Hi there,
trying out the trial version of the plugin, when mipmaps is enabled on the created render texture, the input image is not coming thorught.
Setup
To Reproduce
Steps to reproduce the behavior:
0. Setup a scene with a DecklinkInput and ApplyToMaterial prefab;
On a second note not related to the issue; To display 4 concurrent input, is the right procedure to create 4 instances of DeckLinkInput(each with its own index) and 4 ApplyToMaterial?
Thanks
It seems that I'm not getting the timecode on my output. In the "Deck Link Input" I can see the timecode getting in. But on the output there is not time code. Even if I'm connecting the output to a Hyperdeck, the timecode is always zero.
I did see that there is a setting called "Enable Time Code Capture" and I have enabled it on both the Input & the Output but still no luck. Is there additional steps I need to take to keep my timecode?
I'm using Black Magic Dou 2 using avpro decklink in Unity. Everything is ok with HD output until I use PAL 8bit. I need exactly this PAL 8bit for broadcast system of my TV channel which is SD not HD.
Output has vertical invisible lines which makes output noisy and details of the scene become unclear. Have you any suggest for me?
Unity packaged project, SDI INPUT/output GPU occupancy rate of 100.
Can this problem be solved?How do I do that?
Issue brought in from Keeping (#RvNmcyBYF4)
...issues with the FPS of a camera we are reading in through our Decklink Intensity Pro 4k card. We can see in system settings that the signal is being received at 59.94 FPS at 1080i but when bringing the signal into Unity it drops to 30 fps.
...it's giving our graphics a very choppy appearance...
Is there some sort of limitation or setting we should check to get this working at 59.94 fps?
So far I've tried using the force frame rate option as well as opening the signal through the device explorer menu but the signal seems to stay capped at 30 fps.
I found in avpro decklink 1.7.4. Demo 07 can not show both input and ouput. It can only show one separately.
What should I do to fix it?
Using the Input demo on Decklink plugin (trail version) an error pop once I played the demo. Below is the error msg. I have not changed any settings from default. My camera input is through a blackmagic capture card (Verified that the card is working properly). Camera is a Blackmagic 4K SDI out and settings are 1080i 60f.
Just a little BG on what I'm trying to accomplish. Need to import three different video sources into Unity from a production truck.
[AVProDeckLink] Desired format not found - the resolution or pixel format may not be supported
Can you point me in the right direction to start on the problem?
When capturing input for real time AR it would be helpful to know the latency for each frame sent from the camera to help better determine where the Camera was when the frame was captured. Currently there is a time code option for deck link inputs (for some reason this always returns 0 for us and seems to be about frame number rather than actual timecode) but no latency variable. Currently we have just been using a semi-arbitrary number of ms that we assume is the delay and are getting passable but low quality results since latency vary slightly frame by frame (restarting the game or PC changes the latency drastically). We have using a frame buffer for a smoother video streaming but it seems to have little effect making latency appear more consistent.
We hope a general solution can be added since we use a variety of cameras, but we do have a few Blackmagic cameras if this kind of feature can't be supported any other way.
The GenLock offset is always overwrite to zero in player mode.
This problem doesn't occur in editor mode.
Step to reproduce:
Environments:
Unity 2019.4.6
DeckLink 8K Pro
DeckLink 11.5.1
AVPro DeckLink 1.7.6
I hope a option to not change the genlock offset.
Is your feature request related to a problem? Please describe.
I need to do a 180 capture and send it with audio in realtime using SDI or NDI.
Describe the solution you'd like
Be able to set the capture output to an SDI output using AVPro DeckLink would be perfect.
Describe alternatives you've considered
I've successfully sent the capture using NDI (KlakNDI), using the _finalTarget RenderTexture on CaptureFromCamera360.cs, but this plugin don't manage audio through NDI.
I wanted to analyze the audio input from SDI, but the audio input from the InputAudioSource could not get the audio data.
How do I analyze the audio input from SDI?
Currently only 1 camera is rendered, but it can be useful to have separate cameras layered together (eg for UI) so we should add support for this.
When using multiple decklink input, the first input feed will work properly on start, but when second one is being turn on via script .Begin(). The input feed for first one will have a green bar on top.
When I try to to turn off the first and turn it back on the feed will work properly again, but without audio.
Screenshot of issue here:
https://drive.google.com/file/d/1WMsRe-aPL_eOYAJdthz1ppht7LWbF-FI/view?usp=sharing
Is it possible to add timecode to the output?
I wish I could add the SDI input timecode to the output timecode.
In a similar discussion in the past, it was said that it would be supported in the future.
I would like to know if it is currently in progress.
we have use cases for 8, 16 or even 64 audio channels which we can’t pursue without this support. looking at online documentation, it looks like the input audio channels are hard coded to 2. we have tried more than 2 channels and it hasn’t worked, while 2 worked just fine
Describe the bug
A clear and concise description of what the bug is.
In the latest version 1.9.0 I am unable to get an Output feed from a card when Input is running. The previous version of the software with all other settings the same handles this fine.
The issue appears in this code from the current version:
From Decklink.cs
public void Begin(bool search = false)
{
...
if (_device != null)
{
bool valid = IsInput() ? _device.CanInput() : _device.CanOutput();
if (valid) { .. .}
else {
Debug.LogWarning("[AVProDeckLink] Unable to start device " + _device.Name + ", it might be currently busy");
_device = null;
}
...
}
Here _device.CanOutput()
calls into Device.cs
public bool CanOutput()
{
bool result = SupportsOutput && !IsOutputBusy && !IsInputBusy;
/*if (result)
{
if (_fullDuplexSupported)
{
result = !IsStreamingOutput;
}
else
{
result = !IsStreaming;
}
}*/
return result;
}
Here IsInputBusy()
is returning true (thus !true) causing the Output to fail. If I hack the method to return true no matter what it works and I have both Input and Ouput working on the same device/card as in the previous version.
For reference here is the previous version of this code (pre 1.9.0) which works.
public bool CanInput()
{
if (_fullDuplexSupported)
{
return !IsStreamingInput;
}
else
{
return !IsStreaming;
}
}
Your Setup (please complete the following information):
To Reproduce
Steps to reproduce the behavior:
Download latest version, attempt to run InputOutputDemo scene, using Decklink Intensity Pro 4K or Ultrastudio. Check that Input and Output both work.
Logs
[AVProDeckLink] Unable to start device Intensity Pro 4K, it might be currently busy
UnityEngine.Debug:LogWarning (object)
RenderHeads.Media.AVProDeckLink.DeckLink:Begin (bool) (at Assets/AVProDeckLink/Scripts/Internal/DeckLink.cs:565)
RenderHeads.Media.AVProDeckLink.Demos.InputModifyOutputDemo:StartOutput (RenderHeads.Media.AVProDeckLink.DeviceMode) (at Assets/AVProDeckLink/Demos/Scripts/InputModifyOutputDemo.cs:151)
RenderHeads.Media.AVProDeckLink.Demos.InputModifyOutputDemo:OnGUI () (at Assets/AVProDeckLink/Demos/Scripts/InputModifyOutputDemo.cs:364)
Screenshots
If applicable, add screenshots to help explain your problem.
Videos
If applicable, add a copy of your video or the URL
Issue brought over from keeping [#cTtVOv1NgA]
I made two identical cameras in Unity 2019.3.8.One for rendering scenes on PC and one for capturing card output.
The output picture has the problem of frame loss.
Video frame drop, unable to use.
I have recorded a video of the specific situation presented and sent it along with the email attachment.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.