Page 1 of 2

unencrypted DCP playback

Posted: 23 Apr 2015 22:20
by Coeur Noir
Hello,

I work in a cinema, as operator and some other things…

I daily use DCP-o-Matic to create DCP's which play fine on "my" DCI-compliant playback servers.

I'm quite used to command-line and linux stuff.

It's been years now I'm looking for an open-source solution to preview DCP on linux stations and it seems that VLC might do the job…

…but for the moment I can't manage to playback DCP.

Do I have to compile it from sources with some specifical options ?

Do you advice or not to use https://launchpad.net/~mc3man/+archive/ ... usty-media while using Ubuntu 14.04 lts as an opportunity to get VLC 2.2.x ?

I'm ok for testing and reporting so don't be afraid to be a bit technical, I'll do my best to understand as there's a real need for DCP playback in many places !

Re: unencrypted DCP playback

Posted: 30 Apr 2015 11:54
by Coeur Noir
Anyone ?

All I get when trying to play the folder containing the DCP is a green screen - which lasts the exact duration of the DCP.

It's really ok if there's no XYZ→RGB color conversion 'cause it's enough to check if a DCP works.

Any help and hints very welcome and would be useful to thousands of people around the world ;-)

Re: unencrypted DCP playback

Posted: 30 Apr 2015 17:33
by Fred93
Hi,

After upgrade to VLC 2.2, which is supposed to support DCP unencrypted content, I get the same statement.

What should be the hardware requirements to be able to play DCP assets?

Regards,
Fred

Re: unencrypted DCP playback

Posted: 02 May 2015 19:52
by Jean-Baptiste Kempf
Anyone ?
All I get when trying to play the folder containing the DCP is a green screen - which lasts the exact duration of the DCP.
You need to share your logs. But are you sure, your build has the DCP plugin in?

Re: unencrypted DCP playback

Posted: 02 May 2015 19:52
by Jean-Baptiste Kempf
What should be the hardware requirements to be able to play DCP assets?
Quite big, to get them to play.

Re: unencrypted DCP playback

Posted: 03 May 2015 18:52
by Coeur Noir
But are you sure, your build has the DCP plugin in?
So does it mean VLC should be compiled from sources with a specific option to activate the dcp-plugin ?

How may I check if the build I get from https://launchpad.net/~mc3man/+archive/ ... usty-media includes the dcp-plugin ?

Re: unencrypted DCP playback

Posted: 03 May 2015 18:59
by Jean-Baptiste Kempf
But are you sure, your build has the DCP plugin in?
So does it mean VLC should be compiled from sources with a specific option to activate the dcp-plugin ?

How may I check if the build I get from https://launchpad.net/~mc3man/+archive/ ... usty-media includes the dcp-plugin ?
vlc --list | grep dcp

Re: unencrypted DCP playback

Posted: 06 May 2015 17:18
by sampumon

Code: Select all

vlc --list | grep dcp
No results. So I read this news that VLC 2.2.0 is out, and one of its new features is DCP support, but then in reality there is no DCP support?

Re: https://www.videolan.org/vlc/releases/2.2.0.html

I also tried latest 3.0.0 nightly, no DCP support. http://nightlies.videolan.org/build/macosx-intel/

Tried the third BickBuckBunny sample from http://www.dcpbuilder.com/download/cinema-packages.html, and a DCP I made myself with DCP-o-matic. Both play fine on Fraunhofer easyDCP player.

While I can play individual mxf files on VLC, both jpeg2000 video files show completely black. Mxf with mpeg-2 video did play, but choppily, unlike original file.

Here's VLC's play log, trying to open the dcp directory, then playing throgh the audio and video mxf inside.

Code: Select all

