Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

License

NotificationsYou must be signed in to change notification settings

Netflix/photon

Repository files navigation

Photon is a Java implementation of theInteroperable Master Format (IMF) standard. Photon offers tools for parsing, interpreting and validating constituent files that make an Interoperable Master Package (IMP). These include:

  • AssetMap (ST 429-9)
  • PackingList (ST 429-8)
  • Composition Playlist (ST 2067-3)
  • IMF Track Files (ST 2067-5)

Photon parses and reads IMF track files and serializes the metadata into the IMF Composition Playlist structure. Currently, Photon provides support for

  • IMF Application #2E (ST 2067-21)
  • Application #5 ACES (ST 2067-50)
  • Immersive Audio Bitstream (IAB) Level 0 Plug-in (ST 2067-201).
  • Isochronous Stream of XML Documents (ISXD) Plug-in (ST 2067-202).
  • Audio with Frame-based S-ADM Metadata Plug-in (ST 2067-203).

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-11.

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:

Linux/macOS:

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

Windows:

$ gradlew.bat clean$ gradlew.bat build$ gradlew.bat getDependencies

Note

getDependencies downloads all dependencies into the./build/libs directory.

Binaries

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

Change history and version numbers are available atCHANGELOG.md.

Example for Maven:

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

and for Ivy:

<dependencyorg="com.netflix.photon"name="Photon"rev="5.0.0" />

Documentation

Sample Applications

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:

Linux/macOS:

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

Example:

// Analyze an IMF Delivery locallyjava -cp "./build/libs/*:" com.netflix.imflibrary.app.IMPAnalyzer local_folder_path// Analyze an IMF Delivery in a S3 bucketjava -cp "./build/libs/*:" com.netflix.imflibrary.app.IMPAnalyzer s3://path/to/IMFDelivery/// Analyze an individual IMF asset (e.g. AssetMap, PKL, CPL, MXF Track File)java -cp "./build/libs/*:" com.netflix.imflibrary.app.IMPAnalyzer local_file_path

Windows:

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

Example:

// Analyze an IMF Delivery locallyjava -cp build\libs\*; com.netflix.imflibrary.app.IMPAnalyzer IMP_folder_path

S3 Access

Photon supports S3 URIs throughaws-java-nio-spi-for-s3. No Photon-specific setup is needed, instead the S3 CLI config and credentials are used directly (seehere for instructions).

Example (Linux/macOS):

// Analyze an IMF Delivery in a S3 bucketjava -cp "./build/libs/*:" com.netflix.imflibrary.app.IMPAnalyzer s3://imf-plugfest-imf-plugfest/plugfest_2024_11/source_test_vectors/From_Colorfront/HTJ2K/plugest_FTR_C_EN-XX_US-NR_51_UHD_20241105_OV/

API and Developer Documentation

API documentation is available viaJavadoc.

More information is available in theWiki.

About

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

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors27

Languages


[8]ページ先頭

©2009-2026 Movatter.jp