|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- # Running JVCL
-
- ## The `jvcl` Script
- The `bin/jvcl` script is the primary way to transform video assets with JVCL.
-
- ## Operation-specific scripts
- There are other scripts in `bin` that perform a single operation using
- command-line arguments. If you need to do a quick operation and don't want to write
- a JVCL spec, use one of these tools.
-
- For example, to extract the first 5 seconds of a video:
- ```shell script
- jtrim /tmp/input-file.mp4 /tmp/output-5s.mp4 0 5
- ```
-
- All commands accept a `-h` / `--help` option, use this to print usage information:
- ```shell script
- jscale -h
- ```
-
- ## JVCL Spec Files
- A JVCL spec is just a regular JSON file that happens to contain a single JSON object,
- whose properties are `assets` and `operations`.
-
- When you run `jvcl` on a spec file, it will load the `assets`, then perform the `operations` in order.
-
- Learn more about [Assets and Operations](concepts.md)
-
- Unlike most JSON, comments *are* allowed in JVCL spec files:
- * A line comment starts with `//` and continue to the end of the line
- * A multi-line block syntax starts with `/*` and ends with `*/`
-
- ## Writing a JVCL Spec
- The easiest way to write a spec is to copy one of the
- [test specs](../src/test/resources/tests) and edit it.
-
- There examples for every JVCL operation.
-
- ## Executing a JVCL Spec
- To execute a spec stored in the file `my-spec.json`, you would run:
- ```shell script
- jvcl my-spec.jvcl
- ```
- or use stdin:
- ```shell script
- cat my-spec.jvcl | jvcl
- ```
-
- #### Scratch Directory
- Output assets will be placed in the scratch directory, unless otherwise specified
- in the spec file. By default, JVCL will create a new temporary directory to use as the scratch
- directory. You can set the scratch directory explicitly using the `-t` or `--temp-dir` option:
- ```shell script
- jvcl -t /some/tempdir my-spec.json
- ```
-
- #### Dry Run
- Use the `-n` or `--no-exec` option to print out the commands that would have been run,
- but do not actually run anything.
- ```shell script
- jvcl -n my-spec.json # will not run any ffmpeg commands
- ```
- Note that this breaks JVCL operations that require information from any assets created by
- previous operations: since the command did not actually run, the intermediate asset was
- never created.
-
- #### Help
- To view a list of all `jvcl` command-line options, run `jvcl -h` or `jvcl --help`
-
- # What's Next?
- Learn about [Assets and Operations](concepts.md), the core concepts of JVCL.
|