Skip to content
forked from Netflix/photon

Photon is an implementation of the SMPTE Material Exchange Format (MXF) file specification (st0377-1:2011)

License

Notifications You must be signed in to change notification settings

UIKit0/photon-2

 
 

Repository files navigation

Photon

Photon is an implementation of the Material Exchange Format (MXF) standard. MXF is a SMPTE standard defined in the specification SMPTE st0377-1:2011. Photon parses and completely reads an MXF file containing a single audio or video essence as defined by the IMF Essence Component (SMPTE st2067-5:2013) and serializes the metadata into an IMF Composition Playlist (SMPTE st2067-3:2013).

The goal of the Photon is to provide a simple standardized interface to completely interpret an MXF essence.

Build

Photon can be built very easily by using the included Gradle wrapper. Having downloaded the sources, simply invoke the following commands inside the folder containing the sources:

$ ./gradlew clean $ ./gradlew build

JDK requirements

Photon can be built using JDK-8. Support for earlier jdk versions has not been tested and/or verified.

Full Documentation

Binaries

Binaries and dependency information for Maven, Ivy, Gradle and others can be found at http://search.maven.org.

Change history and version numbers => CHANGELOG.md

Example for Maven:

<dependency>
    <groupId>com.netflix.photon</groupId>
    <artifactId>Photon</artifactId>
    <version>0.1.1</version>
</dependency>

and for Ivy:

<dependency org="com.netflix.photon" name="Photon" rev="0.1.1" />

If you need to download the jars instead of using a build system, create a Maven pom file like the following with the desired version:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.netflix.photon.download</groupId>
  <artifactId>photon-download</artifactId>
  <version>1.0-snapshot</version>
  <name>Simple POM to download Photon and dependencies</name>
  <url>https://github.com/Netflix/photon</url>
  <dependencies>
    <dependency>
      <groupId>com.netflix.photon</groupId>
      <artifactId>Photon</artifactId>
      <version>0.1.1</version>
      <scope>runtime</scope>
    </dependency>
  </dependencies>
</project>

Then execute:

mvn -f photon-download.pom.xml dependency:copy-dependencies

It will download Photon-*.jar and its dependencies into ./target/dependency/.

Two sample applications have been provided with this project. You can run them as follows:

java -cp target/dependency/*: com.netflix.imflibrary.app.IMFEssenceComponentReader <inputFile> <workingDirectory>

About

Photon is an implementation of the SMPTE Material Exchange Format (MXF) file specification (st0377-1:2011)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 99.8%
  • Shell 0.2%