Giter VIP home page Giter VIP logo

server's People

Contributors

jaskie avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

server's Issues

Interlaced scaling is broken

When scaling interlaced content just one field is used for deinterlacing leading to very poor resolution on static picture parts (fonts, edges etc.) while upscaling SD content for example.

SVT builds are using proper adaptive field/frame deinterlacing.

Server version 7.0 crashes with DNxHD media file

Server crashes immediately when DNxHD (VC-3) is loaded. Console window just vanishes and a unhandled exception message is logged.

Log:

192.168.4.103: play 1-1 test/pal_dnxhd_mxf\r\n
[2019-02-12 12:45:49.604] [05DD5E38] [warning] [ffmpeg] [dnxhd @ 0B748880] frame size changed: 1920x1088 -> 1920x1080
[2019-02-12 12:45:49.635] [05DD5E38] [info]    Initialized ffmpeg tbb context.
[2019-02-12 12:45:49.636] [05DD5E38] [trace]   Codec: VC3/DNxHD
[2019-02-12 12:45:49.639] [05DD5E38] [debug]   [audio-decoder] PCM signed 16-bit little-endian Selected channel layout DOLBYE
[2019-02-12 12:45:49.641] [09264EA8] [trace]   ffmpeg_input[d:\media.dir\\test\pal_dnxhd_mxf.mxf)] Seeking: 0 ms
[2019-02-12 12:45:49.658] [091C1628] [fatal]   #######################
 UNHANDLED EXCEPTION: 
Adress:6852A0B8
Code:3221225477
Flag:0
Info:11D106CC
Continuing execution. 
#######################

Tested with MOV and MXF OP-1 containers and 36Mb and 120Mb variants (created with ffmpeg)
All other codecs I have tested seem to work fine.

Previous versions as well as CCG 2.07, 2.1 and 2.2 play this codec without problems, but I have experienced this (or similar and possibly related) problem in 6.2C, when the server crashed with the same exception after several days of playlist (LOADBG/AUTO) playback of DNxHD MXFs.

I have tested this on following configurations (all Windows 10 PRO based with the latest nVidia and Decklink drivers):

  • Older i7 2600 desktop with 16GB RAM, nVidia Quadro P2000, Decklink Studio 2
  • Dual Xeon E5-2643, 16GB RAM, GeForce GTX 770, Decklink Duo 2
  • Xeon E5620, Quadro 2000, Decklink Duo 1

AMCP - CINF and CLS report bad frame count

Hi Jerzy. Funny issue:

version
201 VERSION OK
2.0.7.e9fc25a Stable
CINF amb
200 CINF OK
"AMB"  MOVIE  6445960 20151103072018 268 1/25

VERSION
201 VERSION OK
2.0.6.TVP 8.1
CINF AMB
200 CINF OK
"AMB"  MOVIE  6445960 20151103072018 268000000 25/1

LOOP does not work properly in 7.3b

When PLAY 1-1 somefile LOOP is called, the file plays only twice and then stops instead playing in an infinite loop. This is a new issue introduced after fixing #5 .

Tested with many files including the multichannel audio test files I've provided and the old SVT's go1080p50 demo clip.

Layer info command reports this after playback is stopped and numbers do not change:

<layer>
   <status>playing</status>
   <auto_delta>-1</auto_delta>
   <frame-number>710</frame-number>
   <nb_frames>4294967295</nb_frames>
   <frames-left>4294966586</frames-left>
   <frame-age>121</frame-age>
   <foreground>
      <producer>
         <type>ffmpeg-producer</type>
         <filename>c:\playout\media.dir\16ch.mxf</filename>
         <file-width>1920</file-width>
         <file-height>1080</file-height>
         <file-fps>25</file-fps>
         <file-progressive>false</file-progressive>
         <fps>25</fps>
         <loop>true</loop>
         <nb-frames>4294967295</nb-frames>
         <frame-number>354</frame-number>
      </producer>
   </foreground>
   <background>
      <producer>
         <type>empty-producer</type>
      </producer>
   </background>
   <index>1</index>
</layer>

Cannot change audio_stream_id and video_stream_id

I couldn't succeed in running the following command in casparcg
ADD 1 STREAM "udp://127.0.0.1:9250?pkt_size=1316" -vcodec libx264 -tune zerolatency -preset ultrafast -crf 25 -format mpegts -vf scale=302:168 -audio_stream_id 301 -video_stream_id 310

Is the above correct?
The output of ffprobe shows the stream as running with pid 256 (0x100) and 257 (0x101)

Thanks in advance.

16 channel audio

Hello .. Good night!

