CasparCG / server

CasparCG Server is a Windows and Linux software used to play out professional graphics, audio and video to multiple outputs. It has been in 24/7 broadcast production since 2006. Ready-to-use downloads are available under the Releases tab https://casparcg.com.
GNU General Public License v3.0
913 stars 268 forks source link

No audio passtrough with internal keying on DeckLink 4K extreme 6G #370

Closed MrPatol closed 7 years ago

MrPatol commented 9 years ago

Related to this post http://casparcg.com/forum/viewtopic.php?f=12&t=3301&p=22630#p22630 when server (windows) has just started, CCG do not enable SDI embedded audio passtrough using internal keying. Work around is to open once BM Media Express to enable it also on CCG.

Thank You Lorenzo

hummelstrand commented 9 years ago

Thanks for reporting! Are you still seeing this problem?

jesperstarkar commented 9 years ago

I just recreated and verified this one. Exactly the same results.

HellGore commented 9 years ago

I have been in contact with Blackmagic and they are aware of this not working with 4K Extreme 6G. They said that they might fix this, but didn't promise anything.

MrPatol commented 9 years ago

I suppose that it can be managed/fixed via software as it BM Media Express does ?

Would be possible to ask BM how they manage the BM card audio init in Media Expess and translate in CCG ?

HellGore commented 9 years ago

I don't know how to get it working in media express, can you explain?

jesperstarkar commented 9 years ago

Just open media express once, and that flips a switch in the card which allows passthrough. I would think it is a matter of sending a similar command from Caspar, and I can´t really see this as a bug isolated to the single card model mentioned.

HellGore commented 9 years ago

When I have been reproducing this issue I have never been completely without audio, it has just been distorted. The audio still gets distorted after opening and closing Media Express for me. Furthermore the foreground audio (sound from CasparCG) does not get mixed with background audio (from SDI input), but I am not sure if that is expected when doing internal keying.

jesperstarkar commented 9 years ago

1) I have never had it distorted, just muted. And i monitored it with meters on all 16 channels. 2) CasparCG output switches on once the input signal on the decklink gets disconnected. Once you connect again it is muted on the output again. No need to change or do anything, it just gets overridden by the input if present.

HellGore commented 9 years ago

Reply from Blackmagic:

Hi Helge,

Thanks for your report, your description matches existing reports of audio distortion when keying in HD modes with the DeckLink 4K Extreme.

If you are not keying in HD please let me know as that would be a distinct issue.

Is audio from both the background input and overlayed foreground supposed to be mixed internally on the output card or is only one of the audio streams supposed to be sent on the output?

This was a useful feature present on the non-4K cards which is currently absent from the 4K product line. There is an existing feature request to add this to the 4K series but no current timeline exists for when this feature will be available.

If you like I can provide a beta when one is available with this feature - please let me know.

If I don't call IDecklinkOutput->EnableAudioOutput() I get no sound from the input, but if I do enable the audio output I only get sound from the background (distorted) but no sound from the foreground (although I schedule audio samples as usual and get the audio callback continuously). If I start MediaExpress before starting CasparCG I sometimes get less distorted sound from the background input, but still no sound from the foreground samples I schedule. Always when I exit CasparCG I get audio pops after the process has exited (feels like garbage data in some sample buffer still being played from).

These points are a combination of the above two issues. Audio distortion when keying in HD modes + Keyer audio not mixed with input.

When a correction for the HD keying issue with the 4K Extreme is available I will provide a beta for you to verify in your environment.

Also a question about the Decklink Quad 2 that you have announced: Will it have any external keying possiblity? Would be really nice to allocate two outputs as one device with separate key/fill

I have been advised that External key/fill support is on the roadmap for the DeckLink Quad 2.

Cheers,

-nick

MrPatol commented 9 years ago

I can fully confirm what jesperstarkar said. Audio is muted on output until Media Express has been started once to trigger audio passtrough.

jesperstarkar commented 9 years ago

@HellGore, are you testing this on 2.1? Because I guess all other reports come from 2.0.7, which can explain why we have muted output and you have distorted?