Pertti:Downloads samuli$ vlc BBB-INTEROP_TST-1_S_EN-EN_INT-G_51_2K_UPG_20110712_DSPL_OV/ VLC media player 2.2.1 Terry Pratchett (Weatherwax) (revision 2.2.1-0-ga425c42) [0000000100479f38] core interface error: no suitable interface module [000000010040a838] core libvlc error: interface "(null),none" initialization failed [000000010040a838] core libvlc: Käynnistetään vlc oletuskäyttöliittymällä. Aja "cvlc", jos haluat käyttää vlc:tä ilman käyttöliittymää. libdvdnav: Using dvdnav version 5.0.3 libdvdread: Couldn't find device name. libdvdread:DVDOpenFilePath:findDVDFile /VIDEO_TS/VIDEO_TS.IFO failed libdvdread:DVDOpenFilePath:findDVDFile /VIDEO_TS/VIDEO_TS.BUP failed libdvdread: Can't open file VIDEO_TS.IFO. libdvdnav: vm: failed to read VIDEO_TS.IFO [00000001004878b8] core demux error: option sub-original-fps does not exist [000000010047b818] core demux error: option sub-original-fps does not exist [0000000100479f28] core input error: no suitable demux module for `file/subtitle:///Users/samuli/Downloads/BBB-INTEROP_TST-1_S_EN-EN_INT-G_51_2K_UPG_20110712_DSPL_OV//trace.txt' [0000000100469108] core playlist: stopping playback [0000000100547f18] itml demux error: invalid root node <PackingList> 2015-05-06 18:04:59.545 VLC[37018:1392997] Can't find app with identifier com.spotify.client [mxf @ 0x102819400] failed to find absolute offset of D30E00 in BodySID 1 - partial file? [00000001002e98f8] itml demux error: invalid root node <CompositionPlaylist> [00000001005470f8] ts demux error: cannot peek [0000000100487f18] itml demux error: invalid root node <DCSubtitle> 2015-05-06 18:05:15.420 VLC[37018:1392997] Can't find app with identifier com.spotify.client 2015-05-06 18:05:15.968 VLC[37018:1392997] Can't find app with identifier com.spotify.client 2015-05-06 18:05:15.985 VLC[37018:1392997] Can't find app with identifier com.spotify.client shader program 0: WARNING: Output of vertex shader 'TexCoord1' not read by fragment shader WARNING: Output of vertex shader 'TexCoord2' not read by fragment shader shader program 1: WARNING: Output of vertex shader 'TexCoord1' not read by fragment shader WARNING: Output of vertex shader 'TexCoord2' not read by fragment shader [000000011d00f8b8] adjust filter error: Unsupported input chroma (XY12) [00000001028330b8] core video output error: Failed to create video filter2 'adjust' [00000001028330b8] core video output error: Failed to add filter 'adjust' [00000001008e16b8] avcodec decoder error: more than 5 seconds of late video -> dropping frame (computer too slow ?) (above line repeated 72 times) [000000010281eab8] adjust filter error: Unsupported input chroma (XY12) [00000001028330b8] core video output error: Failed to create video filter2 'adjust' [00000001028330b8] core video output error: Failed to add filter 'adjust'

Re: unencrypted DCP playback

Posted: 07 May 2015 00:49
by Jean-Baptiste Kempf
No results. So I read this news that VLC 2.2.0 is out, and one of its new features is DCP support, but then in reality there is no DCP support?
Source code is there, and enabled on some Linux distribution, but so far not on all of them.

Can you share the DCP, by any chance?

Re: unencrypted DCP playback

Posted: 07 May 2015 01:29
by Fred93
Hi,
If you need DCPs for testing, you can follow the links provided here:
http://www.projectionniste.net/forums/v ... =45&t=7101
These are actual production assets (trailers) that are used by movie theaters.

Fred

Re: unencrypted DCP playback

Posted: 07 May 2015 13:35
by sampumon
Can you share the DCP, by any chance?
The one where the VLC log above is from, is this one: http://www.dcpbuilder.com/uploads/downl ... SPL_OV.zip

Ie. the third link from http://www.dcpbuilder.com/download/cinema-packages.html

Re: unencrypted DCP playback

Posted: 08 May 2015 17:30
by sampumon
Update: got the DCP's to kind-of play, using this completely-out-of-the-hat procedure:
  1. Build VLC from source, enabling asdcplib by poking around in random
  2. Open DCP from command line as an undocumented dcp://url
The build did not go smoothly. It took four hours to succeed compiling without errors. Squashed at least this bug on the way.

Then the DCP plays, with… BLACK image. The reason seems to be missing XYZ colorspace support:

Code: Select all

VLC.app/Contents/MacOS/VLC dcp:///Users/samuli/Downloads/BBB-INTEROP_TST-1_S_EN-EN_INT-G_51_2K_UPG_20110712_DSPL_OV/ ... [00000001189daab8] adjust filter error: Unsupported input chroma (XY12) [0000000100cf02b8] core video output error: Failed to create video filter2 'adjust' [0000000100cf02b8] core video output error: Failed to add filter 'adjust'
This patch from February 2013 apparently never made it through.

JPEG2000 seems to get decrypted, though, as it's eating all my CPU and still dropping (invisible) frames.

It does however play as a single playlist entry with correct video & audio streams, not as folder of random files like before. So DCP support is now working :)

Re: unencrypted DCP playback

Posted: 09 May 2015 19:29
by Jean-Baptiste Kempf
No, no, it's because you activated the adjust filter. Just deactivate it.

Re: unencrypted DCP playback

Posted: 09 May 2015 21:23
by sampumon
No, no, it's because you activated the adjust filter. Just deactivate it.
What? Oh… ok, the XY12 error was because of adjust filter. It does not affect having black picture, though.

Here's compete log of my VLC build playing the Big Bug Bunny DCP (link above), with adjust filter off. Note that:
  • All other (non-jpeg2000) videos work fine with the build
  • I also get "invalid PCR value" error with the mpeg2 dcp I made, which does show (choppy) video

Code: Select all

Pertti:build samuli$ VLC.app/Contents/MacOS/VLC dcp:///Users/samuli/Downloads/BBB-INTEROP_TST-1_S_EN-EN_INT-G_51_2K_UPG_20110712_DSPL_OV/ VLC media player 3.0.0-git Vetinari (revision 2.2.0-git-3141-g8d57da7) [000000010046fd98] core interface error: no suitable interface module [00000001002006e8] core libvlc error: interface "(null),none" initialization failed [00000001002006e8] core libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface. [00000001003277b8] core input error: Invalid PCR value in ES_OUT_SET_(GROUP_)PCR ! 2015-05-09 22:12:42.684 VLC[93145:2591976] Can't find app with identifier com.spotify.client 2015-05-09 22:12:42.788 VLC[93145:2591976] Can't find app with identifier com.spotify.client shader program 0: WARNING: Output of vertex shader 'TexCoord1' not read by fragment shader WARNING: Output of vertex shader 'TexCoord2' not read by fragment shader shader program 1: WARNING: Output of vertex shader 'TexCoord1' not read by fragment shader WARNING: Output of vertex shader 'TexCoord2' not read by fragment shader [0000000102806eb8] avcodec decoder error: more than 5 seconds of late video -> dropping frame (computer too slow ?) (above line repeated 35 times)

Re: unencrypted DCP playback

Posted: 10 May 2015 15:28
by Jean-Baptiste Kempf
Yeah, so, your computer is too slow. Try to activate the low-resolution part.

Re: unencrypted DCP playback

Posted: 10 May 2015 15:56
by sampumon
Yes but the picture is black. From beginning to end. VLC does not show any frames, dropped or not.

Anyway I just realised that, of course, jpeg-2000 support is not built in either. Nor is it in official builds, even though it was a new feature of VLC 2.0. I kind of remember wathcing super-slow jpeg-2000 with VLC a few years back…

Code: Select all

$ vlc --list | grep jp VLC media player 2.2.1 Terry Pratchett (Weatherwax) (revision 2.2.1-0-ga425c42) mux_mpjpeg Multipart JPEG muxer mjpeg M-JPEG camera demuxer jpeg JPEG image decoder jpeg JPEG image encoder
Btw. my computer is not too slow; jpeg-2000 is not meant for video :)

Re: unencrypted DCP playback

Posted: 10 May 2015 22:06
by Jean-Baptiste Kempf

Code: Select all

shader program 0: WARNING: Output of vertex shader 'TexCoord1' not read by fragment shader WARNING: Output of vertex shader 'TexCoord2' not read by fragment shader shader program 1: WARNING: Output of vertex shader 'TexCoord1' not read by fragment shader WARNING: Output of vertex shader 'TexCoord2' not read by fragment shader
That could be the issue. The XYZ shader would be broken?

Re: unencrypted DCP playback

Posted: 11 May 2015 16:08
by sampumon
That could be the issue. The XYZ shader would be broken?
It could. Though I get the same warning with all (jpeg-2000, prores, h264) files, which play fine.

Re: unencrypted DCP playback

Posted: 23 May 2015 15:07
by CarstenK
May I attach to this thread? Because I see similar issues with DCPs under Mac OS X and Windows OS as well.

I think VLC was able to play J2c encoded MXF files since version 2.01/2.02 or so. It was dropped in some intermediate versions while support was further developed, so, some versions lost it, some regained it. Typical for those versions that dropped it was the dark green screen that Coeur Noir mentions above.

I checked playback usually with old machines, so wasn't concerned about the slow performance, I knew it was a work in progress anyway, and that actual realtime-playback would maybe only be possible one day with a GPU-assisted OPENJPEG library.

Now, with the announcement of 2.2 and 'official' DCP capability, I was wondering wether playback performance actually had improved, also how VLC would deal with actual CPLs, not just plain MXF files, and, playing the audio MXF in sync. So I tried getting a hand on it and failed - there is simply no information anywhere on the net on how to actually play DCPs with it. Well, maybe there is somewhere in the source repositories. I came to the point where calling VLC with the dcp: device seems to be the way to do it, but then how to actually point to a path/DCP in windows, I failed. If you point towards a directory, there can be multiple CPLs in one DCP directory, so which one would VLC choose? Is there a way to play DCPs from the GUI, like with open folder, medium, etc.? I tried different ways, but even when it finally opened a file, there was no way for me to tell wether it actually played the plain MXF or wether it followed the CPL.

Also, would there be a (performance) difference in handling plain MXFs vs. 'real' DCPs? Because, essentially, I still get the same bad playback performance playing back J2C MXFs, even on very fast machines? E.g., I don't see 'moving' frames neither on my 8 year old MacBook with a 2GHz C2D CPU, nor on my 12core Xeon machine? Actually I have to stop playback and cue to some place in the timeline to actually see a still decoded frame (but then it's obvious that proper XYZ decoding is performed, unlike in earlier versions). I never experience a sequence of encoded frames, but would at at least expect to see 'some' improvement from my old C2D machine to the 12core Xeon?

So - am I doing something wrong, are there ways to tweak the performance, enable multithreading, GPU color conversion, etc.?

Why does VLC actually show black frames while playing a DCP, instead of simply 'walking' through the images in SloMo? Is there a 'decode all frames' parameter that I am missing? Because, for inspection, it wouldn't be necessary to actually have realtime-playback, but to be able to cue to specific frames or simply show all frames in the DCP at whatever speed is possible.

I can actually 're-import' a J2C-MXF into DCP-o-matic, and the preview, using FFMPEG, will be slow (maybe 5-10fps on my 12core Xeon)), but showing all frames. If we would be able to have that kind of performance in VLC, that would be enough to get near realtime on a very fast machine, and maybe using multi-threading.

There are commercial software players/demos available to play back DCPs for Wintels and Macs - but as far as I know, VLC would still be the only option under Linux, so I think it's important to get it working.

Best regards, and keep up with the good work on VLC!

Re: unencrypted DCP playback

Posted: 24 May 2015 14:53
by CarstenK
Okay, stupid me, fixed some of these issues - seems that default settings are just not the best for such a slow codec as J2k:

Disabling 'Skip frames' and 'Drop late frames' will at least show 'moving images', albeit slow.

This should work for all platforms.

Now how do I open a DCP/CPL (not just a plain J2C-MXF) through the GUI file open dialog?

- Carsten

Re: unencrypted DCP playback

Posted: 24 May 2015 22:40
by sampumon
Disabling 'Skip frames' and 'Drop late frames' will at least show 'moving images', albeit slow.
Makes no difference for me. Video is completely black, VLC 2.2.1 and latest 3.0.0 nightly. Something gets decoded though, as VLC uses almost 400% cpu.

OS X 10.10.3, MacBook Air 6,2, Intel i7, Intel HD Graphics 5000.

Re: unencrypted DCP playback

Posted: 27 May 2015 11:36
by Jean-Baptiste Kempf
May I attach to this thread? Because I see similar issues with DCPs under Mac OS X and Windows OS as well.
Oh well, well, well.

If you want performance, you need to patch libavcodec to have better JP2K performance. The patches are dangling around.

Then, you need to compile the asdcplib with OpenSSL support and ship the module.

And then open it with dcp:///Path/to/fiolder.

If you need more performance, you can activate the low-resolution mode.

Re: unencrypted DCP playback

Posted: 01 Jun 2015 13:12
by CarstenK
OS X 10.10.3, MacBook Air 6,2, Intel i7, Intel HD Graphics 5000

This should now go to the OS X subforum I guess, but it works (very slow) on my old MacBook C2D/GMA950 10.6.8 using the 'official' 2.2.1(64).
I open the J2C MXF through the normal GUI file open dialog.

Video output mode is set to automatic. When I choose manual, it works with Mac OS X OpenGL only.
Don't know which other config parameters are relevant to make it work.

Which material are you testing it with?

- Carsten

Re: unencrypted DCP playback

Posted: 05 Jun 2015 17:23
by sampumon
Ok so JPEG 2000 video is completely black maybe because of my Macbook Air and its Intel HD Graphics 5000?

Tried different video output modules; none work (most don't show any image, not even black).

Also tried disabling VDA (hardware acceleration) framework.

Cannot see jpeg-2000 : (
Which material are you testing it with?
The Big Buck Bunny interop w/ interop subtitles; link on first page of thread. And Psychosis Definitely (short film) SMPTE, with separate smpte subtitles, which I made with OpenDCP and which we just succesfully ran at WHS theatre (Helsinki, Finland) on Sony SRX-R510P!

Re: unencrypted DCP playback

Posted: 06 Jun 2015 00:48
by CarstenK
I have no 10.10.x machine to test it, only 10.9.x, I'm afraid.

Well, if that comforts you, it won't do realtime anyway for now...

Maybe we should move this thread to the OS X subforum finally and find other people who are willing to test it.

I'm quite confused that some of your posts suggest your installed version of VLC is missing necessary components - how can that be? Are you sure you are trying it with the 'official' 2.2.1? I would understand why certain display modules would not work in 10.10.x, but missing decoder components?

Have you tried disabling 'Drop late frames' and 'Skip frames'? Does your VLC play other video/codec types successfully? Reset prefs?

When I view BigBuckBunny DCP now on my MacBook, no XYZ->RGB conversion is performed. But I'm sure this works in windows 2.2.1 VLC.

I mostly use Doremi DCP Player demo. It even allows realtime on this old machine, though usually in a lower resolution layer. But this display is not 2k anyway...

- Carsten