First I want to thank you for the great work you have done!

I would like to work with 16 audio channels, what would be the valid configuration for that?

I've tried using passthrue

Below is my configuration:

<configuration> <log-level>debug</log-level> <paths> <media-path>media\</media-path> <log-path>log\</log-path> <data-path>data\</data-path> <template-path>templates\</template-path> <thumbnails-path>thumbnails\</thumbnails-path> </paths> <thumbnails> <generate-thumbnails>false</generate-thumbnails> <width>1024</width> <height>576</height> <video-grid>2</video-grid> <scan-interval-millis>5000</scan-interval-millis> <generate-delay-millis>2000</generate-delay-millis> <video-mode>720p2500</video-mode> </thumbnails> <channels> <channel> <video-mode>1080i5994</video-mode> <channel-layout>passthru</channel-layout> <consumers> <decklink> <device>1</device> <embedded-audio>true</embedded-audio> <channel-layout>passthru</channel-layout> <keyer>default</keyer> <latency>normal</latency> <buffer-depth>4</buffer-depth> </decklink> <ndi> <name>PGM-UDI</name> <blocking>true</blocking> </ndi> </consumers> </channel> <channel> <video-mode>1080i5994</video-mode> <channel-layout>passthru</channel-layout> <consumers> <decklink> <device>2</device> <embedded-audio>true</embedded-audio> <channel-layout>passthru</channel-layout> <keyer>default</keyer> <latency>normal</latency> <buffer-depth>4</buffer-depth> </decklink> <ndi> <name>PGM-ITU</name> <blocking>true</blocking> </ndi> </consumers> </channel> <channel> <video-mode>1080i5994</video-mode> <channel-layout>passthru</channel-layout> <consumers> <decklink> <device>3</device> <embedded-audio>true</embedded-audio> <channel-layout>passthru</channel-layout> <keyer>default</keyer> <latency>normal</latency> <buffer-depth>4</buffer-depth> </decklink> <ndi> <name>PVW</name> <blocking>true</blocking> </ndi> </consumers> </channel> </channels> <controllers> <tcp> <port>5250</port> <protocol>AMCP</protocol> </tcp> </controllers> <osc> <default-port>6250</default-port> </osc> </configuration>

Thank you.

MPEGTS CBR

Hi,

Hope you are doing well and keeping safe.

I just checked on wiki page to create MPEGTS from casparcg which working perfectly fine ,

Now is it possible for you to giude me how I can generate same MPEGTS using ffmpeg with Decklink SDI.

here is my command but not getting CBR stream
ffmpeg -hide_banner -loglevel info -threads 1 -f decklink -fflags +genpts -i 48:00000000:00300a00 -vcodec libx264 -profile:v main -preset veryfast -pix_fmt yuv420p -s 720x576 -r 25 -g 50 -keyint_min 12 -bf 3 -b_strategy 1 -crf 17 -b:v 4500k -minrate 4500k -maxrate 4500k -bufsize 1M -threads 16 -acodec aac -ar 48000 -b:a 128k -f mpegts -muxrate 5000k -flags cgop+ilme -sc_threshold 1000000000 udp://239.0.100.1:3000?pkt_size=1316

Regards,

Fahad

Growing files and LOADBG / AUTO

In older versions, it was possible to use LOADBG AUTO with growing files (for example during ingest or transfer to the playout storage).
Since ~7.3 it is no longer possible.

You can simulate growing MXF file using following command:

ffmpeg -y -re -f lavfi -i "testsrc=duration=60:size=1920x1080" -pix_fmt yuv422p -c:v dnxhd -b:v 36M -an media.dir/growing.mxf

and then execute the following AMCP commands:

PLAY 1-1 growing
LOADBG 1-1 #cccccc AUTO

With 7.0a, the growing file plays to the end (although started during its creation) and then the server correctly switches to the color producer.
In later versions (tested 7.3a - I do not have any builds in between), Caspar switches to the color producer right after LOADBG command is executed.

I believe it has again something to do with duration reporting - 7.0a does not give you duration information of the growing file's duration until it's finished (which is expected).

Flash templates not working

