I’m using 2.3.0 d442a8f8 Dev
and I’m presenting serious performance issues while using a Decklink input and HTML templates. Here’s an excerpt of my log:
[2019-10-26 22:16:55.738] [info] Received message from 127.0.0.1: LOADBG 1-2 DECKLINK DEVICE 1 FORMAT 1080i5994\r\n
[2019-10-26 22:16:55.738] [debug] Executing command: LOADBG
[2019-10-26 22:16:55.775] [info] DeckLink Duo 2 [1|1080i5994] Initialized
[2019-10-26 22:16:55.775] [debug] Executed command (0.037s): LOADBG
[2019-10-26 22:16:55.775] [info] Sent message to 127.0.0.1:202 LOADBG OK\r\n
[2019-10-26 22:16:55.779] [info] Received message from 127.0.0.1: LOADBG 1-2 DECKLINK DEVICE 1 FORMAT 1080i5994\r\n
[2019-10-26 22:16:55.779] [debug] Executing command: LOADBG
[2019-10-26 22:16:55.919] [debug] 0 0
[2019-10-26 22:16:55.944] [debug] 1 801
[2019-10-26 22:16:55.944] [warning] DeckLink Duo 2 [1|1080i5994] out-sync changed: -16.6875
[2019-10-26 22:16:55.951] [debug] 2 1602
[2019-10-26 22:16:55.951] [warning] DeckLink Duo 2 [1|1080i5994] out-sync changed: -33.375
[2019-10-26 22:16:55.995] [debug] 3 2402
[2019-10-26 22:16:55.996] [warning] DeckLink Duo 2 [1|1080i5994] out-sync changed: -50.0417
[2019-10-26 22:16:56.043] [debug] 4 3203
[2019-10-26 22:16:56.043] [warning] DeckLink Duo 2 [1|1080i5994] out-sync changed: -66.7292
[2019-10-26 22:16:55.813] [error] Exception: C:\Program Files (x86)\Jenkins\workspace\casparcg-server-dep\master\src\modules\decklink\producer\decklink_producer.cpp(380): Throw in function __cdecl caspar::decklink::decklink_producer::decklink_producer(const struct caspar::core::video_format_desc &,int,const class caspar::spl::shared_ptr<class caspar::core::frame_factory> &,const class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,const class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,const class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > &,bool)
[2019-10-26 22:16:55.813] [error] Dynamic exception type: class boost::exception_detail::clone_impl<struct caspar::caspar_exception>
[2019-10-26 22:16:55.813] [error] [struct boost::errinfo_api_function_ * __ptr64] = EnableVideoInput
[2019-10-26 22:16:55.813] [error] [struct caspar::tag_msg_info * __ptr64] = DeckLink Duo 2 [1|1080i5994] Could not enable video input.
[2019-10-26 22:16:55.813] [error] [struct caspar::tag_stacktrace_info * __ptr64] = 0# 0x00007FF76459919E in casparcg
[2019-10-26 22:16:55.813] [error] 1# 0x00007FF7645C7090 in casparcg
[2019-10-26 22:16:55.813] [error] 2# 0x00007FF7647C7062 in casparcg
[2019-10-26 22:16:55.813] [error] 3# 0x00007FF7647C9CFF in casparcg
[2019-10-26 22:16:55.813] [error] 4# 0x00007FF764600798 in casparcg
[2019-10-26 22:16:55.813] [error] 5# 0x00007FF764668E0E in casparcg
[2019-10-26 22:16:55.813] [error] 6# 0x00007FF764665EB0 in casparcg
[2019-10-26 22:16:55.813] [error] 7# 0x00007FF764593ED9 in casparcg
[2019-10-26 22:16:55.813] [error] 8# beginthreadex in ucrtbase
[2019-10-26 22:16:55.813] [error] 9# BaseThreadInitThunk in KERNEL32
[2019-10-26 22:16:55.813] [error] 10# RtlUserThreadStart in ntdll
[2019-10-26 22:16:55.813] [error]
[2019-10-26 22:16:55.813] [error]
[2019-10-26 22:16:55.813] [error] 0# 0x00007FF76459919E in casparcg
[2019-10-26 22:16:55.813] [error] 1# 0x00007FF764598ACF in casparcg
[2019-10-26 22:16:55.813] [error] 2# 0x00007FF764A74CDB in casparcg
[2019-10-26 22:16:55.813] [error] 3# 0x00007FFB39351030 in VCRUNTIME140
[2019-10-26 22:16:55.813] [error] 4# is_exception_typeof in VCRUNTIME140
[2019-10-26 22:16:55.813] [error] 5# RtlCaptureContext in ntdll
[2019-10-26 22:16:55.813] [error] 6# 0x00007FF764664718 in casparcg
[2019-10-26 22:16:55.813] [error] 7# 0x00007FF764667E2C in casparcg
[2019-10-26 22:16:55.813] [error] 8# 0x00007FF764666EB3 in casparcg
[2019-10-26 22:16:55.813] [error] 9# 0x00007FF76470A6BE in casparcg
[2019-10-26 22:16:55.813] [error] 10# 0x00007FF7646FB3EC in casparcg
[2019-10-26 22:16:55.813] [error] 11# 0x00007FF76474624D in casparcg
[2019-10-26 22:16:55.813] [error] 12# 0x00007FF76474525B in casparcg
[2019-10-26 22:16:55.813] [error] 13# 0x00007FF764600798 in casparcg
[2019-10-26 22:16:55.813] [error] 14# 0x00007FF764668E0E in casparcg
[2019-10-26 22:16:55.813] [error] 15# 0x00007FF764665EB0 in casparcg
[2019-10-26 22:16:55.813] [error] 16# 0x00007FF764593ED9 in casparcg
[2019-10-26 22:16:55.813] [error] 17# beginthreadex in ucrtbase
[2019-10-26 22:16:55.813] [error] 18# BaseThreadInitThunk in KERNEL32
[2019-10-26 22:16:55.813] [error] 19# RtlUserThreadStart in ntdll
[2019-10-26 22:16:55.813] [error]
[2019-10-26 22:16:56.045] [error] Turn on log level debug for stacktrace.
[2019-10-26 22:16:56.047] [info] Sent message to 127.0.0.1:404 LOADBG FAILED\r\n
[2019-10-26 22:16:56.094] [debug] 5 4004
[2019-10-26 22:16:56.094] [warning] DeckLink Duo 2 [1|1080i5994] out-sync changed: -83.4167
[2019-10-26 22:16:56.103] [debug] 6 4805
[2019-10-26 22:16:56.104] [warning] DeckLink Duo 2 [1|1080i5994] out-sync changed: -100.104
[2019-10-26 22:16:56.122] [debug] 7 5605
[2019-10-26 22:16:56.122] [warning] DeckLink Duo 2 [1|1080i5994] out-sync changed: -116.771
[2019-10-26 22:16:56.170] [debug] 8 6406
[2019-10-26 22:16:56.170] [warning] DeckLink Duo 2 [1|1080i5994] out-sync changed: -133.458
[2019-10-26 22:16:56.190] [debug] 9 7207
[2019-10-26 22:16:56.190] [warning] DeckLink Duo 2 [1|1080i5994] out-sync changed: -150.146
[2019-10-26 22:16:56.196] [debug] 10 8008
[2019-10-26 22:16:56.196] [warning] DeckLink Duo 2 [1|1080i5994] out-sync changed: -166.833
[2019-10-26 22:16:56.207] [debug] 11 8809
[2019-10-26 22:16:56.207] [warning] DeckLink Duo 2 [1|1080i5994] out-sync changed: -183.521
[2019-10-26 22:16:56.248] [debug] 12 9610
[2019-10-26 22:16:56.248] [warning] DeckLink Duo 2 [1|1080i5994] out-sync changed: -200.208
[2019-10-26 22:16:56.271] [debug] 13 10410
[2019-10-26 22:16:56.272] [warning] DeckLink Duo 2 [1|1080i5994] out-sync changed: -216.875
[2019-10-26 22:16:56.277] [debug] 14 11211
[2019-10-26 22:16:56.277] [warning] DeckLink Duo 2 [1|1080i5994] out-sync changed: -233.562
[2019-10-26 22:16:56.286] [debug] 15 12012
[2019-10-26 22:16:56.287] [warning] DeckLink Duo 2 [1|1080i5994] out-sync changed: -250.25
For the sake of completion, this is my config file:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<log-level>debug</log-level>
<paths>
<media-path>..\CasparCGMedia\media</media-path>
<log-path>..\CasparCGMedia\log</log-path>
<data-path>..\CasparCGMedia\data</data-path>
<template-path>..\CasparCGMedia\template</template-path>
</paths>
<channels>
<channel>
<video-mode>1080i5994</video-mode>
<consumers>
<screen>
<device>1</device>
<aspect-ratio>16:9</aspect-ratio>
<stretch>uniform</stretch>
<windowed>true</windowed>
<key-only>false</key-only>
<vsync>false</vsync>
<borderless>true</borderless>
<interactive>true</interactive>
<always-on-top>false</always-on-top>
<x>0</x>
<y>0</y>
<width>512</width>
<height>288</height>
<sbs-key>false</sbs-key>
<colour-space>RGB</colour-space>
</screen>
<decklink>
<device>4</device>
<key-device>2</key-device>
<embedded-audio>true</embedded-audio>
<latency>normal</latency>
<keyer>external</keyer>
<key-only>false</key-only>
<buffer-depth>5</buffer-depth>
</decklink>
<ndi>
<name>Transmision-Aire</name>
<allow-fields>false</allow-fields>
</ndi>
</consumers>
</channel>
<channel>
<video-mode>1080i5994</video-mode>
<consumers>
<decklink>
<device>3</device>
<key-device>2</key-device>
<embedded-audio>true</embedded-audio>
<latency>normal</latency>
<keyer>external</keyer>
<key-only>false</key-only>
<buffer-depth>3</buffer-depth>
</decklink>
</consumers>
</channel>
<channel>
<video-mode>1080i5994</video-mode>
<consumers>
<decklink>
<device>2</device>
<key-device>2</key-device>
<embedded-audio>true</embedded-audio>
<latency>normal</latency>
<keyer>external</keyer>
<key-only>false</key-only>
<buffer-depth>3</buffer-depth>
</decklink>
</consumers>
</channel>
</channels>
<controllers>
<tcp>
<port>5250</port>
<protocol>AMCP</protocol>
</tcp>
</controllers>
<amcp>
<media-server>
<host>localhost</host>
<port>8000</port>
</media-server>
</amcp>
<flash>
<buffer-depth>auto</buffer-depth>
</flash>
<html>
<remote-debugging-port>7250</remote-debugging-port>
<enable-gpu>true</enable-gpu>
</html>
<ndi>
<auto-load>false</auto-load>
</ndi>
<osc>
<default-port>6250</default-port>
<disable-send-to-amcp-clients>false</disable-send-to-amcp-clients>
<predefined-clients/>
</osc>
<audio>
<mix-configs>
<mix-config>
<from>5.1</from>
<to>2.0</to>
<mix>average</mix>
<mappings>
<mapping>L L 1.0</mapping>
<mapping>R R 1.0</mapping>
<mapping>C L 0.707</mapping>
<mapping>C R 0.707</mapping>
<mapping>Ls L 0.707</mapping>
<mapping>Rs R 0.707</mapping>
</mappings>
</mix-config>
</mix-configs>
</audio>
</configuration>
To reproduce my issue:
- Play a Decklink input on Channel 1
- Overlay 2 HTML producers (bug logo and lower third) to Channel 1
- Route Channel 1 to Channels 2 and 3
Symptoms of this issue are inconsistent. Sometimes HTML animation playing is laggy, some other times output video stutters every once in a while. CPU usage rises significantly while Decklink is playing.