HellGore commented 9 years ago

I have the same problem on both 2.0 and 2.1. Anyway Blackmagic's reply confirms that this is something that should not currently work on the 4K line of cards, which leads me to believe that if it for some reason works it is more about luck than reproduceable circumstances.

jesperstarkar commented 9 years ago

@HellGore I guess this is not a priority problem for SVT, but it would be nice if you sent a link to this thread to BMD, so they can see that multiple users actually have perfect passthrough sound once activated with media express. Thank you.

HellGore commented 9 years ago

I have notified them.

HellGore commented 9 years ago

Reply from Blackmagic:

I've read through the forum posts and background and I think it is possible there is some confusion between three different features / issues:

  1. There is currently an issue resulting in distorted audio when keying in HD modes on the DeckLink 4K Extreme & 4K Extreme 12G.

This has been reconfirmed, along with an additional test to try to ascertain if MediaExpress has any impact on the result [1]. No difference was observed with the keyer audio distortion if MediaExpress was started first.

Note that audio will be output by the keyer whether EnableAudioOutput is called or not. In no tested configuration was I able to get silent (muted) keyer audio output - perhaps this is specific to the equipment used to monitor the output?

This is a bug which is actively being corrected.

  1. On capture (not Keying) the behaviour of the output loopthrough is different depending on the configuration of the following configuration parameter:

bmdDeckLinkConfigCapturePassThroughMode, BMDDeckLinkCapturePassthroughMode [2]

When the capture pass through mode is set to bmdDeckLinkCapturePassthroughModeCleanSwitch (default), audio will only be present on the output if the application captures audio (i.e. calls EnableAudioInput). When the capture pass through mode is set to bmdDeckLinkCapturePassthroughModeDirect, audio will be present on the output, whether the application calls EnableAudioInput or not.

The behaviour of the default case can be observed by providing an input signal with audio to the card, and then monitoring the output while running the SDK CapturePreview sample. The CapturePreview sample does not call EnableAudioInput, so no audio is mirrored on the output (when bmdDeckLinkConfigCapturePassThroughMode is set to the default bmdDeckLinkCapturePassthroughModeCleanSwitch).

I did not find references to bmdDeckLinkConfigCapturePassThroughMode in CasparCG, and MediaExpress does not set this parameter, so I presume in both cases it is set to default. This parameter is not available from the Desktop Video Utility.

As above, the behaviour of an SDK application should not be different whether MediaExpress is run first or not.

  1. The 4K product line does not mix audio provided by a keying operation with input audio.

I am not terribly familiar with CasperCG, however it appears to support keyer audio in decklink_consumer.cpp. This feature is not present on 4K devices. Support for this feature on the 4K product line is planed but there is currently no timetable for when this it may be available.

I do note one interesting point, It does not appear that CasparCG supports Automatic Mode Detection (decklink_producer.cpp) [3].

Note that video input with the 4K cards must be started in the appropriate video mode and pixel format. This is particularly difficult with HDMI inputs as the video mode and pixel format are negotiated between the devices. Automatic Mode Detection would allow the application to switch to the provide input video mode and pixel format.

One final note, the DeckLink 4K Extreme does not support keying of RGB inputs, only YUV video input is supported by the Keyer.

Hopefully this can help provide some clarify to the issues being discussed.

Cheers,

-nick

[1] I tested with Desktop Video 10.5 and starting MediaExpress first appeared to have no impact on the audio distortion at the output.

Source: Windows 7 x64 SP1 DeckLink SDI Desktop Video 10.5 SDK SignalGenerator sample Dropout, 1080p24, YUV

SDI out to Keyer

Keyer: Windows 7 x64 SP1 DeckLink 4K Extreme Desktop Video 10.5 SDK GDIKeyer sample

SDI out to Monitor

Whether MediaExpress was started or not, the audio output from the keyer was distorted. This is the issue addressed by the existing ticket.

[2] 2.7.27 Capture Pass Through Mode

[3] 2.4.6 Automatic Mode Detection


