Skip to content

Decklink output only works "properly" on NV12/i420 with 601. All other have artefacts or 90%+ encoding lag #2398

@qun-media

Description

@qun-media

This is about the Decklink output in OBS, not related to streaming, although I did notice some similar behaviour recording videos.

Expected Behavior

Decklink outputs the "correct" colour format/colour space and colour range that's selected in the advanced tab of the settings.
Using XSplit or vMix, you get a "clean" 4:2:2 signal in 601 (XSplit) or 709 (vMix).

Current Behavior

When using anything else than NV12 or i420 with 601 colour space, there are artefacts in the output. There's something like a pixel shift happening on the right part of the image. It makes text very blurry.
If you select NV12/i420/i444 with 709 or RGB in general. About 90% of the encoded frames are dropped. My CPU nor GPU is significantly going up in usage.

To confirm OBS ignores the 709 part, I selected i444 with 709 and the other PC confirmed that it's somehow a 709 matrix over a 601 source.

My Decklink card doesn't support keying, only 1 SDI output, but I was recommended by der_rod on Twitter to force "keyer" to 3 in the appdata config.
This gave me a very clean 4:4:4 output on 709, but it dropped so many frames that it's not usable.
I wouldn't be able to use it anyway since my Decklink card in the stream PC doesn't support 4:4:4 above 1080p30.

I've included screenshots in the Google Drive link and gave them a name. Make sure you check the images on 100% of the size (it's a screenshot of a 1440p monitor).
Also included are 2 screenshots, 1 of vMix and 1 of XSplit.
The 00 screenshot is the encoding lag and I included a log of that session.

Screenshots: https://drive.google.com/drive/folders/1lSy79ohUh91EZmSq9_dAF61ubhHmGDgE?usp=sharing
Log file: https://obsproject.com/logs/T1oGCXsk7IJHla-b

Steps to Reproduce

  1. Change output from NV12 601 to NV12 709
  2. Start Decklink output
  3. Watch encoding lag go up to 90%
  4. Doesn't happen with NV12/i420/i444 on 601, but happens on all formats in combination with 709
  5. Even when 709 is selected, it gets ignored by the output and outputs a 601 signal anyway (other than RGB where it's the other way around).

I reproduced this in Ubuntu too to make sure it wasn't Windows related. I tried it on both PCs since both of my PCs have a Decklink output card and all of them have similar issues.

Additional information

PC 1 has Decklink 4K Mini Monitor, i9-7900X and RTX 2080
PC 2 has Decklink SDI Micro (m.2 card), i7-6950X and GTX 1050

I wrote this at 8am after pulling an all-nighter, so might have made some mistakes. But I'm happy to provide more details and testing if someone reaches out to me. I'm in the OBS Discord under Qun#0001

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions