jaskie / Server

This fork of CasparCG Server contains enhancements used in broadcast play-out system used in TVP.
http://playoutautomation.tvp.pl
GNU General Public License v3.0
20 stars 4 forks source link

Server version 7.0 crashes with DNxHD media file #3

Closed martastain closed 5 years ago

martastain commented 5 years ago

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):

jaskie commented 5 years ago

Indeed, it seems to be similar problem with FFMpeg multithreading as in ProRes codec case. I just updated 7.0 release which fixes the issue. Please, confirm and close the issue if works.

martastain commented 5 years ago

Thanks a lot for quick reply and fix. All test files now play perfectly.
I will also try a long-run test again to see if it's related.