Hi, I'm using the latest release of your CasparCG Server fork for TVPlay. I'm trying to play the crawls, and when TVPlay sends the command to the CasparCG instance, it returns a "flash call failed" error. Adding the template folder to the allowed list (using FlashCfgWriter: https://github.com/didikunz/FlashEOL/files/5696433/FlashCfgWriter.zip) does not work, even though the 2.0.7.1 Flash EOL Hotfix release (and some others) allow the problem to be solved, and so I've been forced to use versions that do not have some of the features of your fork. I have looked to your code and found that the flash_producer.cpp file (https://github.com/jaskie/Server/blob/master/modules/flash/producer/flash_producer.cpp) has not been changed to change file directories to URL's so that they can be supported by the allowed list. Please change it and make a new release so that Flash templates will work without having to change to a different version that supports them. Thanks!
This might be useful: CasparCG#1352
Here is the commit with changes to the flash_producter_cpp file that made it possible for me to run flash templates on the 2.0.7.1 build: CasparCG@f4879b8

Deinterlacing and upscaling - very poor quality

I noticed a problem while using CasparCG fork (v2.0.6.TVP 8.6a) provided with TVPlay. This problem does not occur with latest CasparCG release (v2.3.3 LTS Stable).

Channel video mode: 1080p50
Media format: PAL SD (576i50)

I am attaching an example PAL SD material with text and horizontal lines (exported from Davinci Resolve), which perfectly shows the essence of the problem.

deinterlacing-test.mp4

Below are various configurations and three close-ups.

  1. Sample file played in video players (VLC, Windows Media Player, Movies & TV). This shows that the sample file is fine. The "deinterlacing and scaling" result is correct. Even in the above embedded GitHub player it is correct.

1 fragment

  1. Sample file played in TVPlay with CasparCG v2.3.3 LTS Stable. The result is also correct. Of course, the result is slightly different due to different deinterlacing methods (as we know, it cannot be done perfectly).

2 fragment

  1. Sample file played in TVPlay with CasparCG fork (v2.0.6.TVP 8.6a). The result is just bad! Very bad! When playing color video materials, the problem also occurs of course, all high-contrast transitions look very bad.

3 fragment

Interestingly, when the channel video mode is set to 1080i50, the problem does not occur. And I'm surprised that the more difficult conversion (576i50 -> 1080i50) is performed correctly by CasparCG TVP's fork, while the easier conversion (576i50 -> 1080p50, easier because no interlaced output) causes terrible artifacts. These artifacts only occur when using the TVP fork, latest official version of CasparCG does everything correctly.

Noise audio

Hello .. Good night!

First I want to thank you for the great work you have done!
I found a problem that seems to have been found and solved at the fork of NKR or in the last official summers of CasparCG, when playing certain clips, I hear small noises as if they were crackling in the audio, this causes me a big problem to put this server into production .
Under the same conditions when using fork v2.1.11_NRK or the official version, this problem does not happen (same media, same hardware).

The noise presented is like the one reported on that link.
I have not tested changing the BMD drive version for the fact that it worked well on the other server versions.

Do you have any tips on what could be happening? What firmware version do you use on BMD cards in your production?

Here I am using Decklink Duo 2 (driver 11.5.1), Windows 10 Pro.

Absolute position and duration in FFMpeg producer INFO

In server versions prior ~7.3, file-frame-number and file-nb-frames values were present in the INFO XML providing information about untrimmed file duration and absolute position within the file.

Would it be possible to bring these back along with current frame-number and nb-frames values? It is useful for seeking in the file currently playing.

QT RLE and QT PNG with transparency in 8.1

In the 8.1 version, I have problems with the playback of several types of video.
I've performed the same test with 7.3b and there were no issues.

I've created four files for testing:

  • qtrle.mov : RLE with no transparency
  • qtrlea.mov : RLE with an alpha channel
  • qtpng.mov : PNG with no transparency
  • qtpnga.mov : PNG with an alpha channel

RLE encoded files don't work at all (with or without alpha channel): we use files like this
(exported with an alpha channel from After effects) for graphic overlays and with previous versions there's never been a problem.

The test files are created using ffmpeg from a PNG sequence, but the result is the same: Info command reports file is loaded, but frame-number and file-frame-number values are unrealistic:

    <nb-frames>250</nb-frames> 
    <frame-number>2147483647</frame-number>
    <file-nb-frames>250</file-nb-frames>
    <file-frame-number>2147483647</file-frame-number>

The diag window shows a layer, but there is no textual information like ffmpeg[filename|1920x1080......]

qtpng.mov (without transparency) works fine, but the same codec with an alpha channel produces weird moire over the transparent area when the last frame is reached and playback stops. When looped, this particular file works as expected.

I also have another file, which I, unfortunately, can't share (ProRes 4444 with alpha) which - set to loop - stops at the last frame, produces the same moire effect and then Caspar starts reporting a lot of "Frame late" and "Frame dropped" warnings. This may however be a problem of the source file because it behaves similarly in 7.3b too (only without the moire effect).

You can find a picture of the problem described (with #cccccc color producer as a background), as well as a screenshot of the diag window and QuickTime files at the following link.

https://drive.google.com/drive/folders/1BzlVcchzezER1_Eq8zD1g7K7lDCpDGLh?usp=sharing

Wrong information in INFO command (FFMpeg producer) and broken LOADBG AUTO in 7.3a

When INFO 1-1 command is executed while the media file is playing, 7.0a correctly returns information about file position and duration.

7.0A

<layer>
   <status>playing</status>
   <auto_delta>-1</auto_delta>
   <frame-number>45</frame-number>
   <nb_frames>1500</nb_frames>
   <frames-left>1456</frames-left>
   <frame-age>123</frame-age>
   <foreground>
      <producer>
         <type>ffmpeg-producer</type>
         <filename>c:\playout\media.dir\pxd.mxf</filename>
         <width>1920</width>
         <height>1080</height>
         <progressive>false</progressive>
         <fps>25</fps>
         <loop>false</loop>
         <nb-frames>1500</nb-frames>
         <file-frame-number>44</file-frame-number>
         <file-nb-frames>1500</file-nb-frames>
      </producer>
   </foreground>
   <background>
      <producer>
         <type>empty-producer</type>
      </producer>
   </background>
   <index>1</index>
</layer>

With the same configuration, media file and scenario, 7.3a does not return information about position and duration and frame-rate information is wrong.

7.3a

<layer>
   <status>playing</status>
   <auto_delta>-1</auto_delta>
   <frame-number>130</frame-number>
   <nb_frames>0</nb_frames>
   <frames-left>-129</frames-left>
   <frame-age>120</frame-age>
   <foreground>
      <producer>
         <type>ffmpeg-producer</type>
         <filename>c:\playout\media.dir\pxd.mxf</filename>
         <width>1920</width>
         <height>1080</height>
         <progressive>false</progressive>
         <fps>1</fps>
         <loop>false</loop>
         <nb-frames>0</nb-frames>
      </producer>
   </foreground>
   <background>
      <producer>
         <type>empty-producer</type>
      </producer>
   </background>
   <index>1</index>
</layer>

Additionally, when LOADBG 1-1 otherfile AUTO is called, otherfile starts playback immediately and does not wait for the foreground clip end. My guess it is related to the fact that Caspar reads the duration of the foreground clip as 0 frames (and frames-left <= 0) and therefore assumes it is time to switch to the background.

Tested with DNxHD and XDCAM HD media files.

Decklink producer fails on Windows 10

With Windows 10 PRO, Decklink producer can be started only once after machine reboot (with lots of access violation errors). After layer clear it is no longer possible to play decklink again. Sometimes even caspar restart does not help and it is necessary to restart the machine.

Windows 7 seems to be unaffected. Tested on two different windows 10 servers with different decklink cards (Duo 1 and Duo 2) and the latest desktop video drivers with the same result.

Tested (and affected) versions are: 6.0, 6.2c and yesterdays 7.0. CCG master as well as 2.07 stable and 2.1 NRK works fine.

First run after machine reboot:

[2019-02-13 14:08:02.480] [0B77F2B8] [info]    Received message from Console: play 1-1 decklink 2\r\n
[2019-02-13 14:08:02.599] [0B95D7B8] [info]    DeckLink Duo 2[decklink_producer] [2|1080i50] successfully initialized.
[2019-02-13 14:08:02.599] [0B95D908] [info]    DeckLink Duo 2[decklink_producer] [2|1080i50] Initialized.
[2019-02-13 14:08:02.620] [0B95D908] [info]    transition[empty=>DeckLink Duo 2[decklink_producer] [2|1080i50]] Initialized.
[2019-02-13 14:08:02.622] [0B95D908] [debug]   Executed command: PlayCommand
[2019-02-13 14:08:02.626] [0B7878B8] [info]    transition[empty=>DeckLink Duo 2[decklink_producer] [2|1080i50]] End Of File.
[2019-02-13 14:08:02.626] [0B7878B8] [trace]   transition[empty=>DeckLink Duo 2[decklink_producer] [2|1080i50]] Uninitializing.
[2019-02-13 14:08:02.627] [0B7878B8] [info]    transition[empty=>DeckLink Duo 2[decklink_producer] [2|1080i50]] Uninitialized.
[2019-02-13 14:08:02.642] [0B95D908] [trace]   Ready for a new command
[2019-02-13 14:08:02.645] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.646] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.647] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.648] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.649] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.650] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.651] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation 
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.652] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.653] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.654] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000
[2019-02-13 14:08:02.729] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.729] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.729] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.730] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.730] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.731] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.731] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.731] [0B787858] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005B6E21, trying to read 00000000

