Latest post Fri, Jul 26 2013 3:36 AM by FMuellerVA. 3 replies.
Page 1 of 1 (4 items)
Sort Posts: Previous Next
  • Fri, Jul 19 2013 10:09 PM

    Importing CSV with TimeCode into Strata

    Good Day
    MAM Developer Forum

    MAM 4.2.1

    Have been tasked to construct a method for the facility's shot-loggers to "marry" an existing MAM-Asset with a "Logging" Spreadsheet of an Event by clicking upon a [FILE... ] Button to browse/select a CSV (comma separated values) file.

    In this CSV File, each Row is a Record with 3 field-columns representing: TIMECODE (ie HH:MM:SS;FF), CAMERA (ie Skycam, Splash, etc) & COMMENTS (255 Characters). Given the TIMECODE information, the hope is that COMMENTS can display the 'newly-wedded' asset like Storyboard within the Segment list Tab, along with the added CAMERA values, while observing the TIMECODE entries in the CSV File.

    Process Model adaption of the STANDARD_FILE_IMPORT.xpdl

    (1) Is the Process Model / StateMachine the best approach?
    (2) Are there any Tutorials with mini-projects to walk one through the Standard_File_Import Process?

    Thanks so much for any (re)Direction(s) the Forum can offer : )

    J Murphy

  • Mon, Jul 22 2013 3:27 PM In reply to

    • akuehlme
    • Not Ranked
    • Joined on Tue, Dec 11 2012
    • Posts 15
    • Points 155
    • Avid Developer Moderator
      Avid Employee

    Re: Importing CSV with TimeCode into Strata

    There are a few things to be considered there:

    1.) The CSV contains only one timecode. MAM uses timecode ranges for strata. You can create either 1-frame segments or create segments that start at the given timecode and continue to the next timecode. That depends on the customer's needs.

    2.) The timecodes are SMPTE timecodes while MAM stores the segments in milliseconds relative to the start of the video. In order to calculate the milliseconds, you first have to fetch the SOM (start of media) value and the frame rate for the object, for example by querying for the timecode master essence in the representative essence package of the object.

    3.) The users need a user interface that allows them to upload a file.

    When starting from scratch, I would recommend the following approach:

    1.) Define a StateMachine process that accepts exactly one MAM object and allows uploading a file.

    2.) The process starts a SWoDL script that checks if everything is ok, for example that one CSV file has been uploaded and one MAM object attached. Then the SWoDL script must transform the CSV to an AXF document. That can be done either directly in SWoDL (presumably with quite a bit of effort), or you can implement a custom web service that does the transformation, e.g. written in C#. The SWoDL script then calls either the ISObjectsUpdate method of IntegrationServiceWS (official API), or the method UpdateDMObject of DataManagerWS (internal method).

    3.) Create a process folder in MAM Desktop that allows the users to start that process, and share this folder with the user groups that are allowed to upload the CSVs.

    From a user's perspective, the process is started by selecting an object from the hit list in MAM Desktop, then dragging it to the process folder. This opens the "Create process" dialog. There, the user can upload the CSV file and start the process.

    You can also extend the StandardFileImport process. However, the process is typically used for files in a watch folder, so the adaptation means probably more effort that starting from scratch with a specialized process.

    For further reading, I recommend the following documents that are delivered with the MAM software:

    References/InterplayMAM_StandardFileImportProcess.pdf: explains the standard file import process

    References/InterplayMAM_ProcessReference.pdf: Process reference

    References/InterplayMAM_AXFReference.pdf: AXF specification

    References/InterplayMAM_IntegrationServices.pdf: Documentation of IntegrationServiceWS

  • Wed, Jul 24 2013 9:11 PM In reply to

    Re: Importing CSV with TimeCode into Strata

    Good Day

    Thanks for the WayPoints offered, much appreciated : ) Shall be sure to post back to this thread so that a detailed step-by-step of the solution implemented can be shared.

    J Murphy

  • Fri, Jul 26 2013 3:36 AM In reply to

    • FMuellerVA
    • Not Ranked
    • Joined on Fri, Jul 26 2013
    • Posts 1
    • Points 5

    Re: Importing CSV with TimeCode into Strata

    ANother possibility for the time code is to perform a calculation similar to a SPLIT in Cataloger. Thsi would mean:

    - reading the first line TC as start for the first segment

    - reading the second line TC, subtract 1 and use as end for the first segment

    - use the second line TC as start for the second segment

    - use the third line TC, subtract 1 and use as end for the second segment

    Only catch is the last line - here the end time code of the video would be the end of the segment too...


Page 1 of 1 (4 items)

© Copyright 2011 Avid Technology, Inc.  Terms of Use |  Privacy Policy |  Site Map |  Find a Reseller