XML2CPL Tool

XML2CPL is a command line tool that takes XML timeline files from programs like Clipster and Final Cut Pro and converts them to compliant CPL.xml files.  The generated CPL.xml files pass validation by Netflix's Photon validation tool.

XML2CPL dependencies

Environment Variables

  • TEMP - This is usually defined in Windows.  It should point to a temp directory.
  • PHOTON_HOME - Should point to the Netflix Photon directory.
  • JAVA_HOME - Should point to to the JDK directory.  Pretty standard for a Java install.

Current XML2CPL work flow

  1. Take a Final Cut Pro or Clipster timeline file which is in XML format and references MOV and WAV essences
  2. Run that timeline file through my XML2CPL program
  3. XML2CPL will wrap MOV and WAV into MXF files
    - No transcoding done, just wrapping into an MXF container using raw2bmx
    - MediaInfo is used to figure out elementary stream type to send proper source flag to raw2bmx
  4. XML2CPL runs the MXF files through Netflix’s IMFTrackFileReader Photon Java program, which generates the EssenceDescriptors
  5. XML2CPL uses the generated EssenceDescriptors in the generated CPL.xml file.
  6. XML2CPL also generates an ASSETMAP.xml so that there is a mapping of UUIDs to file names on disk.

Work to do

  • Update Clipster support to latest Photon compliant XML2CPL, currently just Final Cut Pro works
  • Add support for other editor timelines like: Avid, Davici Resolve, ColorFront Transkoder, Ateme, Deluxe customized EDL
  • Add MXF wrapping support for: MP4, MPEG2
  • Maybe check out asdcplib for MXF creation: http://www.cinecert.com/asdcplib/

Work Completed

  • Figure out how to automate the essence description flag that needs to be passed to raw2bmx, like --vc3_1080p_1253, maybe integrate MediaInfo to help with this
  • Test my generated CPL.xml, ASSETMAP.xml, and MXF files against Netflix IMFTool (CPL Editor) - THIS DOES NOT MAKE SENSE, as xml2cpl does not create J2k mxf essences or support files like PKL.xml.  Only a complete IMF package can be tested with IMFTool, and a complete IMF package is what Comprimato will provide us.

Comments

Popular posts from this blog

FFMPEG Deinterlacing Modes

Remote debugging with GDB and GDBServer on Alpine and Visual Studio Code

Build FFMPEG for Windows Using Visual Studio Toolchain