[2019-02-13 14:08:02.736] [0B70F610] [trace]   [host_buffer] [13] allocated size:2073600 usage: write_only
[2019-02-13 14:08:02.747] [0B70F610] [trace]   [host_buffer] [14] allocated size:1036800 usage: write_only
[2019-02-13 14:08:02.776] [0B70F610] [trace]   [device_buffer] [6] allocated size:2073600
[2019-02-13 14:08:02.776] [0B70F610] [trace]   [device_buffer] [7] allocated size:1036800
[2019-02-13 14:08:02.776] [0B70F610] [trace]   [device_buffer] [8] allocated size:1036800
[2019-02-13 14:08:02.779] [0B70F610] [trace]   [host_buffer] [15] allocated size:1036800 usage: write_only
[2019-02-13 14:08:02.796] [0B70F610] [trace]   [device_buffer] [9] allocated size:2073600
[2019-02-13 14:08:02.796] [0B70F610] [trace]   [device_buffer] [10] allocated size:1036800
[2019-02-13 14:08:02.796] [0B70F610] [trace]   [device_buffer] [11] allocated size:1036800

Even though there are lots of errors, playback starts. But when I try to clear the channel and start again, there is no picture and info command reports empty-producer.

[2019-02-13 14:08:30.494] [0B77F2B8] [info]    Received message from Console: clear 1\r\n
[2019-02-13 14:08:30.494] [0B95D908] [debug]   Executed command: ClearCommand
[2019-02-13 14:08:30.494] [0B7878B8] [trace]   DeckLink Duo 2[decklink_producer] [2|1080i50] Uninitializing.
[2019-02-13 14:08:30.495] [0B7878B8] [trace]   Created destroyer: 2
[2019-02-13 14:08:30.495] [0B7878B8] [info]    DeckLink Duo 2[decklink_producer] [2|1080i50] Uninitialized.
[2019-02-13 14:08:30.496] [0B95D818] [trace]   DeckLink Duo 2[decklink_producer] [2|1080i50] Destroying on asynchronous destruction thread.
[2019-02-13 14:08:30.507] [0B95D908] [trace]   Ready for a new command
[2019-02-13 14:08:30.576] [0B95D7B8] [info]    DeckLink Duo 2[decklink_producer] [2|1080i50] successfully uninitialized.
[2019-02-13 14:08:37.221] [0B77F2B8] [info]    Received message from Console: play 1-1 decklink 2\r\n
[2019-02-13 14:08:37.284] [0B95DAE8] [info]    DeckLink Duo 2[decklink_producer] [2|1080i50] successfully initialized.
[2019-02-13 14:08:37.284] [0B95D908] [info]    DeckLink Duo 2[decklink_producer] [2|1080i50] Initialized.
[2019-02-13 14:08:37.288] [0B95D908] [info]    transition[empty=>DeckLink Duo 2[decklink_producer] [2|1080i50]] Initialized.
[2019-02-13 14:08:37.288] [0B95D908] [debug]   Executed command: PlayCommand
[2019-02-13 14:08:37.299] [0B95D908] [trace]   Ready for a new command
[2019-02-13 14:08:37.306] [0B7878B8] [info]    transition[empty=>DeckLink Duo 2[decklink_producer] [2|1080i50]] End Of File.
[2019-02-13 14:08:37.306] [0B7878B8] [trace]   transition[empty=>DeckLink Duo 2[decklink_producer] [2|1080i50]] Uninitializing.
[2019-02-13 14:08:37.306] [0B7878B8] [info]    transition[empty=>DeckLink Duo 2[decklink_producer] [2|1080i50]] Uninitialized.
[2019-02-13 14:08:37.312] [0B7878B8] [error]   Dynamic exception type: class caspar::win32_access_violation
std::exception::what: Access violation at 005C4C48, trying to read 00000000

[2019-02-13 14:08:37.312] [0B7878B8] [trace]   DeckLink Duo 2[decklink_producer] [2|1080i50] Uninitializing.
[2019-02-13 14:08:37.313] [0B7878B8] [info]    DeckLink Duo 2[decklink_producer] [2|1080i50] Uninitialized.
[2019-02-13 14:08:37.313] [0B95D818] [trace]   DeckLink Duo 2[decklink_producer] [2|1080i50] Destroying on asynchronous destruction thread.
[2019-02-13 14:08:37.376] [0B95DAE8] [info]    DeckLink Duo 2[decklink_producer] [2|1080i50] successfully uninitialized.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.