Interplay

Questions and answers on how to get the most out of FFAStrans
User avatar
FranceBB
Posts: 264
Joined: Sat Jun 25, 2016 3:43 pm
Contact:

Re: Interplay

Post by FranceBB »

spectra_gr wrote: Fri Jan 14, 2022 3:32 pm Good Evening ,
To bring the issue back. What we are missing to do the interplay checking is the AAF and a Webservice API right?
Essentially an environment in which if I call the Webservice API with a wrong call and/or a not so proper AAF + MXF file, nothing happens, so effectively a test environment in which we can... well... test.
Over here, I have only production environments.
Technically, everything should be fine and nothing should happen at all, regardless of my and emcodem's calls, but... you know... I don't really wanna test on our production environment 'cause if something happens and for whatever reason it goes down and we can't go on air with a sporting event replay / highlights or news and my call is the one that brought the system down, I'm gonna be fired. :roll:
zedzed2000
Posts: 1
Joined: Tue Jan 18, 2022 1:08 pm

Re: Interplay

Post by zedzed2000 »

Hi,
Have we done anything with the AAF ? I think they have Avid Media Toolkit for that reason but i do not have access on that.
Richyy
Posts: 13
Joined: Sat Aug 29, 2015 9:08 am

Re: Interplay

Post by Richyy »

The Interplay server could be downloaded and installed with a single admin user without any licence, so basicly I (or anyone else with an Avid account or access to Interplay installer) can have a running test enviroment on a laptop or a VM anytime. What we will be missing is the Interplay Media Indexer but the AAF checkin and the file locations would be fine without that up to the point of checking an assett out to a Composer. There we will need a Composer Ultimate licence at least and no multirez without an Indexer. If we get to that point I could be brave enough to setup a test Interplay engine with our production storage and Indexers, Composers etc. or I could get our support firm onboard, they have a complete test system.
Richyy
Posts: 13
Joined: Sat Aug 29, 2015 9:08 am

Re: Interplay

Post by Richyy »

To share something usefull too:

CheckIn
The CheckIn operation is used to check in non-Avid file assets to the Interplay Engine. This operation can be used to check in new assets or to update existing assets. Existing assets will be versioned with each check-in.

The CheckInType XML type defines the parameters passed in to the CheckIn operation. These parameters consist of an Interplay URI, the contents of the file to check in, an optional version comment, and an optional list of attributes to set.

The Interplay URI must be of moniker or full path form. If checking in a new non-Avid asset, then the full path form must be used, as it will not yet have an assigned moniker. If the Interplay URI represents a folder or an Avid asset, the operation will fail with an error.

The File element should either contain the base-64 encoded file contents or should reference a mime attachment per the MTOM specifications. The use of MTOM is highly recommended as it is significantly more efficient than inline base-64 encoded content.

If attributes are passed in to be set on the asset, they must be USER attributes. If an attempt is made to set a SYSTEM attribute, the operation will fail with errors. In addition, new attribute names (but not values) are limited to 30 bytes. This 30 byte limit is enforced by an approximation algorithm that assumes 1 byte for each ASCII character and 4 bytes for each non-ASCII character.

Example MTOM SOAP Request for the CheckIn Operation

POST /services/Assets HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 2.0.50727.832)
Host: 127.0.0.1
Content-Type: multipart/related; type="application/xop+xml"; boundary=--MIMEBoundary633235863336759492;
start="<0.633235863336759492@example.org>"; start-info="text/xml; charset=utf-8"
SOAPAction: ""
Content-Length: 4989
Expect: 100-continue
Connection: Keep-Alive


----MIMEBoundary633235863336759492
content-id: <0.633235863336759492@example.org>
content-type: application/xop+xml; charset=utf-8; type="text/xml; charset=utf-8"
content-transfer-encoding: binary

<soap:Envelope xmlns:xop="http://www.w3.org/2004/08/xop/include"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<!-- credentials go here -->
</soap:Header>
<soap:Body>
<CheckIn xmlns="http://avid.com/interplay/ws/assets/types">
<InterplayURI>interplay://WGA/Projects/Rainforest/Images/monkey.gif</InterplayURI>
<File>
<xop:Include href="cid:1.633235863336915744@example.org" />
</File>
<VersionComment>Adding the small monkey image</VersionComment>
<Attributes>
<Attribute Group="USER" Name="Photographer">John Smith</Attribute>
</Attributes>
</CheckIn>
</soap:Body>
</soap:Envelope>

