Giter VIP home page Giter VIP logo

dovi_meta's Introduction

dovi_meta

CI Artifacts Github all releases

dovi_meta is a CLI tool for creating Dolby Vision XML metadata from an encoded deliverable with binary metadata.

Building

Toolchain

The minimum Rust version to build dovi_meta is 1.79.0.

Release binary

To build release binary in target/release/dovi_meta run:

cargo build --release

Usage

dovi_meta [OPTIONS] <SUBCOMMAND>

To get more detailed options for a subcommand

dovi_meta <SUBCOMMAND> --help

All options

  • --help, --version

All subcommands

Currently, the available subcommand is convert and edl.

More information and detailed examples for the subcommands below.

  • convert

    Convert a binary RPU to XML Metadata (DolbyLabsMDF).

    • Currently, it should support RPU with any Dolby Vision profile using PQ as EOTF.
    • Supported XML Version: CM v2.9 (v2.0.5), CM v4.0 (v4.0.2 and v5.1.0)
      • The output version is determined by input automatically.

    Arguments

    • INPUT Set the input RPU file to use
      • No limitation for RPU file extension.
    • OUTPUT Set the output XML file location
      • When OUTPUT is not set, the output file is metadata.xml at current path.

    Options

    • -s, --size Set the canvas size. Use x as delimiter
      • Default value is 3840x2160
    • -r, --rate Set the frame rate. Format: integer NUM or NUM/DENOM
      • Default value is 24000/1001
    • -t, --skip Set the number of frames to be skipped from start
      • Default value is 0
    • -n, --count Set the number of frames to be parsed explicitly

    Flags

    • -6, --use-level6 Use MaxCLL and MaxFALL from RPU, if possible
      • It's not a default behavior, as ST.2086 metadata is not required for a Dolby Vision deliverable.
    • -d, --drop-per-frame Drop per-frame metadata in shots
    • -k, --keep-offset Keep the offset of frames when --skip is set

    Example to get metadata for RPU from a 29.97 fps HD video, dropping first 24 frames:

    dovi_meta convert RPU.bin metadata.xml --skip 24 --rate 30000/1001 --size 1920x1080

    The default color encoding is BT.2020 PQ 16-bit RGB Full Range.

    The default color space of mastering display and target displays (except the anchor target) is P3 D65 for CM v2.9 XML, also for CM v4.0 XML when it can't be determined by input.

  • edl

    Convert a binary RPU to EDL (Edit Decision List).

    • Currently, the per-frame metadata in RPU is not parsed to transition.

    Arguments

    • INPUT Set the input RPU file to use
      • No limitation for RPU file extension.
    • OUTPUT Set the output XML file location
      • When OUTPUT is not set, the output file is metadata.edl at current path.
    • CLIP_NAME Set the clip name in EDL
      • If there are too many cuts to be saved in a single file, multiple files will be saved with a suffix added to the file name.

    Options

    • -r, --rate Set the frame rate. Format: integer NUM or NUM/DENOM
      • Default value is 24000/1001
    • -s, --start-timecode Set the starting timecode in timeline. Format: HH:MM:SS:FF or integer FRAMES offset
      • Default value is 01:00:00:00
    • -t, --skip Set the number of frames to be skipped from start
      • Default value is 0
    • -n, --count Set the number of frames to be parsed explicitly

    Flags

    • -f, --force Force output even if per-frame RPU is detected

Notes

The current build only support RPU as input. To extract RPU from an HEVC file, see dovi_tool for more info.

Build artifacts can be found in the GitHub Actions.
More features may or may not be added in the future. Please report an issue if you have any question.

dovi_meta's People

Contributors

saindriches avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

dovi_meta's Issues

can't build dovi_meta on macOS

Hello there,

I'm having some difficulties to build dovi_meta on macOS.

error: failed to run custom build command for dovi_meta v0.1.0 (/Users/rt/dovi_meta-master)

Caused by:
process didn't exit successfully: /Users/rt/dovi_meta-master/debug/build/dovi_meta-017700cb314f61ba/build-script-build (exit status: 101)
--- stderr
thread 'main' panicked at 'called Result::unwrap() on an Err value: could not find repository from '/Users/rt/dovi_meta-master'; class=Repository (6); code=NotFound (-3)', build.rs:10:20
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...

Any ideas?

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.