Blackmagic Developer Support

premultiply commented 8 years ago

I did a test with current Driver Version 10.6.6 on Decklink 4K Extreme today and can still reproduce this issue.

jesperstarkar commented 7 years ago

GOOD news guys! I just did this test again with Decklink drivers 10.8.3, and the audio passthrough worked in 1080i5000!

Can anyone please do the same test and confirm?

This is awesome news if you want to have CasparCG as a DSK without DVE on the live source, just doing overlays. I see a lot of useful applications for this.

HellGore commented 7 years ago

Yes, sorry I forgot to post it here but Blackmagic has mailed me about having fixed this in the 10.8.2 driver so it is not a fluke thing, they have explicitly fixed that issue (just not part of their release notes, only the usual "General performance and stability improvements for all models").

jesperstarkar commented 7 years ago

It's perfect anyways! This sure made my day, I can see so many new applications of CasparCG with this.

premultiply commented 7 years ago

Oh yes, its much better than ever before with all other cards: The audio is mixed with input and embedded to output now. No driver or card did this before.

But what I have to check is what happens to Dolby E or AC3 if present in input channels and what happens to the audio/video sync because deembedding, mixing and reembedding takes time.

jesperstarkar commented 7 years ago

Audio output from CasparCG gets mixed with the passthrough audio? WOW!

premultiply commented 7 years ago

This also works with system audio (flash or html templates) redirected to "Blackmagic Audio" by Windows.

jesperstarkar commented 7 years ago

Brilliant. Now I just need to check if Duo2/Quad2 supports internal keying in "paired" mode. I think it does, but can't check until next week.

HellGore commented 7 years ago

Another interesting thing is what happens if your PSU or motherboard fails, does the input SDI get electrically failed over to the output?

jesperstarkar commented 7 years ago

As far as I know only the old Quad has mechanical failover relay switches.

HellGore commented 7 years ago

Not even 4K Extreme?

jesperstarkar commented 7 years ago

I can't say for sure, but I have only seen the relays on the Quad (white bricks next to the SDI-driver on the board), and that board has a mechanical "click" sound once the channels gets activated the first time after firing the system (a cool way of assessing the difference in timing between initiating multiple channels in CasparCG...)

HellGore commented 7 years ago

Ahh cool, I never realized that click sound was the passthru relays.

premultiply commented 7 years ago

Ok, Dolby passthrough is fine but AES channel status bit is always set to PCM mode. Make shure that CasparCG or any other source can not play audio to channels with Dolby on SDI input as it would destroy it.

A/V Delay is < 1 ms (~20 lines at HD 1080i50)

jesperstarkar commented 7 years ago

Good job investigating.

What do you mean by the delay? Offset between audio and video or throughput latency through the decklink?

premultiply commented 7 years ago

Offset between audio and video caused by the deembedding, mixing and (re)embedding of audio. Because of that, audio at the output of the card is delayed a small amount in relation to the video compared to the av-sync at the input. But every device with similar functionality has this "issue".

jesperstarkar commented 7 years ago

Good to know. Thank you.

premultiply commented 7 years ago

I think this issue can be closed now. :-)

HellGore commented 7 years ago

yes

walterav1984 commented 6 years ago

@jesperstarkar commented on Nov 28, 2016 "Brilliant. Now I just need to check if Duo2/Quad2 supports internal keying in "paired" mode. I think it does, but can't check until next week."

Are you able to confirm audio mixing from SDI in (audio and video) with internal keyer (audio and video feed by CasparCG) on the Decklink DUO2 in Windows/Linux? This audio mixer works for me only on the Decklink 4K SDI, however in this thread it is contradicted by BMD support that the 4K models do not have this support, although its working fine. Except the DUO2 which does only pass-through audio from SDI in, and not mix with the muted audio from the CasparCG keyer feed.

Testing was done with both 10.9 and 10.9.7 Desktop video Drivers on Ubuntu Linux 16.04 amd64 4.4-104 & 4.10-42 kernel using PAL mode using both the 1st and 2nd set of input/outputs on the DUO2.