Skip to content
svenkatrav edited this page Nov 21, 2016 · 8 revisions

Photon

Photon is an implementation of the Interoperable Master Format (IMF) standard. IMF is a SMPTE standard defined in the specification st2067-2:2013. Photon offers tools for parsing, interpreting and validating constituent files that make an Interoperable Master Package (IMP). These include AssetMap (st429-9:2014), PackingList (st429-8:2007), Composition Playlist (st2067-3:2013), and the essence containing IMF track file (st2067-5:2013) which follows the Material eXchange Format (MXF) format (st377-1:2011). Specifically, Photon parses and completely reads an MXF file containing a single audio or video essence as defined by the IMF Essence Component specification (st2067-5:2013) and serializes the metadata into the IMF Composition Playlist structure.

The goal of the Photon is to provide a simple standardized interface to completely validate an IMP.

JDK requirements

Photon can only be built using JDK-8.

Build

Photon can be built very easily by using the included gradle wrapper. Simply invoke the following commands inside the folder containing the sources:

$ ./gradlew clean $ ./gradlew build $ ./gradlew getDependencies

For Windows please invoke the following $ gradlew.bat clean $ gradlew.bat build $ gradlew.bat getDependencies

Sample Command Line Usage

Having obtained the dependencies using the getDependencies task as illustrated in the Build section of this Wiki, you can run an application as follows:

java -cp ./build/libs/*: <fully qualified class name> <zero or more arguments>

E.g.,

java -cp ./build/libs/*: com.netflix.imflibrary.app.IMFTrackFileReader imf_track_file_path working_directory_path
java -cp ./build/libs/*: com.netflix.imflibrary.st0429_9.AssetMap asset_map_file_path
java -cp ./build/libs/*: com.netflix.imflibrary.st0429_8.PackingList packing_list_file_path
java -cp ./build/libs/*: com.netflix.imflibrary.st2067_2.Composition composition_playlist_file_path
java -cp ./build/libs/*: com.netflix.imflibrary.app.IMPAnalyzer IMP_folder_path

For Windows please run the following from within the directory containing the build

java -cp build\libs\*; <fully qualified class name> <zero or more arguments>

E.g.,

java -cp build\libs\*; com.netflix.imflibrary.app.IMFTrackFileReader imf_track_file_path working_directory_path
java -cp build\libs\*; com.netflix.imflibrary.st0429_9.AssetMap asset_map_file_path
java -cp build\libs\*; com.netflix.imflibrary.st0429_8.PackingList packing_list_file_path
java -cp build\libs\*; com.netflix.imflibrary.st2067_2.Composition composition_playlist_file_path
java -cp build\libs\*; com.netflix.imflibrary.app.IMPAnalyzer IMP_folder_path
## JavaDocs
- [Javadoc](http://netflix.github.io/photon/)
Clone this wiki locally