----MIMEBoundary633235863336759492
content-id: <1.633235863336915744@example.org>
content-type: application/octet-stream
content-transfer-encoding: binary

a bunch of binary data would go here
----MIMEBoundary633235863336759492--






CheckInAAF
The CheckInAAF operation is used to check in Avid assets to the Interplay Engine. Sequences, master clips, subclips, and rendered effects are all examples of Avid assets. This operation can be used to check in new Avid assets or to update existing Avid assets. The actual file checked in should always be a binary AAF file.

The CheckInAAFType XML type defines the parameters passed in to the CheckInAAF operation. These parameters consist of an Interplay URI, the contents of the AAF file to check in, and an optional list of attributes to set.

The Interplay URI must be of MOB ID or path form. If checking in a new Avid asset, then the path form must be used and must reference a valid folder. Existing Avid assets can be checked in using a path-formatted or mobid-formatted Interplay URI. If the Interplay URI represents a non-Avid file asset, the operation will fail with an error.

The AAF element should either contain the base-64 encoded AAF file contents or should reference a mime attachment per the MTOM specifications. The use of MTOM is highly recommended as it is significantly more efficient than inline base-64 encoded content.

The Headframe element (if specified) should either contain a base-64 encoded file or should reference a mime attachment per the MTOM specifications. Headframes can be JPEG, GIF, PNG, or BMP files, but they will be converted to JPEG and resized to 400 (w) x 300 (h) before being stored. Set the HeadframeAspectRatio element (if specified) to 4x3 or 16x9 will resize the Headfrane image to 400 (w) x 300 (h) or 400 (w) x 225 (h) respectively.

If attributes are passed in to be set on the asset, they must be USER attributes. If an attempt is made to set a SYSTEM attribute, the operation will fail with errors. In addition, new attribute names (but not values) are limited to 30 bytes. This 30 byte limit is enforced by an approximation algorithm that assumes 1 byte for each ASCII character and 4 bytes for each non-ASCII character.

The OverrideUserProp flag indicate if USER attributes should be updated.

Example MTOM SOAP Request for the CheckInAAF Operation

POST /services/Assets HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client Protocol 2.0.50727.832)
Host: 127.0.0.1
Content-Type: multipart/related; type="application/xop+xml"; boundary=--MIMEBoundary633235863336759492;
start="<0.633235863336759492@example.org>"; start-info="text/xml; charset=utf-8"
Content-Length: 292839
Expect: 100-continue
Connection: Keep-Alive


----MIMEBoundary633235863336759492
content-id: <0.633235863336759492@example.org>
content-type: application/xop+xml; charset=utf-8; type="text/xml; charset=utf-8"
content-transfer-encoding: binary

<soap:Envelope xmlns:xop="http://www.w3.org/2004/08/xop/include"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<!-- credentials go here -->
</soap:Header>
<soap:Body>
<CheckInAAF xmlns="http://avid.com/interplay/ws/assets/types">
<InterplayURI>interplay://WGA?mobid=060a2b340101010101010f0013-000000-465dda6e65350079-060e2b347f7f-2a80</InterplayURI>
<AAF>
<xop:Include href="cid:1.633235863336915744@example.org" />
</AAF>
<Attributes>
<Attribute Group="USER" Name="Camera Man">John Smith</Attribute>
</Attributes>
</CheckInAAF>
</soap:Body>
</soap:Envelope>

----MIMEBoundary633235863336759492
content-id: <1.633235863336915744@example.org>
content-type: application/octet-stream
content-transfer-encoding: binary

a bunch of binary data would go here
----MIMEBoundary633235863336759492--
emcodem
Posts: 1811
Joined: Wed Sep 19, 2018 8:11 am

Re: Interplay

Post by emcodem »

Thanks @Richyy !

Thats what we have already seen in the API Docs :D
Do you have a system for testing? Using your simple commands below, it should be even possible to just use the http processor as-is for checking stuff in...
emcodem, wrapping since 2009 you got the rhyme?
Richyy
Posts: 13
Joined: Sat Aug 29, 2015 9:08 am

Re: Interplay

Post by Richyy »

Hello!

If somebody gets sends me an AAF I will try it. I am not that great with Pyaaf.
emcodem
Posts: 1811
Joined: Wed Sep 19, 2018 8:11 am

Re: Interplay

Post by emcodem »

@Richyy for creating aaf's out of opatom files, we already have some starting point:
https://github.com/emcodem/createaaf/releases
You can search the forum for createaaf for the various discussions around it. Can you please try how far you come with it?
emcodem, wrapping since 2009 you got the rhyme?
Post Reply