Are you happy with your logging solution? Would you help us out by taking a 30-second survey? Click here

photon

Photon is a Java implementation of the Interoperable Master Format (IMF) standard. IMF is a SMPTE standard whose core constraints are defined in the specification st2067-2:2013

Subscribe to updates I use photon


Statistics on photon

Number of watchers on Github 100
Number of open issues 10
Average time to close an issue about 10 hours
Main language Java
Average time to merge a PR about 14 hours
Open pull requests 3+
Closed pull requests 13+
Last commit over 1 year ago
Repo Created over 3 years ago
Repo Last Updated over 1 year ago
Size 78.7 MB
Organization / Authornetflix
Latest Release4.5.10
Contributors7
Page Updated
Do you use photon? Leave a review!
View open issues (10)
View photon activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating photon for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

Photon

Photon is a Java implementation of the Interoperable Master Format (IMF) standard. IMF is a SMPTE standard whose core constraints are 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.

Build

JDK requirements

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

Gradle

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

For Windows $ gradlew.bat clean $ gradlew.bat build

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 are available at 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 all dependencies, you just have to run:

$ ./gradlew getDependencies

It will download all dependencies into ./build/libs directory, where Photon.*.jar is built. Multiple sample applications have been provided with this project (e.g., com.netflix.imflibrary.app.IMFTrackFileReader). Having obtained the dependencies, 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.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 refer to the following examples

To download all dependencies, you just have to run:

$ gradlew.bat getDependencies

It will download all dependencies into build\libs directory, where Photon.*.jar is built. Multiple sample applications have been provided with this project (e.g., com.netflix.imflibrary.app.IMFTrackFileReader). Having obtained the dependencies, 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.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
photon open issues Ask a question     (View All Issues)
  • almost 3 years Enable Docker cloud to have an auto-build
  • almost 3 years Validating IMF packages with subtitle tracks
  • almost 3 years Interlaced MXF
  • about 3 years Stating Photon as a web service
photon open pull requests (View All Pulls)
  • Feature/composition playlist canonical model
  • Add Dockerfile to provide PhotonIMPAnalyzer application
  • Generate JSON report
photon questions on Stackoverflow (View All Questions)
  • Deciding between Spark Photon and Raspberry Pi Zero
  • When to use Photon Networking master client?
  • segmentation fault in c++ (photon mapping)
  • Unity Photon room.SetCustomProperties Not Working
  • Particle Photon micro-controller UDP WiFi connection to custom Android App
  • Unity and Photon Networking - Wait for other players
  • Photon Unity Networking (PUN) trying to keep track of players on each team
  • Photon Unity GetRoomList() is always empty
  • JSON Formatting from Particle Photon Webhook to Azure
  • Photon Serever. Exception: CManagedHost::StartApplication() PhotonHostRuntimeInterfaces
  • Unity3D On Photon Serialize view
  • how to code on server side in photon in unity
  • Echo on Photon Voice. Even on demo
  • Particle photon Light is turning Red
  • Particle photon johnny-five particle-io interfacing
  • Send the read particle photon data to aws ec2 without a webhook
  • Photon Client SDK and WebGL not working with multi-threading
  • VR, does the "motion to photon" latency changes with speed of rotation of the headset?
  • uploading firmware to particle io's photon
  • Copy object data between clients using Photon Unity Networking
  • Unity3d and Photon cannot connect to Master Server
  • Unity 5 & Photon - Ray Cast hit going straight through player
  • Cannot start gvim with photon-gui (can't find a valid font)
  • Calling Meteor Method from within Particle Photon Stream of Promises produces error: Error("Meteor code must always run within a Fiber. "
  • How to get data from Photon eventContent dictionary
  • photon unity foreach loop
  • Pun (Photon) Unity 5 Player list Returning only local
  • Photon for unity standalone sync
  • Unity3d WEB GL build with photon network
  • How to ensure RPC was sent successfully in Photon Unity?
photon list of languages used
photon latest release notes
4.5.10 Patch release

Fixes:

  • Ignore PHDRMetadataTrackSubDescriptor in EssenceDescriptor conformance
  • Fix header partition timeline track duration calculation when multiple timeline tracks are present in a single track file
4.5.9 Patch release

Fix equivalent check for TrackFileResource

4.5.8 Patch release

Additional optimizations in IMFCoreConstraintsChecker for a virtual track with large number of resources.

Other projects in Java